Hdparm: differenze tra le versioni

riscrittura della guida con solo le opzioni principali, e non più da adottare
m (Rimosse parti meno importanti, tradotto qualcos'altro, aggiunte le versioni compatibili)
(riscrittura della guida con solo le opzioni principali, e non più da adottare)
Riga 1: Riga 1:
{{Guida da adottare}}{{Versioni compatibili|Wheezy|Jessie}}
{{Versioni compatibili|Wheezy|Jessie}}


= Introduzione =
== Introduzione ==
'''Hdparm''' consente la modifica avanzata dei parametri funzionali dei disposibivi ATA/IDE (hard disk, lettori cd/dvd), permettendo un ''fine tuning'' degli hard disk e lettori, che spesso rappresentano un vero collo di bottiglia per le performance di una macchina.
'''Hdparm''' consente la modifica avanzata dei parametri funzionali dei disposibivi ATA/IDE (hard disk, lettori cd/dvd), permettendo un ''fine tuning'' degli hard disk e lettori, che spesso rappresentano un vero collo di bottiglia per le performance di una macchina.


= Installazione =
== Installazione ==
Il [[pacchetto]] è presente in Debian, per cui per installarlo con [[privilegi di amministrazione]] è sufficiente:
Il [[pacchetto]] è presente in Debian, per cui per installarlo con [[privilegi di amministrazione]] è sufficiente [[apt-get]]:
<pre>
<pre>
# apt-get install hdparm
# apt-get install hdparm
</pre>
</pre>


= Utilizzo =
== Utilizzo da linea di comando ==
Le impostazioni date da riga di comando hanno effetto immediato ma sono perse a ogni avvio. Per rendere permanenti le modifiche è necessario modificare il file <code>/etc/hdparm.conf</code>, come illustrato nella sezione successiva.


== Da riga di comando ==
Il comando richiede [[privilegi di amministrazione]]. La sintassi standard è:
La sintassi standard è
<pre># hdparm [opzioni] [dispositivo...]</pre>
<pre># hdparm [opzioni] [dispositivo...]</pre>
{{Warningbox|Le impostazioni date da riga di comando vengono "dimenticate" ad ogni riavvio. Per rendere permanenti le modifiche è necessario editare il file ''/etc/hdparm.conf''}}


=== Opzioni e Argomenti ===
Le opzioni disponibili sono tante, alcune delle quali '''critiche''', quindi si sconsiglia vivamente l'utilizzo di opzioni che non si conoscono, per evitare danni e/o malfunzionamenti/perdite di dati. Di seguito sono presentate soltanto le più comuni:
Le opzioni disponibili sono tante, alcune delle quali '''critiche''', quindi sconsiglio vivamente l'utilizzo di opzioni che non si conoscono, per evitare danni e/o malfunzionamenti/perdite di dati. Di seguito sono presentate soltanto le più comuni.
; -B : Modifica le impostazioni della gestione avanzata dell'alimentazione (APM), se supportate. Un valore basso, a partire da 1, implica un comportamento aggressivo per quanto riguarda il risparmio energetico, quindi un consumo minore, un valore alto, invece, fino a un massimo di 255 permette performance migliori. Un valore superiore a ''128'' impedisce lo spegnimento completo del disco, e il valore ''255'' disattiva interamente l'APM.
 
; -A : Disabilita/Abilita la funzione di read-lookahead del driver IDE (di solito ON di defaul). Utilizzo: <code>-A0</code> (disabilita) o <code>-A1</code> (abilita).
; -b : Restituisce o imposta lo stato del bus [0,1]
; -B : Modifica le impostazioni della gestione avanzata dell'alimentazione (APM), se supportate. Un valore basso implica un comportamento aggressivo per quanto riguarda il risparmio energetico, quindi un consumo minore, un valore alto, invece, permette performance migliori. Il valore ''255'' disattiva l'apm.
; -c : Visualizza lo stato o abilita il supporto per l'I/O a 32 bit per i dispositivi (E)IDE. I seguenti valori numerici possono essere usati per impostare:
:; 0 : per disabilitare il supporto a 32-bit
:; 1 : per abilitare il trasferimento dei dati a 32-bit
:; 3 : per abilitare il trasferimento dei dati a 32-bit con una speciale sequenza di sincronizzazione richiesta da molti chipset.  
; -C : Controlla lo stato corrente dell'alimentazione del dispositivo; le possibili risposte sono:
; -C : Controlla lo stato corrente dell'alimentazione del dispositivo; le possibili risposte sono:
:; unknown : il dispositivo non supporta la funzione
:; unknown : il dispositivo non supporta la funzione
Riga 33: Riga 24:
:; sleeping : il dispositivo è completamente spento
:; sleeping : il dispositivo è completamente spento
: È possibile modificare le modalità tramite le opzioni '''-S''', '''-y''', '''-Y''', '''-Z'''.
: È possibile modificare le modalità tramite le opzioni '''-S''', '''-y''', '''-Y''', '''-Z'''.
; -d : Disabilita/abilita l'opzione "using_dma". Questa opzione funziona con la maggior parte delle coppie 'dispositivo interfaccia' supportanti il DMA e supportate dai driver del kernel. E' una buona idea utilizzare l'appropriato valore dell'opzione '''-X''' in combinaizone con '''-d1''' per essere sicuri che il dispositivo sia impostato correttamente, anche se molti BIOS dovrebbero impostare questi parametri correttamente all'avvio del sistema. L'utilizzo del DMA consente di avere delle buone performance, aumentando la velocita' di trasferimento e diminuendo il carico del processore. Ci sono, pero', alcune configurazioni per cui l'abilitazione o meno del DMA non provoca cambiamenti, o puo' perfino causare un degradamento delle performance (caso molto raro).
; -E : Imposta la velocità del cdrom. Questo NON è necessario normalmente, dato che il drive selezionerà automaticamente la velocità. Ma se vuoi provarci, fornisci un numero dopo l'opzione, di solito un numero come 2 o 4.
; -E : Imposta la velocità del cdrom. Questo NON è necessario normalmente, dato che il drive selezionerà automaticamente la velocità. Ma se vuoi provarci, fornisci un numero dopo l'opzione, di solito un numero come 2 o 4.
; -f : Sincronizza ed esegue un flush del buffer del dispositibo. Viene eseguito anche dutante i test '''-T''' e '''-t'''
; -f : Sincronizza ed esegue un flush del buffer del dispositibo. Viene eseguito anche dutante i test '''-T''' e '''-t'''
; -g : Mostra la geometria del drive (cilindri, testine, settori), la dimensione (in settori) del device, e l'offset di partenza (in settori) del device dall'inizio del drive.
; -g : Mostra la geometria del drive (cilindri, testine, settori), la dimensione (in settori) del device, e l'offset di partenza (in settori) del device dall'inizio del drive.
; -I : Richiede informazioni di identificazione direttamente dal drive, e le mostrerà in un nuovo formato espanso con più dettagli rispetto alla vecchia opzione -i.
; -I : Richiede informazioni di identificazione direttamente dal drive, e le mostrerà in un nuovo formato espanso con più dettagli rispetto alla vecchia opzione -i.
; -n : Restituisce o imposta il flag ''ignore write errors'' per i driver del chipset IDE.  Non usarlo senza aver controllato molto bene il codice sorgente del driver dei chipset IDE.
; -r : Imposta/leggi modalità sola-lettura sul drive. Quando impostata, Linux impedisce operazioni di scrittura sul device.
; -r : Imposta/leggi modalità sola-lettura sul drive. Quando impostata, Linux impedisce operazioni di scrittura sul device.
; -S : modalità di ''standby'', imposta il timeout per l'arresto del disco (spindown). Questo valore viene usato per determinare quanto aspettare (in caso di assenza di attività) prima di arrestare la rotazione dei dischi. In alcuni casi, il disco può impiegare anche 30 secondi prima di rispondere ad una richiesta di lettura, quando i piatti sono fermi. I valori usabili sono i seguenti:
; -S : modalità di ''standby'', imposta il timeout per l'arresto del disco (spindown). Questo valore viene usato per determinare quanto aspettare (in caso di assenza di attività) prima di arrestare la rotazione dei dischi. In alcuni casi, il disco può impiegare anche 30 secondi prima di rispondere ad una richiesta di lettura, quando i piatti sono fermi. I valori usabili sono i seguenti:
Riga 53: Riga 42:
; -y : Forza un dispositivo IDE ad entrare nello stato di basso consumo (Low power consumption standby mode), normalmente causando la fermata dei piatti.  Lo stato corrente può essere verificato tramite l'opzione '''-C''';
; -y : Forza un dispositivo IDE ad entrare nello stato di basso consumo (Low power consumption standby mode), normalmente causando la fermata dei piatti.  Lo stato corrente può essere verificato tramite l'opzione '''-C''';
; -Y : Forza un dispositivo IDE ad entrare immediatamente nel più basso livello di consumo energetico, causandone lo spegnimento completo (''sleep mode''). È necessario un hard o soft reset prima che il dispositivo sia nuovamente accessibile (i driver IDE di linux eseguiranno il reset automaticamente, se necessariod). Lo stato corrente può essere controllato con l'opzione '''-C'''.
; -Y : Forza un dispositivo IDE ad entrare immediatamente nel più basso livello di consumo energetico, causandone lo spegnimento completo (''sleep mode''). È necessario un hard o soft reset prima che il dispositivo sia nuovamente accessibile (i driver IDE di linux eseguiranno il reset automaticamente, se necessariod). Lo stato corrente può essere controllato con l'opzione '''-C'''.
; -z : Forza la rilettura della tabella delle partizioni, utile nel caso di modifiche con ''fdisk'' o simili, senza rendere necessario un riavvio della macchina. È necessario assicurarsi che tutte le partizioni del dispositivo siano smontate. Di seguito è riportato un esempio dell'uso di questa opzione:
; -z : Forza la rilettura della tabella delle partizioni, utile nel caso di modifiche con ''fdisk'' o simili, senza rendere necessario un riavvio della macchina. È necessario assicurarsi che tutte le partizioni del dispositivo siano smontate.
<pre># hdparm -z /dev/hda</pre>
 
=== Esempi di utilizzo ===
In questi esempi si utilizza sempre ''sdb'' come disco, corrispondente tipicamente alla seconda memoria di massa inserita, ma è raccomdandabile prima controllarne il nome con:
<pre>$ lsblk</pre>
(si ricorda che ''sda1'', ''sda2'', ..., ''sdb1'', ''sdb2'', ... si riferiscono alle partizioni dei dischi ''sda'', ''sdb'', ...; e che <code>hdparm</code> si utilizza sui dischi e non sulle partizioni)
 
Controlla lo stato del dispositivo:
<pre># hdparm -C /dev/sdb</pre>
 
Mette il disco a riposo (modalità ''standby''):
<pre># hdparm -y /dev/sdb</pre>
 
Forza lo spegnimento completo del disco (modalità ''sleeping''), se supportato:
<pre># hdparm -Y /dev/sdb</pre>
 
Forza la rilettura delle  partizioni del disco:
<pre># hdparm -z /dev/sdb</pre>


== File di configurazione ==
== File di configurazione ==
Riga 65: Riga 70:
}
}
</pre>
</pre>
Si noti che è teoricamente possibile utilizzare la stessa sintassi della riga di comando anche all'interno di questo file di configurazione (si vedano le note inserite nel file stesso).
Si noti che è teoricamente possibile utilizzare la stessa sintassi della riga di comando anche all'interno di questo file di configurazione (si vedano le note inserite nel file stesso), ma non è quella consigliata.


= Test delle Performance =
Come per i comandi, alcune direttive '''possono essere pericolose'''. Di seguito pertanto sono presentate solo quelle più comuni:
; apm : corrisponde all'opzione <code>-B</code> e imposta il valore della gestione avanzata dell'alimentazione (APM), che è compreso tra 0 (attivo) e 255 (disattivo). Più il valore è elevato, maggiori le prestazioni e minore il risparmio energetico consentito.
; apm_battery : corrisponde all'opzione <code>-B</code>, ma ha effetto soltanto per un portatile quando il cavo di alimentazione non è attaccato e funziona solo a batteria, per permettere due diverse configurazioni;
; read_only : corrisponde all'opzione <code>-r</code> con possibili valori di ''true'' o ''false'', per impostare il disco fisso di sola lettura;
; spindown_time : per determinare dopo quanto tempo il disco può essere spento completamente. Corrisponde all'opzione <code>-S</code> e richiede un valore compreso tra 0 e 255, si faccia riferimento alle informazioni già presentate per il significato di questi valori.


== Alcuni esempi di Tuning ==
=== Esempio di configurazione ===
Per far sì che il disco ''sdb'' si metta in standby dopo 15 minuti di inattività, è sufficiente il comando:
<pre># hdparm -S 180 /dev/sdb</pre>
Infatti fino a 20 minuti si può rappresentare il tempo con con un intervallo per multipli di 5 secondi (e 15 minuti sono 900 secondi, che diviso 5 restituisce 180).


=== Standby (Spindown time) ===
Per cui, per rendere permanente la modifica, va inserito nel file di configurazione la direttiva <code>spindown_time = 180</code>:
Impostare il disco ''sdb'' affinché si metta in standby dopo 15 minuti:
<pre># hdparm -S 180 /dev/sdb</pre>
Per rendere permanente la modifica inserire nel file di configurazione la direttiva <code>spindown_time = 180</code>, ad esempio:
<pre>
<pre>
/dev/sdb {
/dev/sdb {
Riga 80: Riga 89:
}
}
</pre>
</pre>
Posto naturalmente che questa sia l'unica modifica che si vuole apportare.
 
== Documentazione ==
* Manuale con tutte le opzioni del comando: <br/><code>$ man hdparm</code>
 
* Manuale con le principali opzioni del file di configurazione: <br/><code>$ man hdparm.conf</code>
 
* Commenti nel file di configurazione, per una lista esaustiva: <br/><code>$ pager /etc/hdparm.conf</code>
 
{{Autori
|Autore = [[Utente:HAL 9000|HAL 9000]] 13:15, 27 ott 2015 (CET)
<br />(guida originariamente scritta da [[Utente:MaXeR|MaXeR]])
|Estesa_da =
:
|Verificata_da =
:
|Numero_revisori = 0
}}


[[Categoria:Shell]][[Categoria:Hard Disk]]
[[Categoria:Shell]][[Categoria:Hard Disk]]
3 581

contributi