Dimensione: 7594
Commento:
|
Dimensione: 9980
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 11: | Linea 11: |
'''Btrfs-convert''' è uno strumento per convertire il formato di un [[AmministrazioneSistema/Filesystem|filesystem]] al filesystem [[AmministrazioneSistema/Filesystem/Btrfs|btrfs]], utile per modificare a posteriori il tipo scelto per una [[Hardware/DispositiviPartizioni/Partizioni|partizione]]. | '''btrfs-convert''' è uno strumento che consente di convertire partizioni formattate in '''ext2''', '''ext3''', '''ext4''' o '''reiserfs''' nel file system [[AmministrazioneSistema/Filesystem/Btrfs|btrfs]]. L'operazione può richiedere molto tempo, circa 1 minuto per GB. |
Linea 13: | Linea 13: |
Sono convertibili i filesystem '''ext2''', '''ext3''', '''ext4''' e '''reiserfs'''. Per convertire tra filesystem semplici leggere questa [[AmministrazioneSistema/ConvertireFileSystem|pagina]]. |
Questa guida spiega come utilizzare '''btrfs-convert''' per convertire in '''btrfs''' la partizione di root di '''Ubuntu''', considerando un sistema installato in unica partizione (eccetto l'eventuale partizione EFI per i sistemi [[AmministrazioneSistema/Uefi|UEFI]]). Vengono inoltre illustrate tutte le operazioni successive necessarie per rendere il sistema avviabile, efficiente e performante. |
Linea 18: | Linea 16: |
Questa procedura necessita di essere eseguita o da un sistema avviato in [[Installazione/UbuntuLiveUsb|live]], oppure da un sistema installato su un secondo disco. }}} |
Tutte le operazioni devono essere svolte in una sessione [[Installazione/CreazioneLiveUsb/CreatoreDischiDiAvvio|Live]]. La partizione da convertire deve avere almeno il 10% di spazio disponibile. Una volta completata la procedura non sarà possibile tornare al file system precedente, a meno di non reinstallare il sistema.}}} {{{#!wiki note Di norma è preferibile eseguire un [[AmministrazioneSistema/BackupDelSistema|backup]] dei dati e [[Installazione/InstallareUbuntu|reinstallare]] '''Ubuntu''' scegliendo la voce '''[[Installazione/InstallareUbuntu#manu|Altro]]''' nella schermata '''[[Installazione/InstallareUbuntu#Tipo_di_installazione|Tipo di installazione]]''' e specificando '''file system btrfs con journaling''' per la partizione di root. La conversione del file system è una soluzione non esente da rischi da valutare solo se la reinstallazione rappresenta un'opzione troppo difficoltosa o impossibile.}}} |
Linea 22: | Linea 22: |
Operando sulle partizioni si corre il rischio, in caso di errore, di perdere i dati presenti sul disco rigido. __È fortemente raccomandato__ di munirsi di una copia di [[AmministrazioneSistema/BackupDelSistema|backup]] dei propri dati prima di proseguire. }}} {{{#!wiki note Il processo di conversione richiederà almeno un minuto per ogni GB della partizione da convertire (per esempio una partizione di 10 GB richiederà almeno 10 minuti per essere convertita). }}} {{{#!wiki note È importante che la partizione che si desidera formattare abbia uno spazio libero residuo di almeno il 10%. |
Operare sulle partizioni espone al rischio di perdere i dati, in conseguenza di eventuali errori o malfunzionamenti. Pertanto __è fortemente raccomandato__ effettuare un [[AmministrazioneSistema/BackupDelSistema|backup]] dei propri dati prima di procedere. |
Linea 38: | Linea 30: |
<<Anchor(btrfsprogs)>> | |
Linea 51: | Linea 43: |
Linea 55: | Linea 48: |
Nel seguente esempio viene convertita nel filesystem '''btrfs''' la partizione '''/dev/sda3''' con filesystem '''ext4'''. | Nel seguente esempio viene convertita nel file system '''btrfs''' la partizione '''/dev/sda3''' con file system '''ext4'''. |
Linea 67: | Linea 60: |
0. Smontare la partizione da convertire:{{{ sudo umount -t ext4 /dev/sda3 }}} 0. Verificare il filesystem da convertire:{{{ |
0. Verificare il file system da convertire:{{{ |
Linea 76: | Linea 66: |
0. Convertire il filesystem:{{{ btrfs-convert /dev/sda3 |
0. Convertire il file system:{{{ sudo btrfs-convert /dev/sda3 |
Linea 86: | Linea 76: |
{{{#!wiki important Eliminando lo snapshot '''ext2_saved''', non si potrà più ripristinare la partizione ext4. }}} 0. Eliminare il volume '''ext2_saved''' per liberare spazio{{{ sudo btrfs subvolume delete /mnt/ext2_saved }}} |
|
Linea 99: | Linea 96: |
0. Verificare che tutte le cartelle siano al loro posto:{{{ ls /mnt |
{{{#!wiki note È fortemente consigliato deframmentare i volumi e bilanciare il file system. Il nuovo file system eredita il posizionamento dei blocchi e la frammentazione dei dati dei file. Per questo motivo si consiglia vivamente di eseguire una deframmentazione completa e un ribilanciamento completo prima dell'uso in "produzione". Non è necessario per il funzionamento generale, ma influirà sulle prestazioni. Questa procedura eliminerà la possibilità di ripristinare il file system precedente. |
Linea 102: | Linea 100: |
{{{#!wiki note Attenzione, eliminando lo snapshot '''ext2_save''', non si potrà più ripristinare la partizione ext4. |
0. Prima di procedere al defrag e bilanciamento, controllare che il volume '''ext2_saved''' sia del tutto rimosso:{{{ sudo btrfs subvolume list -d /mnt/ |
Linea 105: | Linea 103: |
0. Eliminare il volume '''ext2_save''' per liberare spazio{{{ sudo btrfs subvolume delete /mnt/ext2_save |
{{{#!wiki note Se è in fase di eliminazione, si vedrà a schermo un risultato simile '''ID 1020 gen 4140456 top level 0 path DELETED''', se è stato rimosso non restituirà nessun risultato, quindi si può procedere. |
Linea 108: | Linea 106: |
0. Solo se si usa la compressione, digitare i seguenti comandi: * Deframmentare il volume radice:{{{ sudo btrfs filesystem defragment -r -v -f -czstd /mnt/@ |
0. Procedura per deframmentare senza comprimere i dati: * Deframmentare il subvolume '''@''':{{{ sudo btrfs filesystem defragment -rf /mnt/@ |
Linea 113: | Linea 110: |
* Deframmentare il volume '''home''':{{{ sudo btrfs filesystem defragment -r -v -f -czstd /mnt/@home |
* Deframmentare il volume '''@home''':{{{ sudo btrfs filesystem defragment -rf /mnt/@home |
Linea 116: | Linea 113: |
* Bilanciare i due volumi:{{{ sudo btrfs balance start -m /mnt/ |
0. Procedura per deframmentare e comprimere i dati con l'algoritmo '''zstd''' livello '''3''': * Deframmentare il volume '''@''':{{{ sudo btrfs filesystem defragment -rf -czstd /mnt/@ |
Linea 119: | Linea 117: |
0. Opzionalmente rimuovere le cartelle originali:{{{ | * Deframmentare il volume '''@home''':{{{ sudo btrfs filesystem defragment -rf -czstd /mnt/@home }}} 0. Bilanciare il file system:{{{ sudo btrfs balance start /mnt/ }}} {{{#!wiki note Aspettiamo il Timer di 10 secondi con un avviso di un '''full-balance''' che potrebbe richiedere molto tempo, in base alla dimensione del file system. }}} 0. Opzionalmente rimuovere le cartelle originali (QUESTO é ROTTO E DA SISTEMARE O EVITARE):{{{ |
Linea 121: | Linea 128: |
}}} 0. Terminato il bilanciamento, possiamo smontare la partizione:{{{ sudo umount /mnt/ |
|
Linea 127: | Linea 137: |
sudo mount -t btrfs /dev/sda3 /mnt | sudo mount -t btrfs -o subvol=@ /dev/sda3 /mnt |
Linea 131: | Linea 141: |
}}} 0. Montare la partizione EFI ('''Solo su BIOS UEFI'''):{{{ sudo mount /dev/sdaN /mnt/boot/efi |
|
Linea 146: | Linea 159: |
UUID=NUOVO_UUID btrfs / noatime,autodefrag,subvol=@ 0 0 | UUID=NUOVO_UUID btrfs / noatime,autodefrag,subvol=@ |
Linea 150: | Linea 163: |
UUID=NUOVO_UUID btrfs / noatime,compress=zstd:1,autodefrag,subvol=@ 0 0 | UUID=NUOVO_UUID btrfs / noatime,compress=zstd:1,autodefrag,subvol=@ |
Linea 153: | Linea 166: |
{{{#!wiki note Se presente eliminare la riga dello swapfile, su Btrfs deve essere creato su un subvolume separato e con l'attributo '''nocow''' }}} |
|
Linea 158: | Linea 176: |
0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://btrfs-progs|btrfs-progs]]. | 0. In '''Ubuntu 20.04 e successive''' [[AmministrazioneSistema/InstallareProgrammi|Installare]] direttamente il pacchetto [[apt://btrfs-progs|btrfs-progs]], in '''Ubuntu 18.04''' seguire le procedure di [[#btrfsprogs|questo paragrafo]] per installare il pacchetto `btrfs-progs`. |
Linea 177: | Linea 195: |
* [[https://help.ubuntu.com/community/btrfs|Informazioni suol filesystem btrfs sull'aiuto di Ubuntu]] | * [[https://help.ubuntu.com/community/btrfs|Informazioni sul file system btrfs sull'aiuto di Ubuntu]] |
Guida verificata con Ubuntu: 20.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
btrfs-convert è uno strumento che consente di convertire partizioni formattate in ext2, ext3, ext4 o reiserfs nel file system btrfs. L'operazione può richiedere molto tempo, circa 1 minuto per GB.
Questa guida spiega come utilizzare btrfs-convert per convertire in btrfs la partizione di root di Ubuntu, considerando un sistema installato in unica partizione (eccetto l'eventuale partizione EFI per i sistemi UEFI). Vengono inoltre illustrate tutte le operazioni successive necessarie per rendere il sistema avviabile, efficiente e performante.
Tutte le operazioni devono essere svolte in una sessione Live. La partizione da convertire deve avere almeno il 10% di spazio disponibile. Una volta completata la procedura non sarà possibile tornare al file system precedente, a meno di non reinstallare il sistema.
Di norma è preferibile eseguire un backup dei dati e reinstallare Ubuntu scegliendo la voce Altro nella schermata Tipo di installazione e specificando file system btrfs con journaling per la partizione di root. La conversione del file system è una soluzione non esente da rischi da valutare solo se la reinstallazione rappresenta un'opzione troppo difficoltosa o impossibile.
Operare sulle partizioni espone al rischio di perdere i dati, in conseguenza di eventuali errori o malfunzionamenti. Pertanto è fortemente raccomandato effettuare un backup dei propri dati prima di procedere.
Installazione
Ubuntu 20.04 e successive
Installare il pacchetto btrfs-progs.
Ubuntu 18.04
Il pacchetto btrfs-prosg presente nei repository di Ubuntu 18.04 è una versione obsoleta priva del programma btrfs-convert, necessario per eseguire la conversione, nonché di alcune funzioni e dalle prestazioni talora carenti.
Pertanto occorre scaricare e installare la versione del pacchetto presente nel repository per il rilascio 20.04, ora distribuito sotto forma di suite con più pacchetti.
Scaricare da questo indirizzo i seguenti pacchetti in formato di file .deb:
btrfs-progs_5.4.1-2_amd64.deb libbtrfs0_5.4.1-2_amd64.deb libbtrfsutil1_5.4.1-2_amd64.deb
Installare i pacchetti scaricati.
Uso del programma
Operazioni preliminari
Nel seguente esempio viene convertita nel file system btrfs la partizione /dev/sda3 con file system ext4.
Individuare la partizione da convertire digitando nel terminale il seguente comando:
sudo blkid
che restituirà un output simile al seguente:
/dev/sda1: UUID="CA49-3B2C" TYPE="vfat" /dev/sda2: UUID="72C0DE8EC0DE57C5" LABEL="windows" TYPE="ntfs" /dev/sda3: UUID="f6e9afa7-5b2f-2c3d-af00-aff1122b6fd6" TYPE="ext4" /dev/sda4: UUID="8c4e69f8-5074-42c0-8134-0b2429c4c02c" TYPE="swap" /dev/sdb1: UUID="4848-E35A" TYPE="vfat"
Verificare il file system da convertire:
sudo fsck.ext4 /dev/sda3
Conversione
Convertire il file system:
sudo btrfs-convert /dev/sda3
- Montare la partizione convertita, con uno dei seguenti comandi:
Mount con le opzioni di default, senza compressione:
sudo mount -t btrfs /dev/sda3 /mnt
Mount abilitando la compressione (consigliato):
sudo mount -t btrfs -o compress=zstd:1 /dev/sda3 /mnt
Eliminando lo snapshot ext2_saved, non si potrà più ripristinare la partizione ext4.
Eliminare il volume ext2_saved per liberare spazio
sudo btrfs subvolume delete /mnt/ext2_saved
- Questa procedura ti da la possibilità di dividere i volumi root e home, per sfruttare le funzionalità di Btrfs, ad esempio gli snapshot.
Creare lo snapshot della partizione Btrfs e rinominarlo in @:
sudo btrfs subvolume snapshot /mnt/ /mnt/@
Creare il subvolume della cartella /home:
sudo btrfs subvolume create /mnt/@home
Spostare i dati della vecchia Home nel subvolume @home:
sudo mv /mnt/@/home/* /mnt/@home/
- È fortemente consigliato deframmentare i volumi e bilanciare il file system. Il nuovo file system eredita il posizionamento dei blocchi e la frammentazione dei dati dei file. Per questo motivo si consiglia vivamente di eseguire una deframmentazione completa e un ribilanciamento completo prima dell'uso in "produzione". Non è necessario per il funzionamento generale, ma influirà sulle prestazioni. Questa procedura eliminerà la possibilità di ripristinare il file system precedente.
Prima di procedere al defrag e bilanciamento, controllare che il volume ext2_saved sia del tutto rimosso:
sudo btrfs subvolume list -d /mnt/
Se è in fase di eliminazione, si vedrà a schermo un risultato simile ID 1020 gen 4140456 top level 0 path DELETED, se è stato rimosso non restituirà nessun risultato, quindi si può procedere.
- Procedura per deframmentare senza comprimere i dati:
Deframmentare il subvolume @:
sudo btrfs filesystem defragment -rf /mnt/@
Deframmentare il volume @home:
sudo btrfs filesystem defragment -rf /mnt/@home
Procedura per deframmentare e comprimere i dati con l'algoritmo zstd livello 3:
Deframmentare il volume @:
sudo btrfs filesystem defragment -rf -czstd /mnt/@
Deframmentare il volume @home:
sudo btrfs filesystem defragment -rf -czstd /mnt/@home
Bilanciare il file system:
sudo btrfs balance start /mnt/
Aspettiamo il Timer di 10 secondi con un avviso di un full-balance che potrebbe richiedere molto tempo, in base alla dimensione del file system.
Opzionalmente rimuovere le cartelle originali (QUESTO é ROTTO E DA SISTEMARE O EVITARE):
find /mnt -maxdepth 1 -type d -not -path '*/@*' -not -name "." -execdir sudo rm -r "{}" \;
Terminato il bilanciamento, possiamo smontare la partizione:
sudo umount /mnt/
Accesso al sistema con Chroot
Eseguire un Chroot alla radice della partizione convertita, con uno dei seguenti comandi:
Senza compressione:
sudo mount -t btrfs -o subvol=@ /dev/sda3 /mnt
Con compressione (consigliato):
sudo mount -t btrfs -o compress=zstd:1,subvol=@ /dev/sda3 /mnt
Montare la partizione EFI (Solo su BIOS UEFI):
sudo mount /dev/sdaN /mnt/boot/efi
Montare le cartelle dev, proc, sys, run:
for i in dev proc sys run; do sudo mount --bind /$i /mnt/$i; done
Effettuare il chroot sul sistema:
sudo chroot /mnt
Annotare il nuovo UUID delle cartelle @ e @home della partizione, visibile con il seguente comando:
sudo blkid /dev/sda3
Aprire con i privilegi di amministrazione e un editor di testo (si consiglia nano) il file /etc/fstab e commentare con un «#» la linea:
UUID=f6e9afa7-5b2f-2c3d-af00-aff1122b6fd6 / ext4 errors=remount-ro 0 1
- Incollare nel file le seguenti linee, scrivendo il nuovo UUID annottato in precedenza, a seconda dei casi con:
Senza compressione:
UUID=NUOVO_UUID btrfs / noatime,autodefrag,subvol=@ UUID=NUOVO_UUID btrfs /home noatime,autodefrag,subvol=@home
Con compressione (consigliato):
UUID=NUOVO_UUID btrfs / noatime,compress=zstd:1,autodefrag,subvol=@ UUID=NUOVO_UUID btrfs /home noatime,compress=zstd:1,autodefrag,subvol=@home
Se presente eliminare la riga dello swapfile, su Btrfs deve essere creato su un subvolume separato e con l'attributo nocow
Reinstallare e aggiornare il bootloader Grub con i comandi:
grub-install /dev/sda
update-grub2
In Ubuntu 20.04 e successive Installare direttamente il pacchetto btrfs-progs, in Ubuntu 18.04 seguire le procedure di questo paragrafo per installare il pacchetto btrfs-progs.
Uscire dal Chroot:
exit
Smontare tutte le cartelle:
cd ~ for i in /dev /proc /sys /run /; do sudo umount -l /mnt$i; done
Smontare la partizione convertita:
sudo umount -t btrfs -o subvol=@ /dev/sda3 /mnt
Al termine riavviare il sistema.