Deframmentare / recuperare un filesystem XFS (per la serie: anche linux ha i suoi problemi)

A volte può capitare che il server vada in crash senza apparente motivo. Dopo mesi, richieste di assistenza a chi pensavo fosse più competente di me in materia di server linux, e tanta disperazione ho capito a cosa erano dovuti i frequenti blocchi del server: al filesystem XFS!
XFS è un filesystem adatto a gestire grosse moli di dati, gestire file grandi diverse centinaia di megabytes velocemente. Sfortunatamente XFS soffre pesantemente della frammentazione ed il disco tende a riempirsi velocemente e senza realmente contenere dati!
D’altra parte ci sono due utilità che ci permettono di deframmentare il file system XFS

  1. xfs_db – letteralmente XFS Debug Information – che permette di esaminare il filesystem ed ottenere informazioni utili
  2. xfs_fsr – File System Organizer – che migliora l’organizzazione dei filesystem montati. L’algoritmo opera con i singoli file, li compatta e migliora l’organizzazione all’interno del disco (mettendo i pezzi dei file in blocchi continui)
    per esempio consideriamo il comandoroot@linuxMachine:~$ sudo xfs_db -c frag -r /dev/sda1
    actual 189356, ideal 148090, fragmentation factor 21.79%

    dopo la procedura risulta

    root@linuxMachine:~$ sudo xfs_db -c frag -r /dev/sda1
    actual 148180, ideal 148090, fragmentation factor 0.03%

    Lo spazio disponibile a questo punto sarà molto di più ed l’accesso al disco sarà decisamente più veloce!