Dimensione: 9959
Commento:
|
Dimensione: 9980
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 19: | Linea 19: |
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 da valutare solo se la reinstallazione rappresenta un'opzione troppo difficoltosa o impossibile.}}} | 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.}}} |
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.