LPIC-2 Tema 204.2: Ajustar el acceso a los dispositivos de almacenamiento

Siguiente entrada sobre las certificaciones LPIC-2, con el Tema 204.2. Este apartado está dedicado al ajuste del acceso a los medios de almacenamiento. Los candidatos deberán demostrar que pueden configurar las opciones del kernel para soportar varios controladores (SCSI, IDE, SATA, DMA, AHCI, NVMe…).

Para ello, se deberían conocer algunos conceptos básicos y también las utilidades de Linux que te permiten la configuración de este tipo de parámetros.

Nomenclatura de los dispositivos de almacenamiento

La forma en que Linux llama a los dispositivos de almacenamiento es algo que ya he citado en otros artículos previos. Pero lo refresco una vez más:

  • /dev/hd*: para los discos duros (E)IDE/PATA. El primer disco duro se denominará /dev/hda, el segundo /dev/hdb, el tercero /dev/hdc y así sucesivamente. En cuanto a las particiones, también se numeran con /dev/hda1 para la primera partición, /dev/hda2 para la segunda partición del primer disco duro, y así sucesivamente.
  • /dev/sd*: para los discos duros SCSI y SATA, también puede servir para dispositivos extraíbles. La forma de denominar los dispositivos y particiones es igual que en el caso anterior. Por ejemplo, /dev/sdc4 es la cuarta partición del tercer disco duro.
  • /dev/nvme*: para los discos duros NVMe. En este caso, la forma de numerarlos varía. En este caso, el primer dígito es el que identifica el dispositivo y comienza por 0. Después se identificaría el espacio de nombres (para los domésticos suele ser único, pero podrían configurarse más), y el siguiente valor es el número de partición. Por ejemplo, /dev/nvme0n1p2 significa que es el primer disco duro NVMe, primer espacio de nombres y la segunda partición. Por cierto, el namespace o espacio de nombres es una cantidad de memoria no volátil que se puede formatear en bloques lógicos, ya que los controladores de este estándar permiten dar acceso dividido en uno o más espacios de nombres a cada dispositivo. Estos espacios se pueden crear o eliminar a través del controlador, siempre que haya espacio para ellos. Incluso varios controladores pueden proporcionar acceso a un espacio de nombres compartido.
  • /dev/mmcblk: sirve para identificar a las tarjetas de memoria, como las SD. Por ejemplo, /dev/mmcblk0p1 es la primera tarjeta y la primera partición.

Curiosidad: ¿Cómo llama Linux a los discos duros más allá del 26 (z)?

Una duda frecuente suele ser qué ocurre en esas máquinas donde hay más de 26 dispositivos de almacenamiento, es decir, cómo denominaría Linux a un disco duro adicional después de /dev/sdz, por ejemplo. ¿Podría seguir aceptando discos o ese es su límite?

En el caso de los otros nombres, que usan números, no sería problema, pero sí para las letras [a-z]. En cambio, Linux tiene una estrategia para poder seguir nombrando a los dispositivos más allá de eso. Cuando termina con sd[a-z], después vendría sda[a-z], luego sdb[a-z], y así. Teóricamente se podrían agregar hasta 29 zetas, pero el límite real está en 18278 (sdzzz) para algunos kernels más antiguos (en los modernos se podría seguir más allá de esos in problemas).

Es decir, tras /dev/sdz vendría /dev/sdaa, luego /dev/sdab, hasta /dev/sdaz, luego /dev/sdba

Otros conceptos importantes

Otros conceptos que son interesantes para este apartado de las certificaciones LPIC-2 son:

  • LUN: Logical Unit Number es una dirección para una unidad de dico duro. Se empleó para los SCSI para identificar unidades individuales dentro de un bus con varios de ellos. Este término también es muy común en SAN (Storage Area Networks). Actualmente, un LUN no identifica a un disco entero, sino a una partición virtual o volumen dentro de un RAID.
  • WWID: World Wide ID
  • WWN: World Wide Name

Para obtener estos parámetros puedes usar:

#Método 1
cat /proc/scsi/scsi
ls -ld /sys/block/sd*/device
ls -la /dev/disk/by-id/

#Existen scripts y programas que también pueden identificarlos

Herramientas para el control del acceso a los dispositivos de almacenamiento

Por último, las herramientas que deberías conocer para controlar el acceso de los dispositivos de almacenamiento son:

  • hdparm, sdparm: estos comandos permiten obtener información de parámetros de un dispositivo de almacenamiento y también modificarlos. El primero funciona para dispositivos IDE/SATA y el segundo para SCSI. Con ellos se puede tanto conocer detalles, medir el rendimiento, ayudar a reducir el ruido de los discos, etc. Por ejemplo:
#Obtener información 
hdparm -I /dev/sda

#Comprobar la velocidad
hdparm -Tt /dev/sda

#Habilitar read-ahead
hdparm -A 1 /dev/sda

#Reducir el rendimiento de acceso (lectura/escritura) para reducir el ruido
hdparm -M 128 /dev/sda

#Modificar la gestión de energía (valores próximos a 255 desactivan la gestión de energía)
hdparm -B 254 /dev/sda

#Ver los actuales parámetros
hdparm -d /dev/sda

#Configurar DMA para un dispositivo
hdparm -d1 /dev/hda
  • nvme: si tienes el paquete nvme-cli, entonces podrás usar este otro programa para los dispositivos de almacenamiento NVMe, pudiendo ver detalles como la temperatura, ciclos de lectura y escritura, etc. Por ejemplo:
sudo nvme smart-log /dev/nvme0
  • tune2fs: (véase este artículo).
  • fstrim: para las unidades SSD que soporten TRIM, podrás usar esta herramienta para tratar de interferir en el rendimiento o en la vida útil de estos dispositivos de almacenamiento. Por ejemplo:
#Forzar TRIM en todos los dispositivos
sudo fstrim -v -a

#Solo en una partición concreta, como la root
sudo fstrim -v /
  • sysctl: (véase este artículo, este otro y este)
  • iscsiadm: es la herramienta de administración iSCSI. Además, también deberías conocer el fichero de configuración iscsid.conf. Por ejemplo:
#Loging en una sesión iSCSI Targets
iscsiadm -m node -l
iscsiadm -m node -T ign.ejemplo:wwn  -p 192.168.1.1:3260 -l

#Obtener información de conexión
iscsiadm -m session -P 3

#Logout
iscsiadm --mode node --targetname iqn.ejemplo:test --portal 192.168.1.1:3260 --logout

#Listar los grabados de un nodo
iscsiadm --mode node
  • scsi_id: sirve para obtener y generar una ID única para un medio SCSI. Por ejemplo:
scsi_id -g -s /block/sdf

#Más información
scsi_id -h
  • iscsid: abre el demonio del iSCSI. Lo podrás configurar como otro servicio más…

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

One thought on “LPIC-2 Tema 204.2: Ajustar el acceso a los dispositivos de almacenamiento

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto:

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar