Configuración de Dispositivos de Almacenamiento

LinuxBeginner
Practicar Ahora

Introducción

Bienvenidos al laboratorio sobre la configuración de dispositivos de almacenamiento en Linux. La gestión del almacenamiento es una habilidad fundamental para cualquier administrador de sistemas Linux. Cuando se añade un nuevo disco duro o una unidad de estado sólido (SSD) a un sistema, este no está inmediatamente disponible para su uso. Primero debe prepararlo creando un sistema de archivos y luego hacerlo accesible adjuntándolo al árbol de directorios.

En este laboratorio, recorrerá el ciclo de vida completo de la adición de un nuevo dispositivo de almacenamiento. Aprenderá a:

  • Identificar un disco recién conectado.
  • Crear un sistema de archivos estándar de Linux (ext4) en el disco.
  • Montar el disco en un directorio para hacerlo accesible.
  • Verificar su uso y escribir datos en él.
  • Desmontar y desvincular el disco de forma segura.

Utilizaremos comandos como lsblk, mkfs.ext4, mount, df y umount. Al finalizar este laboratorio, tendrá una comprensión sólida de cómo gestionar dispositivos de almacenamiento básicos en un entorno Linux.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel intermedio con una tasa de finalización del 80%. Ha recibido una tasa de reseñas positivas del 82% por parte de los estudiantes.

Conectar Disco Virtual

En este entorno de laboratorio, se ha creado un disco virtual para usted mediante un proceso de configuración automatizado. Esto simula la adición de un nuevo dispositivo de almacenamiento a un sistema. El script de configuración crea un archivo de disco virtual de 100MB y lo asocia a un dispositivo loop (bucle), luego crea un enlace simbólico /dev/sdb para mantener la consistencia.

Su primera tarea es confirmar que el sistema operativo puede ver este nuevo disco. El comando lsblk (listar dispositivos de bloque) es perfecto para esto. Muestra información sobre todos los dispositivos de bloque disponibles en un formato similar a un árbol.

Ejecute el siguiente comando en su terminal para listar los dispositivos de bloque:

lsblk

Debería ver una salida similar a la siguiente. Busque un dispositivo loop de 100MB (podría llamarse loop4, loop14, u otro número de dispositivo loop disponible) que no esté montado y no tenga puntos de montaje listados.

NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0     4K  1 loop /snap/bare/5
loop1    7:1    0  91.4M  1 loop /snap/lxd/35819
...
loop4    7:4    0   100M  0 loop
...
vda    252:0    0    40G  0 disk
├─vda1 252:1    0     1M  0 part
├─vda2 252:2    0   200M  0 part /boot/efi
└─vda3 252:3    0  39.8G  0 part /

Esto confirma que el disco es reconocido por el sistema y está listo para el siguiente paso: el formateo.

Si no ve el dispositivo loop, puede ejecutar el siguiente comando para crearlo:

## Create a 100MB file to act as our virtual disk
dd if=/dev/zero of=/tmp/disk.img bs=1M count=100 &> /dev/null
## Find the next available loop device
LOOP_DEVICE=$(losetup -f)
## Associate the file with a loop device, simulating a physical disk
sudo losetup $LOOP_DEVICE /tmp/disk.img
## Create a symbolic link for consistency in the lab
sudo ln -sf $LOOP_DEVICE /dev/sdb

Luego, ejecute el comando lsblk nuevamente para confirmar que el dispositivo loop ha sido creado.

Formatear Disco con el Comando mkfs.ext4 /dev/sdb

En este paso, formateará el nuevo disco. Un disco sin formato es como una pizarra en blanco; el sistema operativo no sabe cómo almacenar archivos en él. El formateo, también conocido como creación de un sistema de archivos (filesystem), escribe una estructura de datos en el disco que le permite organizar y almacenar archivos.

Utilizaremos el sistema de archivos ext4, que es un estándar fiable y ampliamente utilizado para sistemas Linux. El comando para crear un sistema de archivos ext4 es mkfs.ext4.

Advertencia: Este comando es destructivo. Borrará todos los datos del dispositivo especificado. Siempre verifique dos veces el nombre del dispositivo antes de ejecutarlo.

Ahora, formatee el disco /dev/sdb. Dado que esta es una operación privilegiada que modifica un dispositivo, debe usar sudo.

sudo mkfs.ext4 /dev/sdb

El comando mostrará información sobre el sistema de archivos que está creando, incluyendo el número de inodes y bloques. La salida se verá algo así:

mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 25600 4k blocks and 25600 inodes

Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

El disco /dev/sdb ahora está formateado con un sistema de archivos ext4 y está listo para ser montado.

Montar Disco en el Directorio /mnt/data

En este paso, hará que el disco formateado sea accesible para el sistema de archivos. Este proceso se denomina "montaje" (mounting). Montar adjunta el sistema de archivos de un dispositivo a un directorio específico, conocido como "punto de montaje" (mount point). Una vez montado, puede leer y escribir en el dispositivo accediendo al directorio del punto de montaje.

Primero, necesitamos crear un directorio que sirva como punto de montaje. Es una convención común usar subdirectorios dentro de /mnt para montajes temporales. Crearemos un directorio llamado /mnt/data.

sudo mkdir /mnt/data

