Ver discos duros en Linux

Para administrar Linux conviene listar los discos duros, particiones, RAIDs, etc., ya sea para ver los discos físicos en linux, encontrar las unidades de estado sólido, o localizar todas las unidades de almacenamiento.

No importa si un disco duro está conectado en linux internamente (por SATA, por ejemplo) o si está conectado externamente (por USB, eSATA, etc), puesto que a todos los discos duros los trata igual.

GNU/Linux en la mayoría de ocasiones ofrece varias maneras de realizar la misma tarea, de forma que se puede elegir la que más convenga o simplemente la que más guste. Aquí comento las más conocidas y las que considero más útiles, puesto que personalmente no me apetece complicarme si no es necesario.

Si tienes prisa puedes leer solamente el texto en negrita.

Primero, algo que considero básico explicado de forma sencilla.

Cómo se nombran los discos en Linux

Básicamente, los discos se nombran con una letra. Por ejemplo, el primer disco duro es sda (SCSI Disc a), el segundo es sdb (SCSI Disk b), el tercero sdc (SCSI Disk c), etc. Anteriormente se usaba hda (Hard Disk a).

Dentro de cada disco duro físico puede haber cuatro particiones primarias (normalmente). Las particiones se nombran con un número. De ésta forma, la primera partición del primer disco duro será sda1, la segunda partición será sda2, etc. A las particiones extendidas se las asigna un número a partir del 5 (para reservar los números a las cuatro particiones primarias).

El resultado es "sd" + letra del disco duro + número de partición. Por ejemplo, la tercera (3) partición del segundo (b) disco duro sería sdb3

Qué es Major / Minor

Éstos números indican el tipo de dispositivo (normalmente disco duro) y el número que se le ha asignado si hay varios del mismo tipo.

El número mayor indica el tipo de dispositivo. Puede indicar si es un disco duro, una controladora RAID, etc. No indica qué tipo de unidad es exactamente, indica el tipo de driver que lo está controlando. Por ejemplo, el número 8 corresponde a "SCSI disk devices" (discos duros SCSI) pero pueden estar conectados por USB o ser internos. Puedes consultar la documentación de Linux con la lista de dispositivos para encontrar a qué dispositivo se refiere el número mayor.

Pequeña lista de dispositivos frecuentes:

Número Major Tipo de dispositivo
8 SCSI disk devices
9 Metadisk (RAID) devices
11 SCSI CD-ROM devices

El número menor indica qué número tiene dentro de un mismo driver. Por ejemplo, dentro de "SCSI disk devices" puede haber varios discos duros, los cuales son diferenciados por el número menor. No es lo miso que el nombre por el que se accede de fora sencilla (por ejemplo /dev/sda), sino que se refiere al número que le ha asignado el driver que controla el dispositivo.

Una vez conocida esta información básica, se pueden empezar a buscar dispositivos.

Listar discos en Linux

Peronalmente, opino que lsblk es el método más sencillo para listar dispositivos de almacenamiento.

lsblk no solo va a enumerar los discos duros y demás unidades de bloques (disquetes, pendrives, SSDs, etc), también va a listar las particiones de linux.

En la columna MOUNTPOINT se ve en dónde están montadas las particiones de los discos.

wasge@wasge-aspire:~> lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 596,2G  0 disk
├─sda1   8:1    0    50G  0 part /
├─sda2   8:2    0     4G  0 part [SWAP]
└─sda3   8:3    0 542,2G  0 part /home
sr0     11:0    1  1024M  0 rom  
wasge@wasge-aspire:~>

Otro ejemplo en un servidor con más discos:

wasge@wasge-raid:~$ lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda       8:0    0  76,3G  0 disk  
└─sda1    8:1    0  76,3G  0 part  
  └─md0   9:0    0  74,5G  0 raid1 /home/wasge/raid
sdb       8:16   0     8G  0 disk  
├─sdb1    8:17   0     8G  0 part  
└─sdb2    8:18   0   7,8M  0 part  
sdc       8:32   0  74,5G  0 disk  
└─sdc1    8:33   0  74,5G  0 part 
  └─md0   9:0    0  74,5G  0 raid1 /home/wasge/raid
sdd       8:48   0  37,3G  0 disk 
├─sdd1    8:49   0     9G  0 part  /
├─sdd2    8:50   0     1K  0 part 
└─sdd5    8:53   0  1022M  0 part  [SWAP]
sde       8:64   0  37,3G  0 disk 
└─sde1    8:65   0  37,3G  0 part 
sdh       8:112  0  19,1G  0 disk 
└─sdh1    8:113  0  19,1G  0 part 
wasge@wasge-raid:~$

Indica los discos duros, si forman parte de un RAID, e incluso indica el punto de montaje del RAID.

Ver discos físicos incluyendo el modelo

Para intentar identificar la marca, el modelo o algún dato del disco físico recomiendo hacer un listado del directorio /dev/disk/by-id puesto que el resultado es bastante completo.

root@wasge-raid:~# ls -l /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root  9 abr  5 16:48 ata-Maxtor_6L080L0_L25CTR1G -> ../../sda
lrwxrwxrwx 1 root root 10 abr  5 16:48 ata-Maxtor_6L080L0_L25CTR1G-part1 -> ../../sda1
lrwxrwxrwx 1 root root  9 abr  5 16:48 ata-ST340014A_5JVJX771 -> ../../sdc
lrwxrwxrwx 1 root root 10 abr  5 16:48 ata-ST340014A_5JVJX771-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 abr  5 16:48 ata-ST340014A_5JVJX771-part2 -> ../../sdc2
lrwxrwxrwx 1 root root 10 abr  5 16:48 ata-ST340014A_5JVJX771-part5 -> ../../sdc5
lrwxrwxrwx 1 root root  9 abr  5 16:48 ata-ST380011A_4JV0DD60 -> ../../sdb
lrwxrwxrwx 1 root root 10 abr  5 16:48 ata-ST380011A_4JV0DD60-part1 -> ../../sdb1
root@wasge-raid:~#

En el listado del directorio se pueden apreciar tres modelos de discos duros y sus respectivos nombres en el sistema. Usando éste comando y el anterior (lsblk) se puede identificar cada disco físicamente y su utilidad o punto de montaje dentro del sistema.

Listar particiones de cada disco

Para esto se puede usar el programa fdisk. He coloreado la información importante

wasge-estudio:/home/wasge # fdisk -l -u /dev/sdb

Disco /dev/sdb: 232,9 GiB, 250059350016 bytes, 488397168 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x29133921

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sdb1           2048  4208639  4206592    2G 82 Linux swap / Solaris
/dev/sdb2  *     4208640 24846335 20637696  9,9G 83 Linux
/dev/sdb3       24846336 46073855 21227520 10,1G 83 Linux

wasge-estudio:/home/wasge #

El comando es muy simple: fdisk es el nombre del programa, -l especifica que liste las particiones y -u especifica la unidad, que en este caso es /dev/sdb.

Fecha de creación: 1/6/2015 1:32:19 | Última modificación: 26/11/2020 22:36:36 | Hora del servidor: 25/4/2024 10:30:04