Mettiamo il turbo ai dischi: XFS


Non stimo molto ext3.. sarà perchè mi è capitato spesso di perdere dati importanti (stessa cosa con NTFS)…… e’ principalmente questo il motivo per cui ho quasi tutto il sistema in XFS….

turbo

Ma veniamo a noi…

Una cosa che adoro di xfs sono i suoi strumenti di mantenimento e la velocità nel gestire il mio disco… per fortuna ormai non è più necessario configurarlo manualmente durante la formattazione… però vi consiglio caldamente di NON formattarlo da GPARTED… sarà un caso, ma formattandolo con esso ho avuto problemi di frammentazione e di errori qua e là…. formattandolo con mkfs da riga di comando, si autoconfigura in modo davvero ottimale.

Cos’è XFS?

Potete approfondire parecchio su Wikipedia, a questa voce: QUI

In sostanza è un filesystem molto maturo, sviluppato da SGI per i server IRIX, è di tipo journaled, molto scalabile e performante.

Il suo unico difetto che ho riscontrato è l’impossibilità di “comprimere” la partizione una volta creata… invece non c’è nessun problema ad espanderla. Questo è dovuto alla sua particolare struttura ad “extent”…. solitamente i filesystem usano i blocchi…… gli extent sono un pò come delle mini partizioni che suddividono lo spazio.

Come Formattare in XFS?

Attenzione: evitate di proseguire nella lettura se siete novizi. Questa guida è da ritenersi per utenti smaliziati o comunque che già conoscono abbastanza bene il sistema GNU/Linux.

Formattare è sempre una operazione MOLTO delicata e dovete SEMPRE fare un backup visto che i dati vengono cancellati.

Innanzitutto per formattare un sistema in XFS è sufficiente essere autenticati come utenti root:

su –

bisogna smontare dal sistema il disco da formattare (ricordatevi ovviamente di copiare i documenti contenuti in esso su altro disco…) ovviamente hdXX da sostituire con il vero indirizzo assegnato dal sistema…

umount /dev/hdX

mkfs.xfs /dev/hdXX

o nel caso di dischi sata/scsi

mkfs.xfs /dev/sdXX

In caso che si rifiuta di formattare, basta aggiungere -f per forzare…

mkfs.xfs -f /dev/hdXX

DEFRAMMENTAZIONE

Questo filesystem cerca di mantenere il più organizzato possibile il disco… ma potrebbe capitare il formarsi di un pò di frammentazione… A differenza di ext3 che non ha tool “ufficiali” e supportati per deframmentare senza problemi (bisogna ricorrere ad un downgrade ad ext2) Xfs ha un pacchetto di utilità per mantenerlo e amministrarlo: xfsdump (c’è in tutte le maggiori distribuzioni) .

Grazie ad esso potrete CONTROLLARE il livello di frammentazione ed eventualmente DEFRAMMENTARE il disco MENTRE E’ IN USO (FANTASTICO PER CHI HA LA ROOT IN XFS..come nel mio caso)

Per controllare lo stato di frammentazione, basta fare (sempre autenticati come root… ):

su –

xfs_db -r /dev/hdXX

apparirà: xfs_db>

frag

Vi dirà il livello di frammentazione, con tanto di percentuale…

se il valore è particolarmente alto, potete deframmentare…

intanto uscite da xfs_db>

quit

e poi digitate:

xfs_fsr -v /dev/hdXX

Partirà la deframmentazione D

Grazie ad XFSDUMP abbiamo altri comandi molto utili:

  • xfs_check Per controllare se ci sono eventuali errori sul disco
  • xfs_copy Per clonare il disco
  • xfs_growfs Per espandere la partizione
  • xfs_repair Per riparare la partizione

Ovviamente ad esempio per controllare il disco, basta dare:

xfs_check /dev/hdXX

per growfs e copy, la cosa è un pò più complicata e vi consiglio di dare una occhiata al manuale ;)

Un pò di tweaking non guasta mai:

Per aumentare le prestazioni, possiamo cambiare il nostro fstab passando questi comandi:

noatime,nodiratime,logbufs=8

al posto ovviamente di “defaults”..

in generale non ci sono controindicazioni ad usare queste opzioni.. l’unico problema potrebbero essere i buffer.. con dei spegnimenti errati ho avuto corruzioni di alcuni file di configurazione.. ma è un caso isolato.

esempio:

/dev/hdXX /media/disco xfs noatime,nodiratime,logbufs=8 1 2

noatime: evita che venga scritta DURANTE LA LETTURA la data di creazione/modifica dei files… cosa MOLTO inutile visto che stiamo SOLO LEGGENDO! D nelle operazioni di scrittura ovviamente questo sarà fatto )

nodiratime, è lo stesso discorso di noatime applicato alle cartelle.

logbufs semplicemente sono il numero di buffer da utilizzare.

Per ora è tutto… In attesa dell’arrivo di ZFS, per me XFS rimane il miglior compromesso tra prestazioni e affidabilità.

ps: a differenza di ext3 consuma meno spazio… in quanto non crea quel famoso 5 % di spazio riservato a root.

5 Risposte

  1. ciao karl, sono un tuo assiduo lettore, e vorrei esporti il mio problema.
    Io utilizzo Debian Sid come desktop principale, ma anche altre distro, tutte precedentemente montate su fs ext3. Siccome, di ext3 mi sono veramente rotto, perche’ mi ha lasciato a piedi troppe volte con connessa perdita di dati, ho deciso di passare ad xfs, invogliato anche dal tuo post.
    Ho formattato la mia partizione di Debian in xfs, ho ricopiato la partizione che precedentemente avevo clonato, ho modifato il fstab ed ho riavviato.
    All’avvio, il grub, installato su MBR, mi si pianta con un bel error 17.
    Mi potresti aiutare?
    Spero in un tuo aiuto.
    Ciao e grazie.

  2. il boot da XFS non è supportato, quindi devi creare una partizioncina di meno di 100 MB (dipende quanti kernel tieni….)
    in ext3 da montare come /boot

    e poi il resto puoi farlo in XFS.

    Credo sia questo il tuo problema.

    un piccolo avvertimento: ho notato quando usavo XFS che ha qualche problemino con i file piccoli. Quindi ad esempio i file di configurazione. E ritarda a scriverli (immagino per ottimizzare i tempi). Risultato: può capitare con dei crash (esempio: salta la corrente) che ti salta qualche configurazione.

    io ho risolto così: uso (ahimè) ext3 per il sistema ed home (dove tengo praticamente solo file temporanei e configurazioni) e il disco “grande” dove tengo tutta la mia roba, invece è in XFS.

    Vedi te…magari visti i problemi che stai avendo con grub, ti conviene tornare sui tuoi passi, rimettere ext3 per il sistema/home e formattare in XFS un eventuale disco “di massa” 🙂

  3. il boot lo puoi fare xfs ma usando come bootloader lilo non grub

  4. Giusto per chi come me è capitato casualmente qui a leggere… Dato che i post sono molto vecchi.
    Con grub2 non ci sono più problemi di boot con XFS. Con debian squeeze ho tutte partizioni XFS che continua ad essere sempre il miglior fs disponibile per linux, dopo la delusione di ext4, almeno fino a quando BTRFS (che sarà più potente di ZFS) non sarà dichiarato stabile, ma già adesso il kernel 2.6.32 lo inizia a supportare e qualche distro ardita ne permette l’uso sebbene ad un livello sperimentale. E’ atteso comunque con trepidazione.

  5. Great post however , I was wanting to know if you could write a litte more on this subject?

    I’d be very thankful if you could elaborate a little bit further. Thanks!

Lascia un commento