16.4. Un breve intervallo per il disco rigido

Linux vi permette di spegnere il disco rigido quando non vi serve o utilizzarlo in una modalità in cui si realizza un maggior risparmio energetico o il sistema meno rumore possibile. Da quanto abbiamo potuto appurare con moderni notebook non si trae alcun beneficio se si spegne anche solo temporaneamente il disco, dato che entrano già da sé in un modo operativo parsimonioso quando vengono appena utilizzati. Per chi vuole realizzare comunque il massimo in termini di risparmio può provare quanto illustrato di seguito. La maggior parte delle funzionalità si lascia gestire tramite powersaved.

Per eseguire diverse impostazioni riguardanti il disco rigido vi è il programma hdparm. Con l'opzione -y il disco rigido viene mandato immediatamente in stand-by con -Y (Attenzione!) viene spento completamente. Con hdparm -S <x> spegnete il disco rigido dopo un certo periodo di inattività. Il segnaposto x assume a secondo del valore immesso i seguenti significati: 0 disabilita questo meccanismo, il disco è sempre in esecuzione. I valori da 1 a 240 devono essere moltiplicati con 5 secondi. 241 - 251 corrispondono a 1 fino a 11 per 30 minuti.

Possibilità di risparmio proprie dei dischi vengono gestite tramite l'opzione -B. Con una cifra tra 0 e 255 si va dal massimo in termini di risparmio alla massimo in termini della velocità di trasmissione dei dati. I risultati ottenuti dipendono dal disco utilizzato. Per rendere un disco meno rumoroso si può utilizzare l'opzione -M. Tramite i valori compresi fra 128 e 254 si seleziona tra rumorosità e velocità.

Spesso però non è facile mettere a riposo il disco rigido, visto che sotto Linux vi sono numerosi processi che scrivono dei dati sul disco e quindi lo “svegliano” continuamente. Così a questo punto cercheremo di capire il modo in cui vengono gestiti i dati da scrivere sul disco sotto Linux. Tutti i dati vengono salvati temporaneamente nel buffer della RAM. Il buffer viene controllato dal “Kernel Update Daemon” (kupdated). Ogni volta che i dati raggiungono un determinato periodo di permanenza o la parte occupata del buffer raggiunge un certo livello, il buffer si svuota e i dati vengono trasferiti sul disco rigido. La dimensione del buffer è tra l'altro dinamica e dipende dal volume della memoria e dal carico del sistema. Visto che la sicurezza dei dati è l'obiettivo principale, kupdated è impostato di default su intervalli brevi. Ogni 5 secondi esegue un controllo del buffer e informa il demone bdflush se vi sono dei file con una permanenza di oltre 30 secondi o se il buffer si è riempito del 30%. Allora il demone bdflush scrive i dati sul disco. Se il buffer è pieno, i dati vengono scritti sul disco anche indipendentemente da kupdated se il buffer si è riempito.

[Warning]Ripercusioni sulla sicurezza dei dati

Modificare le impostazioni del demone di aggiornamento del kernel (ingl. kernel update daemon) si ripercuote anche sulla sicurezza dei dati.

Oltre a quanto descritto fin qui, anche i cosiddetti “Journaling File system”, ad.es. ReiserFS o Ext3, scrivono indipendentemente da bdflush i loro meta-dati sul disco rigido, cosa che naturalmente “sveglia” continuamente il disco rigido. Per evitare ciò, vi è una estensione del kernel che è stata sviluppata appositamente per dispositivi mobili. La descrizione dettagliata la trovate in /usr/src/linux/Documentation/laptop-mode.txt.

Inoltre dovete anche considerare il comportamento dei programmi che state utilizzando. Per esempio buoni editor di testi scrivono "di nascosto" sul disco delle copie di sicurezza del file appena modificato. Queste funzionalità si lasciano comunque disabilitare, ma bisogna sempre tener conto della sicurezza dei dati. Per vedere quale processo sta scrivendo sul disco, tramite echo 1 > /proc/sys/vm/block_dump si lascia abilitare un modo di debug con il quale viene protocollata l'intera attività del disco rigido nel file di log del sistema. Con un 0 in questo file potete disabilitare nuovamente questa modalità.

In questo contesto vi è per il demone di posta elettronica postfix una variabile POSTFIX_LAPTOP che se impostata su yes, postfix riduce notevolmente il numero degli accessi al disco. Comunque ciò diventa trascurabile se l'intervallo per kupdated è stato esteso.