Convertire un installazione Btrfs in Ext4

La nuova distribuzione Ubuntu, la Maverick Meerkat, offre la possibilità di formattare il disco con il nuovo filesystem btrfs, così per provarlo visto che ancora ancora non è stable.

Sfortunatamente a scapito delle mie aspettative questo filesystem è molto lento infatti facendo un po di test su un disco sata2 la velocità massima di lettura/scrittura è di 30MB/s circa su file di grosse dimensioni, mentre su file piccoli la velocità è ancora inferiore, tra i 15 e i 20 MB/s, contro i 70MB/s dello stesso disco formattato in Ext4.

La decisione di tornare ad Ext4 non è stata così dura da prendere, anche se ho temporeggiato un po’ prima di formattare visto che il pc in questione è il mio pc di lavoro. (si lo so non si fa mai test su un’installazione buona … ma questa volta posso dare un po di colpa a chi mi ha suggerito di provare il btrfs)

Il problema più grande era che non avevo molto tempo per backuppare, formattare, reinstallare, ripristinare i file e tutti i software, allora dopo un po di scervellamenti (io e chi mi aveva consigliato il btrfs) siamo giunti ad una conclusione che poteva funzionare, però prima di tentare ho comunque preferito fare un’immagine del disco, vediamo come …

Piccola premessa il disco primario è da 250Gb e il backup l’ho fatto su un altro disco da 500Gb.

Fase 1 Disaster Recovery Backup

avviato il pc con una live e aperto una shell

montanto il disco da 500Gb

creato l’immagine del disco con dd

il seguente comando crea l’immagine del disco sda e la comprime

sudo dd if=/dev/sda | gzip –fast > /media/disco500G/sda.gz

altrimenti per creare l’immagine non compressa (molto più rapido)

sudo dd if=dev/sda of=/media/disco500G/sda

Fase 2 Spostamento File,  Formattazione e Ripristino del Sistema

ora che abbiamo creato il backup passiamo alla vera e propria copia dei file di sistema con rsync

ho montato il disco primario e creato una directory di appoggio nel disco di backup

mkdir /media/disco500G/backup

e quindi la copia

sudo rsync -avz /media/disco250G /media/disco500G/backup

questo comando copierà tutta la struttura del disco da 250G in quello da 500G preservando i permessi dei file

una volta completata questa operazione ho formattato il disco in ext4 dopo averlo smontato

sudo mkfs.ext4 /dev/sda

rimontato il disco appena formattato e ricopiato tutti i file al suo interno sempre con rsync

sudo rsync -avz /media/disco500G/backup /media/250G

perfetto ora l’ultima modifica da fare è al file fstab per dire che il disco primario non è più btrfs bensì ext4

sudo vim /media/disco250G/etc/fstab

cercare la riga simile a questa

UUID=f8609ace-9618-4b98-b2fd-4b69bcf981cc /               btrfs errors=remount-ro 0       1

notare la / che indica che il disco viene montato in root e il fil sistrem btrfs, ora non ci resta che cambiare btrfs in

ext4 e salvare

non ci resta che riavviare il pc normalmente!

se la procedura non dovesse andare a buon fine possiamo sempre riavviare con la live e ricopiare l’immagine di backup fatta all’inizio sempre con dd

sudo dd if=/media/disco500G of=/dev/sda

se l’avevamo compressa il comando da usare sarà

sudo gzip -d | dd of=/dev/sda

nel mio caso la procedura è andata a buon fine e il sistema sembra non essersi minimamente accorto del cambio di filesystem!

Condividi:
  • Facebook
  • Twitter
  • Google Bookmarks
  • Digg
  • StumbleUpon
  • del.icio.us
  • Yahoo! Buzz
  • Print
  • email

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Connect with Facebook