|
Contact me sending an e-mail (antispam defense activated) |
Title: Convertire ext2 in ext3 (e viceversa)
Author: Sandro Tosi
Last modified: 2004-11-03 (2004-11-01) (2004-10-31) (2004-10-17)
ext2 e` il filesystem classico di Linux, utilizzato ovunque e per
molto tempo. Ultimamente sono arrivati nuovi filesystem, alcuni nuovi
altri derivati da Unix commerciali (JFS da OS/2 e AIX, IBM, e XFS da
Irix, SGI), con molte caratteristiche interessanti, in particolare
tutti hanno la funzionalita` di journaling.
Il journaling consente di mantenere traccia di tutte le operazioni
svolte sul filesystem, e quindi consente di mantenerlo coerente anche
in alcuni casi di emergenza.
Anche ext2 si e` ``rinnovato'' portando la versione 3, la ext3
appunto, che contiene anche le funzionalita` di journaling; essa
consente di poter ridurre il tempo di boot dopo un riavvio improvviso
in quanto non si e` piu` obbligati ad eseguire il controllo su tutto
il filesystem, operazione molto lenta e dipendente dalla dimensione
del filesystem e dal numero di file che contiene. Con ext3, invece,
il controllo di coerenza e` solo dipendente dalla dimensione del
``journal'' (il registro dove vengono indicate le operazione da
eseguire) che solitamente necessita di circa un secondo per essere
portato a termine, a seconda della velocita` dell'hardware.
ext3 viene spesso definito come un ext2 con un file in piu`,
``.journal''; in effetti e` proprio cosi`, e questa somiglianza puo` a
volte tornare comoda.
Vediamo dapprima come come convertire una partizione con ext2 in una
con ext3:
1. si deve compilare il supporto ad ext3 nel kernel (se intendiamo
convertire /) o almeno come modulo (se intendiamo convertire un
altro filesystem), altrimenti non potremmo montare il nuovo fs,
poi
2. # tune2fs -j <device>
ovviamente a filesystem NON montato (non e` proprio necessario, ma
e` comunque vivamente consigliabile).
3. Dopo questo, deve essere modificato anche il file /etc/fstab
indicando ext3 al posto di ext2.
Quanto fatto ha portato alla creazione del file .journal nella root
del device: infatti montando il filesystem come ext2, si potra` vedere
proprio questo file che e` nascosto quando invece lo si monta come
ext3.
Non si creda che l'aver introdotto il journaling risolva tutti i
problemi di un filesystem: consente di mantenere la coerenza del
filesystem nel caso salti la luce, ma le inconsistenze accadono per
svariate ragioni, ed e` quindi consigliabile eseguire il check
periodico del filesystem.
Per avere molte informazioni utili su un filesystem ext3 (man anche
ext2) possiamo usare il comando
# tune2fs -l <device>
e sempre lo stesso comando per impostare molti parametri (# man
tune2fs).
Fatta questa conversione e` sempre possibile tornare indietro ad una
partizione ext2. I passi da seguire sono i seguenti:
1. smontare il device
# umount <device>
2. cambiare il tipo del filesystem a ext2 con
# tune2fs -O ^has_journal <device>
3. controlla che la partizione non contenga errori
# e2fsck -y <device>
4. montare il device
# mount -t ext2 <device> <mount_point>
5. cancellazione del journal nel livello root della partizione
# rm -f <mount_point>/.journal
A questo punto abbiamo una partizione ext2. Se vogliamo rendere
permanente la modifica, si ricordi di aggiornare il file
/etc/fstab. Si tenga anche presente che deve essere indicato a lilo di
montare la partizione come read-only, altrimenti ext2fs si blocca e
non e` possibile proseguire nell'inizializzazione.
|