En GNU/Linux existen muchas herramientas para obtener todo tipo de información de discos desde la línea de comandos, por ejemplo: fdisk, hdparm, df, lsblk, smartctl, entre otras.



fdisk

fdisk es la herramienta más conocida para manipular tablas de particiones, el parámetro "-l" permite listar todos los discos y sus particiones:

# fdisk -l                                 

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000efc5a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         124      995998+  83  Linux
/dev/sda2             125        2614    20000925   83  Linux
/dev/sda3            2615        8839    50002312+  83  Linux
/dev/sda4            8840       60801   417384765    5  Extended
/dev/sda5            8840       15064    50002281   83  Linux
/dev/sda6           15065       16309    10000431   83  Linux
/dev/sda7           16310       16807     4000153+  82  Linux swap / Solaris
/dev/sda8           16808       60801   353381773+  83  Linux

hdparm

hdparm es una poderosa herramienta para obtener y setear parámetros de dispositivos SATA e IDE. Para listar información de un disco se puede utilizar la opción "-i":

# hdparm -i /dev/sda

/dev/sda:

Model=WDC, FwRev=15.01H15, SerialNo=WD-WCAYUU316558
Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50
BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=976773168
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=no WriteCache=enabled
Drive conforms to: Unspecified: ATA/ATAPI-1,2,3,4,5,6,7

* signifies the current active mode

Con esta herramienta se puede obtener el modelo, número de serie y características de un disco. Si se desea mayor detalle se debe utilizar la opción "-I":

# hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
        Model Number:       WDC WD5000AAKX-001CA0                  
        Serial Number:      WD-WCAYUU316558                        
        Firmware Revision:  15.01H15                               
        Transport:          Serial, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:                                                                                                
        Supported: 8 7 6 5                                                                                
        Likely used: 8                                                                                    
Configuration:                                                                                            
        Logical         max     current                                                                   
        cylinders       16383   16383                                                                     
        heads           16      16                                                                        
        sectors/track   63      63                                                                        
        --                                                                                                
        CHS current addressable sectors:   16514064                                                       
        LBA    user addressable sectors:  268435455                                                       
        LBA48  user addressable sectors:  976773168                                                       
        Logical/Physical Sector size:           512 bytes                                                 
        device size with M = 1024*1024:      476940 MBytes                                                
        device size with M = 1000*1000:      500107 MBytes (500 GB)                                       
        cache/buffer size  = 16384 KBytes                                                                 
Capabilities:                                                                                             
        LBA, IORDY(can be disabled)                                                                       
        Queue depth: 32                                                                                   
        Standby timer values: spec'd by Standard, with device specific minimum                            
        R/W multiple sector transfer: Max = 16  Current = 0                                               
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6                                 
             Cycle time: min=120ns recommended=120ns                                                      
        PIO: pio0 pio1 pio2 pio3 pio4                                                                     
             Cycle time: no flow control=120ns  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                                                                        
                Power-Up In Standby feature set                                                           
           *    SET_FEATURES required to spinup after power up                                            
                SET_MAX security extension                                                                
           *    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                                                       
           *    64-bit World wide name                                                                    
           *    {READ,WRITE}_DMA_EXT_GPL commands                                                         
           *    Segmented DOWNLOAD_MICROCODE                                                              
           *    Gen1 signaling speed (1.5Gb/s)                                                            
           *    Gen2 signaling speed (3.0Gb/s)                                                            
           *    unknown 76[3]                                                                             
           *    Native Command Queueing (NCQ)                                                             
           *    Host-initiated interface power management                                                 
           *    Phy event counters                                                                        
           *    NCQ priority information                                                                  
           *    DMA Setup Auto-Activate optimization                                                      
           *    Software settings preservation                                                            
           *    SMART Command Transport (SCT) feature set                                                 
           *    SCT Long Sector Access (AC1)                                                              
           *    SCT LBA Segment Access (AC2)                                                              
           *    SCT Features Control (AC4)                                                                
           *    SCT Data Tables (AC5)                                                                     
                unknown 206[12] (vendor specific)
                unknown 206[13] (vendor specific)