Ahora, use el comando mount para adjuntar el dispositivo /dev/sdb al directorio /mnt/data. La sintaxis es sudo mount [dispositivo] [punto_de_montaje].

sudo mount /dev/sdb /mnt/data

El comando debería ejecutarse sin ninguna salida si tiene éxito. Para verificar que el disco está montado, puede usar el comando lsblk nuevamente.

lsblk

Observe en la siguiente salida que el dispositivo loop (al que apunta /dev/sdb) ahora muestra /mnt/data como su MOUNTPOINT.

NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0     4K  1 loop /snap/bare/5
loop1    7:1    0  91.4M  1 loop /snap/lxd/35819
...
loop4    7:4    0   100M  0 loop /mnt/data
...
vda    252:0    0    40G  0 disk
├─vda1 252:1    0     1M  0 part
├─vda2 252:2    0   200M  0 part /boot/efi
└─vda3 252:3    0  39.8G  0 part /

El disco ahora está listo para usarse.

Comprobar Uso del Disco con el Comando df -h

En este paso, verificará que el disco montado es utilizable y comprobará su espacio disponible. El comando df (disk free, espacio libre en disco) se utiliza para informar sobre el uso del espacio en disco de los sistemas de archivos. Usar la opción -h (--human-readable, legible por humanos) facilita la lectura de la salida imprimiendo los tamaños en potencias de 1024 (por ejemplo, K, M, G).

Ejecute el comando df -h para ver todos los sistemas de archivos montados, incluido el nuevo:

df -h

Busque en la salida la línea correspondiente a /dev/sdb. Mostrará el tamaño total, el espacio utilizado, el espacio disponible y el punto de montaje.

Filesystem      Size  Used Avail Use% Mounted on
...
/dev/sdb         98M  2.5M   89M   3% /mnt/data
...

Ahora que el disco está montado, el directorio /mnt/data actúa como la raíz del nuevo disco. Vamos a escribir un archivo en él para confirmar que funciona. Usaremos tee con sudo porque el punto de montaje es propiedad de root.

echo "Hello LabEx" | sudo tee /mnt/data/test.txt

Puede verificar que el archivo se creó listando el contenido del directorio:

ls /mnt/data

La salida debería mostrar su nuevo archivo:

test.txt

Ha formateado, montado y escrito datos con éxito en su nuevo dispositivo de almacenamiento.

Desmontar y Desvincular Disco

En este paso final, aprenderás cómo desmontar y desasociar de forma segura el dispositivo de almacenamiento. Es fundamental desmontar un sistema de archivos antes de que el dispositivo subyacente sea retirado del sistema. Esto asegura que todos los datos pendientes se escriban en el disco, previniendo la pérdida o corrupción de datos.

El comando para desmontar un sistema de archivos es umount. Puedes especificar el nombre del dispositivo o el punto de montaje. Usaremos el punto de montaje.

sudo umount /mnt/data

Para confirmar que el disco ha sido desmontado, ejecuta lsblk una vez más. Verás que el dispositivo loop ya no tiene un punto de montaje asociado.

lsblk
NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0     4K  1 loop /snap/bare/5
loop1    7:1    0  91.4M  1 loop /snap/lxd/35819
...
loop4    7:4    0   100M  0 loop
...
vda    252:0    0    40G  0 disk
├─vda1 252:1    0     1M  0 part
├─vda2 252:2    0   200M  0 part /boot/efi
└─vda3 252:3    0  39.8G  0 part /

Ahora que el sistema de archivos está desmontado, podemos "desasociar" (detach) el disco virtual. En nuestro entorno simulado, esto significa disociar el dispositivo loop. Dado que /dev/sdb es un enlace simbólico al dispositivo loop real, necesitamos resolverlo a la ruta del dispositivo real para desasociarlo correctamente.

## Desasociar el dispositivo loop resolviendo el enlace simbólico
sudo losetup -d $(readlink -f /dev/sdb)
## Eliminar el enlace simbólico
sudo rm /dev/sdb

Finalmente, vamos a limpiar eliminando el directorio del punto de montaje que creamos.

sudo rmdir /mnt/data

Ahora has completado con éxito el ciclo completo de añadir, usar y eliminar un dispositivo de almacenamiento.

Resumen

¡Felicidades por completar el laboratorio! Ha aprendido con éxito el flujo de trabajo esencial para configurar un nuevo dispositivo de almacenamiento en un entorno Linux.

En este laboratorio, practicó las siguientes habilidades clave:

  • Identificar nuevos dispositivos de bloque utilizando el comando lsblk.
  • Crear un sistema de archivos en un disco sin formato con mkfs.ext4.
  • Crear un punto de montaje con mkdir.
  • Montar un sistema de archivos para hacerlo accesible usando el comando mount.
  • Verificar el uso del disco con df -h.
  • Desmontar de forma segura un sistema de archivos con el comando umount.
  • Desconectar un dispositivo loop con losetup -d para simular la extracción del disco.

Estas son operaciones fundamentales para gestionar el almacenamiento en cualquier servidor o estación de trabajo Linux. Ahora puede aplicar este conocimiento para administrar discos duros reales, SSDs o unidades USB. Le animamos a seguir explorando temas de almacenamiento más avanzados como la Gestión de Volúmenes Lógicos (LVM), RAID y diferentes tipos de sistemas de archivos.