Chi controlla il mio disco ?

Ogni tanto all’accensione del PC trovo l’avvio rallentato dall’operazione del controllo del disco, in modo più specifico di una o più partizioni.

Usando diverse macchine l’ordine dei controlli è random (casuale) però ho notato che non tutte le macchine si comportano allo stesso modo.

Allora mi sono messo a indagare ( sempre restando in superficie e senza mai approfondire )e ho trovato alcuni strumenti per verificare ogni quanto avviene il controllo automatico dopo l’avvio e come modificarlo.

tune2fs & dumpe2fs ci daranno una mano con ext2,3 e 4 ma attenzione a quello che fate, i comandi possono trasformare le vostre partizioni in puppa.

 

Per cominciare ad avere un quadro della situazione è bene sapere quali sono le nostre partizioni , facciamo uso per questo di blkid

 # blkid 
/dev/sda1: UUID="9456ebd7-bf9d-41bb" TYPE="ext4"
/dev/sda2: UUID="bd2026b5-b5aa-420a" TYPE="ext4"
/dev/sda5: UUID="56ccfc2f-f66d-4dae" TYPE="swap" 
/dev/sda6: UUID="9acf7451-3af9-4f57" TYPE="ext4" LABEL="data"
/dev/sda7: UUID="9f307304-7d07-44d0" TYPE="xfs" LABEL="archivio"
/dev/sdf1: LABEL="backup" UUID="b877e148-46b7" TYPE="ext4"

Successivamente possiamo vedere se il controllo viene richiesto al mount da fstab

$ cat /etc/fstab
 # /etc/fstab: static file system information.
 #
 # <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc    /proc   proc    defaults        0       0
 #Entry for /dev/sda1 :
 UUID=9456ebd7-bf9d-41bb       /       ext4    errors=remount-ro       0       1
 #Entry for /dev/sda2 :
 UUID=bd2026b5-b5aa-440a       /home   ext4    defaults,user_xattr     0       2
 #Entry for /dev/sdc1 :
 UUID=0EA345   /media/Reserved  ntfs    defaults,nls=utf8,umask=0222    0       0
 #Entry for /dev/sda7 :
 UUID=9f304304-7d07-44d0       /media/archivio xfs     defaults        0       2
 #Entry for /dev/sdb1 :
 UUID=b3477e148-4237-4f1d       /media/backup   ext4    defaults        0       2
 #Entry for /dev/sda6 :
 UUID=9a337451-3af9-4f57       /media/data     ext4    defaults        0       2

La sesta colonna riporta le opzioni di fsck
0 = non controllare
1 = Primo file system (partizione) da controllare
/ (root partition) deve essere settata a 1.
2 = Tutti gli altri  file systems da controllare.

Ora per scendere nel dettaglio sulla situazione reale di ogni partizione lanciamo il comando dump2fs estraendo con grep solo i dati che ci interessano, altrimenti usatelo senza per avere l’output completo.

Con il comando dumpe2fs -h /dev/sda1 si ottiene lo stesso risultato di tune2fs -l /dev/sda1.

Controlliamo il conteggio dei mount

# dumpe2fs -h /dev/sda1 | grep -i 'mount count'
dumpe2fs 1.42.8 (20-Jun-2013)
Mount count:              13
Maximum mount count:      39

e anche un’eventuale temporizzazione

# dumpe2fs -h /dev/sda1 | grep -i 'check'
dumpe2fs 1.42.8 (20-Jun-2013)
Last checked:             Mon Nov 25 01:41:19 2013
Check interval:           15552000 (6 months)
Next check after:         Sat May 24 02:41:19 2014

Oppure previa installazione di pcregrep si può usare un comando solo:

# dumpe2fs -h /dev/sda1 | egrep -i 'mount count|check'
dumpe2fs 1.42.8 (20-Jun-2013)
Mount count:              16
Maximum mount count:      39
Last checked:             Mon Nov 25 01:41:19 2013
Check interval:           15552000 (6 months)
Next check after:         Sat May 24 02:41:19 2014

Esaminando diverse partizioni su altrettante macchine diverse ho notato che non tutti i valori sono identici , ma oltre che a cambiare , in alcune macchine il controllo è disabilitato…. boh.

Ora occorre pensare come modificare questo valore secondo le nostre necessità e anche in base all’uso della macchina.

Se un PC viene avviato quasi quotidianamente le opzioni sopra riportate possono andare bene , ma ognuno è libero di fare come meglio crede.

Ora volendo impostare il numero di mount usiamo :

#tune2fs -c 36 /dev/sda1

Volendo impostare l’intervallo tra un controllo e il successivo usiamo :

#tune2fs  -i 1m /dev/sda1

dove metteremo un numero seguito da:

  • d = giorni
  • m = mesi
  • w = settimane

è possibile combinare il comando con entrambe le funzioni , numero di mount e intervallo di tempo

#tune2fs -c 36 -i 1m /dev/hda1

Se invece si muove modificare il conteggio, magari per effettuare il check al prossimo mount

tune2fs -C 35 /dev/sda1

se impostato a -1 inibisce il controllo.

 

Ora potete divertirvi e far frullare il vostro HD quando volete.

Rispondi