Security:
        Master password revision code = 65534
                supported
        not     enabled
        not     locked
        not     frozen
        not     expired: security count
                supported: enhanced erase
        80min for SECURITY ERASE UNIT. 80min for ENHANCED SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 50014ee1596829fa
        NAA             : 5
        IEEE OUI        : 0014ee
        Unique ID       : 1596829fa
Checksum: correct

Si se desea ver la configuración actual :

# hdparm /dev/sda

/dev/sda:
 multcount     =  0 (off)
 IO_support    =  1 (32-bit)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 60801/255/63, sectors = 976773168, start = 0

Es posible hacer un benchmark de transferencias de lectura de disco utilizando las opciones "-tT":

# hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   7820 MB in  2.00 seconds = 3911.14 MB/sec
 Timing buffered disk reads:  394 MB in  3.00 seconds = 131.15 MB/sec

df

df se utiliza para ver el uso de disco, con la opción "-h" se expresan las unidades en  MB y GB:

 # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G  864M   17G   5% /
tmpfs                 1.9G  300K  1.9G   1% /dev/shm
/dev/sda1             958M   70M  839M   8% /boot
/dev/sda8             332G   99G  217G  32% /data
/dev/sda3              47G  786M   44G   2% /home
/dev/sda6             9.4G  5.1G  3.9G  57% /usr
/dev/sda5              47G  2.2G   43G   5% /var

proc

El sistema de archivos virtual proc se utiliza como interfaz a las estructuras de datos del kernel, se monta en /proc. El archivo "partitions" contiene información de particiones:

# cat /proc/partitions
major minor  #blocks  name

   8        0  488386584 sda
   8        1     995998 sda1
   8        2   20000925 sda2
   8        3   50002312 sda3
   8        4          1 sda4
   8        5   50002281 sda5
   8        6   10000431 sda6
   8        7    4000153 sda7
   8        8  353381773 sda8

lsblk

lsblk lista dispositivos de bloque, obtiene la información desde el sistema de archivos sysfs.

# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk
├─sda1   8:1    0 972.7M  0 part /boot
├─sda2   8:2    0  19.1G  0 part /
├─sda3   8:3    0  47.7G  0 part /home
├─sda4   8:4    0     1K  0 part
├─sda5   8:5    0  47.7G  0 part /var
├─sda6   8:6    0   9.6G  0 part /usr
├─sda7   8:7    0   3.8G  0 part [SWAP]
└─sda8   8:8    0   337G  0 part /data
sr0     11:0    1  1024M  0 rom

findmnt

Lista todos los sistemas de archivos montados:

# findmnt
TARGET                       SOURCE         FSTYPE      OPTIONS
/                            /dev/sda2      ext4        rw,relatime,barrier=1,data=ordered
├─/proc                      /proc          proc        rw,relatime                      
│ ├─/proc/bus/usb            /proc/bus/usb  usbfs       rw,relatime                      
│ └─/proc/sys/fs/binfmt_misc                binfmt_misc rw,relatime                      
├─/sys                       /sys           sysfs       rw,relatime                      
├─/dev                       udev           devtmpfs    rw,relatime,size=1904956k,nr_inodes=476239,mode=755
│ ├─/dev/pts                 devpts         devpts      rw,relatime,gid=5,mode=620,ptmxmode=000           
│ └─/dev/shm                 tmpfs          tmpfs       rw,relatime                                       
├─/boot                      /dev/sda1      ext4        rw,relatime,barrier=1,data=ordered
├─/data                      /dev/sda8      ext4        rw,relatime,barrier=1,data=ordered
├─/home                      /dev/sda3      ext4        rw,relatime,barrier=1,data=ordered
├─/usr                       /dev/sda6      ext4        rw,relatime,barrier=1,data=ordered
├─/var                       /dev/sda5      ext4        rw,relatime,barrier=1,data=ordered
│ └─/var/lib/nfs/rpc_pipefs  sunrpc         rpc_pipefs  rw,relatime
├─/cgroup/cpuset             cgroup         cgroup      rw,relatime,cpuset
├─/cgroup/cpu                cgroup         cgroup      rw,relatime,cpu
├─/cgroup/cpuacct            cgroup         cgroup      rw,relatime,cpuacct
├─/cgroup/memory             cgroup         cgroup      rw,relatime,memory
├─/cgroup/devices            cgroup         cgroup      rw,relatime,devices
├─/cgroup/freezer            cgroup         cgroup      rw,relatime,freezer
├─/cgroup/net_cls            cgroup         cgroup      rw,relatime,net_cls
├─/cgroup/blkio              cgroup         cgroup      rw,relatime,blkio
├─/misc                      /etc/auto.misc autofs      rw,relatime,fd=7,pgrp=1931,timeout=300,minproto=5,maxproto=5,indirect
└─/net                       -hosts         autofs      rw,relatime,fd=13,pgrp=1931,timeout=300,minproto=5,maxproto=5,indirect

