miércoles, 19 de enero de 2011

Configura tus discos con hdparm

hdparm es una utilidad de línea de comandos de los sistemas operativos GNU/Linux y Windows para ver y ajustar los parámetros del hardware de los discos IDE y SATA (aunque estos últimos cuentan también con una utilidad específica llamada sdparm. La utilidad puede ajustar parámetros como los caches del disco, el modo de descanso, el control de energía, la gestión acústica y los ajustes DMA. En el 2009, suele venir instalado por defecto en la mayoría de distribuciones GNU/Linux.

Cambiar los parámetros de los valores conservativos por defecto a los ajustes óptimos puede aumentar el rendimiento sustancialmente. Por ejemplo, activar el modo DMA puede hacer que en ocasiones se doble o se triplique la velocidad de transferencia de datos. Desafortunadamente no hay un método confiable para determinar los ajustes óptimos para la combinación de una controladora determinada, excepto el método de prueba y error; además todavía no hay una base de datos central que recolecte y comparta la experiencia de los usuarios de hdparm.

hdparm tiene un serio inconveniente: puede bloquear el sistema y hacer los datos del disco duro inaccesibles si se usan inadecuadamente ciertos parámetros. De aproximadamente unos cuarenta parámetros disponibles, siete son potencialmente peligrosos y pueden ocasionar una corrupción masiva del sistema de ficheros.

Uso de hdparm en Linux

Mostrar información que tiene el kernel sobre un disco:

fraterneo@rainbow:~$ sudo hdparm -i /dev/sda
[sudo] password for fraterneo: 

/dev/sda:

 Model=Hitachi, FwRev=MB3OC60R, SerialNo=MPBCPAXMGTD6BM
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=DualPortCache, BuffSize=7538kB, MaxMultSect=16, MultSect=8
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=117210240
 IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 
 AdvancedPM=yes: mode=0x80 (128) WriteCache=enabled
 Drive conforms to: ATA/ATAPI-7 T13 1532D revision 1:  ATA/ATAPI-2,3,4,5,6,7

 * signifies the current active mode


Mostrar la información que tienen el disco en sí mismo y en un formato más entendible:

fraterneo@rainbow:~$ sudo hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
Model Number:       Hitachi HTS541060G9SA00                 
Serial Number:      MPBCPAXMGTD6BM
Firmware Revision:  MB3OC60R
Standards:
Used: ATA/ATAPI-7 T13 1532D revision 1 
Supported: 7 6 5 4 
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors:   16514064
LBA    user addressable sectors:  117210240
LBA48  user addressable sectors:  117210240
Logical/Physical Sector size:           512 bytes
device size with M = 1024*1024:       57231 MBytes
device size with M = 1000*1000:       60011 MBytes (60 GB)
cache/buffer size  = 7538 KBytes (type=DualPortCache)
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Vendor, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 8
Advanced power management level: 254
Recommended acoustic management value: 128, current value: 128
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 
    Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4 
    Cycle time: no flow control=240ns  IORDY flow control=120ns
Commands/features:
Enabled Supported:
  * SMART feature set
    Security Mode feature set
  * Power Management feature set
  * Write cache
  * Look-ahead
  * Host Protected Area feature set
  * WRITE_BUFFER command
  * READ_BUFFER command
  * NOP cmd
  * DOWNLOAD_MICROCODE
  * Advanced Power Management feature set
    Power-Up In Standby feature set
  * SET_FEATURES required to spinup after power up
    SET_MAX security extension
  * Automatic Acoustic Management feature set
  * 48-bit Address feature set
  * Device Configuration Overlay feature set
  * Mandatory FLUSH_CACHE
  * FLUSH_CACHE_EXT
  * SMART error logging
  * SMART self-test
  * General Purpose Logging feature set
  * WRITE_{DMA|MULTIPLE}_FUA_EXT
  * Gen1 signaling speed (1.5Gb/s)
  * Native Command Queueing (NCQ)
  * Host-initiated interface power management
    Non-Zero buffer offsets in DMA Setup FIS
    DMA Setup Auto-Activate optimization
    Device-initiated interface power management
    In-order data delivery
  * Software settings preservation
Security: 
Master password revision code = 65534
supported
not enabled
not locked
frozen
not expired: security count
not supported: enhanced erase
40min for SECURITY ERASE UNIT. 
Checksum: correct


Habilitar/deshabilitar el modo DMA de un disco:

fraterneo@rainbow:~$ sudo hdparm -d0 /dev/sda1
/dev/sda1:
 setting using_dma to 0 (off)

fraterneo@rainbow:~$ sudo hdparm -d1 /dev/sda1
/dev/sda1:
 setting using_dma to 1 (on)


Realizar una prueba de velocidad de un disco:

fraterneo@rainbow:~$ sudo hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:  100 MB in  3.02 seconds =  33.11 MB/sec


Para conocer más a cerca de hdparm lee las páginas man:

fraterneo@rainbow:~$ man hdparm

No hay comentarios:

Publicar un comentario