• cerca

SEI GIA' REGISTRATO? EFFETTUA ADESSO IL LOGIN.



HAI DIMENTICATO LA PASSWORD? CLICCA QUI

NON SEI ANCORA REGISTRATO A WEBAREA? CLICCA QUI E REGISTRATI !

Come riparare e deframmentare, in un filesystem ext2, ext3 o ext4, dischi HDD sotto Linux: e2fsck ed e4defrag

di :: 26 febbraio 2018

deframmentazione

Siamo abituati a parlare di deframmentazione nei sistemi operativi Windows, per ottimizzare e  riordinare i files sul disco fisso, che nel tempo tendono a frammentarsi andando ad occupare punti dell’hard disk distanti fra loro con conseguente rallentamento di tutto il sistema.

In Linux i filesystem ext2, ext3 ed ext4 non hanno bisogno di molta manutenzione, infatti questi filesystem sono già pensati per prevenire l'effetto di frammentazione. Tuttavia anche qui, le continue letture e scritture che si susseguono nel tempo, possono determinare un rallentamento dei processi dell'intero sistema e potrebbe essere necessaria una deframmentazione che anche Linux prevede.

In questi articolo trattiamo di filesystem ext2, ext3 ed ext4 in dischi HDD e non SSD. La deframmentazione dell'unità SSD tuttavia non è consigliata perchè, se è verò che migliorerà le performance di lettura e scrittura, ridurra anche la vita del disco SSD. Se proprio volete deframmentarlo potreste usare la funzione TRIM, che non è trattata in questo articolo.

Indentifichiamo le partizioni e il tipo di filesystem del nostro disco

Per prima cosa identifichiamo le partizioni del nostro HDD utilizzando il comando df, che evidenzia lo spazio disco usato dal file system. Utilizziamo l'opzione -h per facilitare la lettura dello spazio disco utilizzato e -T per visualizzare il tipo di fìlesystem alla ricerca di partizioni in ext2, ext3 o ext4

As esempio, il nostro HDD è partizionato in questo modo:

# df -hT
File system             Tipo      Dim. Usati Dispon. Uso% Montato su
devtmpfs                devtmpfs   32G     0     32G   0% /dev
tmpfs                   tmpfs      32G   84K     32G   1% /dev/shm
tmpfs                   tmpfs      32G  3,2G     29G  10% /run
tmpfs                   tmpfs      32G     0     32G   0% /sys/fs/cgroup
/dev/mapper/fedora-root ext4      451G  173G    260G  40% /
tmpfs                   tmpfs      32G  4,0K     32G   1% /tmp
/dev/sda1               ext4      477M  151M    298M  34% /boot
/dev/mapper/fedora-home ext4      880M   21M    793M   3% /home

Verifichiamo se una partizione presenta errori o necessita di deframmentazione, con e2fsck

Analizziamo la partizione "/dev/mapper/fedora-home" che utilizza ext4.

Prima di qualunque operazione, per sicurezza, smontiamo la partizione con il comando umount, seguito dal nome della partizione, per evitare di eseguire questa operazione mentre la partizione è al lavoro in lettura / scrittura.

# umount /dev/mapper/fedora-home

Adesso verifichiamo se la partizione necessita effettivamente di una deframmentazione. Per farlo utilizzeremo e2fsck sulla partizione che stiamo esaminando.

# e2fsck -fn /dev/mapper/fedora-home

Per bypassare le varie interazioni con il terminale, abbiamo utilizzato due opzioni.

  • -f: viene utilizzata per forzare i controlli.
  • -n: viene utilizzata per aprire il filesystem in sola lettura e dare in automatico la risposta di "no" a tutte le possibili domande.

Questo è il risultato ottenuto. Non sono evidenziati errori ed è indicato "0.0% non-contiguous" il che signfica che la nostra partizione è in salute e non necessita di deframmentazione !

e2fsck 1.42.5 (29-Jul-2012)
Passo 1: Controllo di inode, blocco(i) e dimensioni
Passo 2: Analisi della struttura delle directory
Passo 3: Controllo della connettività di directory
Pass 4: Controllo del numero dei riferimenti
Pass 5: Checking gruppo summary information
/dev/mapper/fedora-home: 11/65536 files (0.0% non-contiguous), 42011/262144 blocks

Ripariamo la nostra partizione con e2fsck

Se l'analisi verificasse la presenza di errori, sempre con la partizione smontanta, ripariamola utilizzano sempre lo strumento e2fsck, con l'opzione -p

# e2fsck -p /dev/mapper/fedora-home

Le opzioni "-p" consente di utilizzare e2fsck in modo automatico senza il nostro intervento.

Se venisse rilevato un problema non risolvibile automaticamente, e che quindi si rende necessario l'intervento dell'amministratore di sistema, e2fsck visualizzerà la descrizione del problema con il codice 4, che indica la presenza di "Errori del file system non corretti". A questo punto il problema sarà nelle mani dell'amministatore di sistema che dovrà intervenire.

Nel caso il problema fosse su una partizione che non può essere smontata, è possibile usare uno strumento alternativo chiamato e4defrag.

Se non è presente, lo installiamo facilmente, ad esempio con YUM

# yum install e2fsprogs

Come deframmentare sotto Linux: e4defrag

Se l'analisi effettuata verificasse la presenza di dati deframmentati, prodecediamo utilizzando il comando e4defrag, seguito dal nome della partizione, se vogliamo deframmentare una partizione, o dal nome di una directory, se vogliamo deframmentare una directory.

// deframmentiamo una partizione
# e4defrag /dev/mapper/fedora-home
// deframmentiamo una specifica directory
# e4defrag /home/user_directory

Se invece vogliamo deframmentare tutto l'HDD

# e4defrag /
x

ATTENZIONE