smartctl

smartctl es una herramienta de control y monitoreo de discos S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology)

# smartctl -i /dev/sda
smartctl 5.39.1 2010-01-28 r3054 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     WDC WD5000AAKX-001CA0
Serial Number:    WD-WCAYUU316558
Firmware Version: 15.01H15
User Capacity:    500,107,862,016 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Thu Jul  5 13:06:08 2012 ART
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

/proc/swaps y swapon

El archivo swaps contiene información de áreas de intercambio de memoria (swap)

# cat /proc/swaps
Filename                                Type            Size    Used    Priority
/dev/sda7                               partition       4000144 0       -1

Se puede obtener la misma información con la herramienta swapon:

# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda7                               partition       4000144 0       -1

/etc/fstab

El archivo /etc/fstab contiene información estática sobre los sistemas de archivos. Es utilizado por los programas fsck, mount y umount para realizar tareas de escaneo, montaje y desmontaje automático, pero debe ser mantenido por el administrador del sistema.

# cat /etc/fstab                                              

#
# /etc/fstab
# Created by anaconda on Thu Jun 21 04:19:50 2012
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=1ab7ecf5-cb59-40d0-8d73-9156f8476a59 /                       ext4    defaults        1 1
UUID=13c40cb5-dba6-4b2a-81d8-9815ba2e663f /boot                   ext4    defaults        1 2
UUID=ac3b589f-1293-4b09-bc39-25d888eae6fd /data                   ext4    defaults        1 2
UUID=ddd6b6a3-a056-462b-ba2e-c4094feef828 /home                   ext4    defaults        1 2
UUID=b1db4302-a9e9-4ac5-babd-3e9cd63e20ef /usr                    ext4    defaults        1 2
UUID=97727fb1-c5ca-4d67-89a7-37b78ec7ae39 /var                    ext4    defaults        1 2
UUID=44aa80f7-f11b-4b15-915c-cef3dbda0f35 swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

mount

mount sin parámetros lista todos los sistemas de archivos montados:

# mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda8 on /data type ext4 (rw)
/dev/sda3 on /home type ext4 (rw)
/dev/sda6 on /usr type ext4 (rw)
/dev/sda5 on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

/sys/block

El sistema de archivos virtual sysfs (se monta en /sys a partir del kernel Linux 2.6) exporta información sobre los dispositivos y sus controladores desde el modelo de dispositivos del núcleo hacia el espacio del usuario, también permite configurar parámetros.  El directorio /sys/block contiene información de dispositivos de bloque, desde el cual es posible obtener estadísticas de cada dispositivo.

# cat /sys/block/sda/stat
  172886   221722 17571050   626848   162761 10255327 85383238 64690504        0   855946 65317262

Columna 1: cantidad de lecturas realizadas de forma exitosa.

Columna 2 y 6: cantidad de lacturas/escrituras combinadas (las lecturas/escrituras adyacentes se combinan de forma eficiente para minimizar accesos a disco).

Columna 3: cantidad de sectores leídos.

Columna 4: cantidad de milisegundos utilizados por todas las lecturas.

Columna 5: cantidad de escrituras completadas.

Columna 7: cantidad de sectores escritos.

Columna 8: cantidad de milisegundos utilizados por todas las escrituras.

Columna 9: cantidad de operaciones de E/S (I/O) actualmente en progreso (debe ser igual a cero).

Columna 10: cantidad de milisegundos utilizados por operaciones de E/S.

Columna 11: cantidad de milisegundos que las operaciones de E/S han estado esperando en cola

Para mayor información sobre este tipo de estadísticas ver Block layer statistics in /sys/block/<dev>/stat.


Tal vez pueda interesarte


Compartí este artículo