Cómo Agregar y Montar Discos Adicionales en Linux: Guía Completa Paso a Paso

Agregar almacenamiento adicional a servidores Linux es una de las tareas de administración de sistemas más comunes. Ya sea que estés expandiendo capacidad para bases de datos en crecimiento, agregando almacenamiento de respaldo o provisionando espacio para nuevas aplicaciones, comprender cómo agregar y montar discos correctamente es esencial para cada administrador de Linux.

Esta guía completa te guía a través de todo el proceso de agregar discos físicos o virtuales a sistemas Linux, desde la detección inicial hasta la configuración de montaje permanente, asegurando una expansión de almacenamiento confiable y optimizada.

Introducción a la Gestión de Discos en Linux

Linux trata todos los dispositivos de almacenamiento como archivos bajo el directorio /dev. Cuando agregas un nuevo disco a tu sistema, ya sea hardware físico, disco virtual en una VM o almacenamiento de bloque en la nube, Linux lo detecta como un dispositivo de bloque que debe ser particionado, formateado y montado antes de su uso.

Escenarios Comunes para Agregar Discos

  • Expansión de capacidad: Agregar almacenamiento a medida que los datos crecen
  • Mejora de rendimiento: Separar datos entre múltiples discos
  • Almacenamiento de respaldo: Discos dedicados para operaciones de respaldo
  • Almacenamiento de base de datos: Almacenamiento aislado para archivos de base de datos
  • Datos de aplicación: Almacenamiento dedicado para aplicaciones específicas
  • Almacenamiento de registros: Disco separado para registros del sistema y aplicaciones

Tipos de Dispositivos de Almacenamiento

Diferentes entornos usan diferentes tipos de disco:

  • Servidores físicos: Unidades SATA, SAS, NVMe
  • Máquinas virtuales: VMware VMDK, VirtualBox VDI, KVM qcow2
  • Servidores en la nube: AWS EBS, Azure Managed Disks, Google Persistent Disks
  • Almacenamiento de red: iSCSI, NFS, Ceph

Prerrequisitos

Antes de agregar discos a tu sistema Linux, asegúrate de tener:

  • Acceso root o sudo al sistema
  • Disco físico o virtual conectado al servidor
  • Comprensión básica de conceptos de sistema de archivos Linux
  • Conocimiento de puntos de montaje disponibles
  • Respaldo completo de datos existentes antes de cualquier operación de disco
  • Comprensión del tipo de sistema de archivos elegido

Advertencia Crítica de Seguridad

ADVERTENCIA: Gestionar incorrectamente los discos puede resultar en pérdida de datos. Siempre:

  1. Verificar nombres de dispositivos antes de formatear (verificar dos veces /dev/sdb vs /dev/sda)
  2. Asegurarse de estar trabajando en el disco correcto
  3. Crear respaldos antes de cualquier operación de disco
  4. Probar procedimientos en entornos no productivos primero
  5. Documentar todas las configuraciones de disco
  6. Usar UUIDs para montajes permanentes para evitar cambios en nombres de dispositivos

Paso 1: Conectar Físicamente o Provisionar el Disco

Para Servidores Físicos

  1. Apagar el servidor (o usar hot-swap si es compatible)
  2. Instalar el disco físico en la bahía disponible
  3. Conectar cables de alimentación y datos
  4. Encender el servidor

Para Máquinas Virtuales

VMware/ESXi

  1. Apagar la VM (o usar hot-add si está habilitado)
  2. Editar configuración de la VM
  3. Agregar nuevo disco duro
  4. Configurar tamaño y tipo de disco
  5. Encender la VM

VirtualBox

  1. Apagar la VM
  2. Configuración de almacenamiento → Agregar nuevo disco
  3. Crear o conectar disco existente
  4. Encender la VM

KVM/QEMU

# Crear nueva imagen de disco
qemu-img create -f qcow2 /var/lib/libvirt/images/vm_disk2.qcow2 100G

# Conectar a VM en ejecución
virsh attach-disk vm_name /var/lib/libvirt/images/vm_disk2.qcow2 vdb --cache none

Para Servidores en la Nube

AWS EC2

# Crear volumen (vía consola AWS o CLI)
aws ec2 create-volume --size 100 --availability-zone us-east-1a --volume-type gp3

# Conectar a instancia
aws ec2 attach-volume --volume-id vol-xxxxx --instance-id i-xxxxx --device /dev/sdf

Azure

# Crear y conectar disco administrado
az vm disk attach --resource-group myResourceGroup --vm-name myVM \
  --name myDataDisk --size-gb 100 --sku Premium_LRS --new

Google Cloud

# Crear y conectar disco persistente
gcloud compute disks create data-disk-1 --size=100GB --zone=us-central1-a
gcloud compute instances attach-disk instance-1 --disk=data-disk-1 --zone=us-central1-a

Paso 2: Detectar el Nuevo Disco

Después de conectar físicamente o provisionar el disco, verifica que Linux lo detecte.

Listar Todos los Dispositivos de Bloque

lsblk

Ejemplo de salida:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk
├─sda1   8:1    0     1G  0 part /boot
└─sda2   8:2    0    99G  0 part /
sdb      8:16   0   500G  0 disk

El nuevo disco aparece como /dev/sdb (500GB, sin particiones).

Listar Discos con fdisk

sudo fdisk -l

Verificar Detalles del Disco

sudo lsblk -f

Muestra sistemas de archivos y UUIDs:

NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sda
├─sda1 ext4         a1b2c3d4-e5f6-7890-abcd-ef1234567890 /boot
└─sda2 ext4         b2c3d4e5-f6g7-8901-bcde-fg2345678901 /
sdb

Reescanear Bus SCSI (si el disco no es detectado)

Si el nuevo disco no aparece, reescanear:

# Reescanear todos los hosts SCSI
echo "- - -" | sudo tee /sys/class/scsi_host/host*/scan

# O para dispositivo específico
echo 1 | sudo tee /sys/class/block/sdb/device/rescan

Identificar Disco por Número de Serie

sudo lsblk -o NAME,SIZE,SERIAL

O:

sudo hdparm -I /dev/sdb | grep Serial

Paso 3: Particionar el Nuevo Disco

La mayoría de los escenarios requieren crear una partición antes de formatear.

Usando fdisk (MBR o GPT)

sudo fdisk /dev/sdb

Comandos interactivos:

Command (m for help): g
Created a new GPT disklabel (GUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX).

Command (m for help): n
Partition number (1-128, default 1): [Presionar Enter]
First sector: [Presionar Enter]
Last sector: [Presionar Enter]

Created a new partition 1 of type 'Linux filesystem' and of size 500 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Esto crea /dev/sdb1 usando todo el disco.

Usando parted

# Crear tabla de particiones GPT
sudo parted /dev/sdb mklabel gpt

# Crear partición usando todo el disco
sudo parted /dev/sdb mkpart primary 0% 100%

# Verificar
sudo parted /dev/sdb print

Usando gdisk (solo GPT)

sudo gdisk /dev/sdb

Comandos interactivos:

Command (? for help): n
Partition number (1-128, default 1): [Presionar Enter]
First sector: [Presionar Enter]
Last sector: [Presionar Enter]
Hex code or GUID: [Presionar Enter]

Command (? for help): w
Do you want to proceed? (Y/N): Y

Verificar Creación de Partición

lsblk

Salida:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk
├─sda1   8:1    0     1G  0 part /boot
└─sda2   8:2    0    99G  0 part /
sdb      8:16   0   500G  0 disk
└─sdb1   8:17   0   500G  0 part

Observa que /dev/sdb1 ahora existe.

Paso 4: Crear Sistema de Archivos en la Partición

Formatear la partición con tu sistema de archivos elegido.

Crear Sistema de Archivos ext4 (Más Común)

sudo mkfs.ext4 /dev/sdb1

Con etiqueta:

sudo mkfs.ext4 -L data_disk /dev/sdb1

Con optimizaciones:

sudo mkfs.ext4 -L data_disk -m 1 -E lazy_itable_init=0 /dev/sdb1

Opciones:

  • -L data_disk: Establecer etiqueta
  • -m 1: Reservar 1% para root (por defecto 5%)
  • -E lazy_itable_init=0: Inicializar inmediatamente

Crear Sistema de Archivos XFS

sudo mkfs.xfs -L backup_disk /dev/sdb1

Crear Sistema de Archivos Btrfs

sudo mkfs.btrfs -L container_storage /dev/sdb1

Crear Sistema de Archivos ext3

sudo mkfs.ext3 /dev/sdb1

Verificar Creación del Sistema de Archivos

sudo lsblk -f /dev/sdb

Salida:

NAME   FSTYPE LABEL      UUID                                 MOUNTPOINT
sdb
└─sdb1 ext4   data_disk  c3d4e5f6-g7h8-9012-cdef-gh3456789012

Obtener UUID para Uso Posterior

sudo blkid /dev/sdb1

Salida:

/dev/sdb1: UUID="c3d4e5f6-g7h8-9012-cdef-gh3456789012" TYPE="ext4" LABEL="data_disk"

Guarda este UUID para montaje permanente.

Paso 5: Crear Punto de Montaje

Crea un directorio donde se montará el disco.

Ubicaciones Comunes de Puntos de Montaje

  • /mnt/: Montajes temporales
  • /media/: Medios removibles
  • /data/: Datos de aplicación
  • /backup/: Almacenamiento de respaldo
  • /var/lib/: Datos de servicio (docker, mysql, etc.)

Crear Punto de Montaje

sudo mkdir -p /mnt/data

O para propósito específico:

sudo mkdir -p /var/lib/mysql_data
sudo mkdir -p /backup
sudo mkdir -p /data/applications

Paso 6: Montar el Disco Temporalmente

Probar el montaje antes de hacerlo permanente.

Montar la Partición

sudo mount /dev/sdb1 /mnt/data

Verificar Montaje

df -h /mnt/data

Salida:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1       492G   73M  467G   1% /mnt/data

Verificar Detalles de Montaje

mount | grep sdb1

Salida:

/dev/sdb1 on /mnt/data type ext4 (rw,relatime)

Probar Acceso de Lectura/Escritura

# Crear archivo de prueba
sudo touch /mnt/data/test_file
echo "Contenido de prueba" | sudo tee /mnt/data/test_file

# Verificar
cat /mnt/data/test_file

# Eliminar archivo de prueba
sudo rm /mnt/data/test_file

Desmontar (si es necesario)

sudo umount /mnt/data

Paso 7: Configurar Montaje Automático al Inicio

Hacer el montaje permanente agregándolo a /etc/fstab.

Comprendiendo /etc/fstab

El archivo /etc/fstab controla el montaje automático del sistema de archivos al inicio.

Formato:

<dispositivo>  <punto_montaje>  <tipo>  <opciones>  <dump>  <pass>

Respaldar fstab Actual

CRÍTICO: Siempre respaldar antes de editar:

sudo cp /etc/fstab /etc/fstab.backup.$(date +%Y%m%d)

Agregar Entrada Usando UUID (Recomendado)

Obtener UUID:

sudo blkid /dev/sdb1

Editar fstab:

sudo nano /etc/fstab

Agregar línea:

UUID=c3d4e5f6-g7h8-9012-cdef-gh3456789012  /mnt/data  ext4  defaults  0  2

Agregar Entrada Usando Ruta de Dispositivo (No Recomendado)

/dev/sdb1  /mnt/data  ext4  defaults  0  2

Nota: Los nombres de dispositivos pueden cambiar; los UUIDs son más confiables.

Agregar Entrada con Opciones Personalizadas

UUID=c3d4e5f6-g7h8-9012-cdef-gh3456789012  /mnt/data  ext4  defaults,noatime,errors=remount-ro  0  2

Opciones comunes de montaje:

  • defaults: Opciones por defecto (rw, suid, dev, exec, auto, nouser, async)
  • noatime: No actualizar tiempos de acceso (mejora rendimiento)
  • nodiratime: No actualizar tiempos de acceso de directorios
  • errors=remount-ro: Remontar como solo lectura en errores
  • nofail: Continuar inicio si el disco no está disponible
  • discard: Habilitar TRIM para SSDs

Comprendiendo Valores de Dump y Pass

Últimos dos campos en fstab:

Campo Dump:

  • 0: No volcar (respaldar)
  • 1: Volcar sistema de archivos

Campo Pass:

  • 0: No verificar sistema de archivos
  • 1: Verificar primero (solo sistema de archivos raíz)
  • 2: Verificar después del sistema de archivos raíz

Recomendado:

  • Partición raíz: 0 1
  • Particiones de datos: 0 2
  • Swap: 0 0

Probar Configuración de fstab

IMPORTANTE: Probar antes de reiniciar:

# Desmontar si está montado actualmente
sudo umount /mnt/data

# Probar montaje todo desde fstab
sudo mount -a

# Verificar
df -h /mnt/data

Si ocurren errores, fstab tiene problemas. Corregir antes de reiniciar.

Verificar Después del Reinicio

# Reiniciar sistema
sudo reboot

# Después del reinicio, verificar montaje automático
df -h /mnt/data

Paso 8: Establecer Permisos y Propiedad

Configurar permisos apropiados para el disco montado.

Cambiar Propiedad

# Cambiar propietario a usuario específico
sudo chown username:username /mnt/data

# Cambiar a usuario del servidor web
sudo chown www-data:www-data /mnt/data

# Cambiar a usuario de base de datos
sudo chown mysql:mysql /var/lib/mysql_data

Establecer Permisos

# Acceso completo para propietario, lectura para otros
sudo chmod 755 /mnt/data

# Acceso completo solo para propietario
sudo chmod 700 /mnt/data

# Acceso completo para propietario y grupo
sudo chmod 770 /mnt/data

Establecer ACLs para Permisos Avanzados

# Instalar utilidades ACL si es necesario
sudo apt install acl

# Establecer ACL
sudo setfacl -m u:username:rwx /mnt/data
sudo setfacl -m g:groupname:rx /mnt/data

# Verificar ACLs
getfacl /mnt/data

Escenarios Comunes y Ejemplos

Escenario 1: Agregar Almacenamiento de Respaldo

# Después de conectar disco
sudo fdisk /dev/sdb  # Crear partición
sudo mkfs.ext4 -L backup /dev/sdb1
sudo mkdir /backup
sudo mount /dev/sdb1 /backup

# Obtener UUID
UUID=$(sudo blkid -s UUID -o value /dev/sdb1)

# Agregar a fstab
echo "UUID=$UUID /backup ext4 defaults,noatime 0 2" | sudo tee -a /etc/fstab

# Probar
sudo mount -a
df -h /backup

Escenario 2: Agregar Almacenamiento de Base de Datos

# Crear y montar
sudo mkfs.xfs -L mysql_data /dev/sdb1
sudo mkdir /var/lib/mysql_data

# Obtener UUID
UUID=$(sudo blkid -s UUID -o value /dev/sdb1)

# Agregar a fstab
echo "UUID=$UUID /var/lib/mysql_data xfs defaults,noatime 0 2" | sudo tee -a /etc/fstab

# Montar y establecer permisos
sudo mount -a
sudo chown mysql:mysql /var/lib/mysql_data
sudo chmod 750 /var/lib/mysql_data

Escenario 3: Agregar Almacenamiento Docker

# Crear sistema de archivos
sudo mkfs.ext4 -L docker_storage /dev/sdb1

# Detener Docker
sudo systemctl stop docker

# Respaldar datos existentes
sudo rsync -avxHAX /var/lib/docker/ /var/lib/docker.backup/

# Montar nuevo disco
sudo mkdir -p /var/lib/docker
UUID=$(sudo blkid -s UUID -o value /dev/sdb1)
echo "UUID=$UUID /var/lib/docker ext4 defaults,noatime 0 2" | sudo tee -a /etc/fstab
sudo mount -a

# Restaurar datos
sudo rsync -avxHAX /var/lib/docker.backup/ /var/lib/docker/

# Iniciar Docker
sudo systemctl start docker

Escenario 4: Agregar Almacenamiento de Datos de Aplicación

# Crear y montar
sudo mkfs.ext4 -L app_data /dev/sdb1
sudo mkdir /data/applications

# Configurar
UUID=$(sudo blkid -s UUID -o value /dev/sdb1)
echo "UUID=$UUID /data/applications ext4 defaults,noatime 0 2" | sudo tee -a /etc/fstab
sudo mount -a

# Establecer permisos para aplicación
sudo chown appuser:appgroup /data/applications
sudo chmod 775 /data/applications

Usando Disco Completo Sin Particionar

En algunos casos, puedes formatear el disco completo sin crear particiones.

Formatear Disco Completo

sudo mkfs.ext4 /dev/sdb

Montar Disco Completo

sudo mkdir /mnt/data
sudo mount /dev/sdb /mnt/data

Agregar a fstab

UUID=$(sudo blkid -s UUID -o value /dev/sdb)
echo "UUID=$UUID /mnt/data ext4 defaults,noatime 0 2" | sudo tee -a /etc/fstab

Nota: Usar disco completo (sin particiones) es más simple pero menos flexible.

Verificación y Pruebas

Verificación Completa del Sistema

# Listar todos los dispositivos de bloque
lsblk -f

# Mostrar sistemas de archivos montados
df -h

# Mostrar detalles de montaje
mount | grep sd

# Verificar sintaxis de fstab
sudo findmnt --verify

# Verificar sistema de archivos
sudo fsck -n /dev/sdb1

Pruebas de Rendimiento

# Prueba de escritura
sudo dd if=/dev/zero of=/mnt/data/testfile bs=1G count=1 oflag=direct

# Prueba de lectura
sudo dd if=/mnt/data/testfile of=/dev/null bs=1M

# Limpiar
sudo rm /mnt/data/testfile

Monitorear Salud del Disco

# Instalar smartmontools
sudo apt install smartmontools

# Verificar salud del disco
sudo smartctl -a /dev/sdb

# Ejecutar prueba corta
sudo smartctl -t short /dev/sdb

# Verificar resultados de prueba
sudo smartctl -l selftest /dev/sdb

Solución de Problemas Comunes

Problema: Nuevo Disco No Detectado

Causa: El sistema no ha escaneado nuevos dispositivos.

Solución:

# Reescanear bus SCSI
echo "- - -" | sudo tee /sys/class/scsi_host/host*/scan

# Verificar dmesg para errores
sudo dmesg | grep -i disk

# Verificar configuración de BIOS/virtualización

Problema: "Device or Resource Busy" al Desmontar

Causa: Los procesos están usando el sistema de archivos.

Solución:

# Encontrar procesos usando el montaje
sudo lsof /mnt/data

# O
sudo fuser -m /mnt/data

# Matar procesos si es necesario
sudo fuser -km /mnt/data

# Desmontar
sudo umount /mnt/data

Problema: El Sistema No Arranca Después de Cambios en fstab

Causa: Error en /etc/fstab.

Solución:

  1. Arrancar en modo de recuperación o USB en vivo
  2. Montar sistema de archivos raíz: mount /dev/sda2 /mnt
  3. Editar fstab: nano /mnt/etc/fstab
  4. Corregir o eliminar entrada problemática
  5. Agregar opción nofail para prevenir fallo de arranque
  6. Reiniciar

Problema: El Punto de Montaje Ya Existe con Datos

Causa: Montando sobre directorio existente.

Solución:

# Usar punto de montaje diferente
sudo mkdir /mnt/data2
sudo mount /dev/sdb1 /mnt/data2

# O mover datos existentes
sudo mv /mnt/data /mnt/data.old
sudo mkdir /mnt/data
sudo mount /dev/sdb1 /mnt/data

Problema: Permiso Denegado Después de Montar

Causa: Permisos o propiedad incorrectos.

Solución:

# Verificar permisos actuales
ls -ld /mnt/data

# Corregir propiedad
sudo chown -R username:username /mnt/data

# Corregir permisos
sudo chmod 755 /mnt/data

Problema: Errores del Sistema de Archivos al Montar

Causa: Corrupción o formateo incompleto.

Solución:

# Desmontar
sudo umount /mnt/data

# Verificar y reparar sistema de archivos (ext4)
sudo e2fsck -f -y /dev/sdb1

# O para XFS
sudo xfs_repair /dev/sdb1

# Remontar
sudo mount /dev/sdb1 /mnt/data

Mejores Prácticas

1. Usar Siempre UUIDs en fstab

Los nombres de dispositivos pueden cambiar; los UUIDs permanecen constantes:

# Bueno
UUID=c3d4e5f6-g7h8-9012-cdef-gh3456789012  /mnt/data  ext4  defaults  0  2

# Evitar
/dev/sdb1  /mnt/data  ext4  defaults  0  2

2. Respaldar fstab Antes de Editar

sudo cp /etc/fstab /etc/fstab.backup.$(date +%Y%m%d)

3. Probar fstab Antes de Reiniciar

sudo mount -a

4. Usar Etiquetas Descriptivas

sudo mkfs.ext4 -L mysql_data /dev/sdb1
sudo mkfs.ext4 -L backup_storage /dev/sdc1

5. Agregar Opción nofail para Discos No Críticos

Prevenir fallo de arranque si el disco no está disponible:

UUID=xxx  /mnt/data  ext4  defaults,nofail  0  2

6. Usar noatime para Rendimiento

Deshabilitar actualizaciones de tiempo de acceso:

UUID=xxx  /mnt/data  ext4  defaults,noatime  0  2

7. Documentar Configuración de Disco

Mantener documentación:

# Guardar configuración
lsblk -f > /root/disk_config_$(date +%Y%m%d).txt
cat /etc/fstab >> /root/disk_config_$(date +%Y%m%d).txt

8. Monitorear Espacio en Disco

Configurar monitoreo:

# Crear script de monitoreo
cat << 'EOF' | sudo tee /usr/local/bin/check_disk_space.sh
#!/bin/bash
df -h | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output; do
  usage=$(echo $output | awk '{print $1}' | sed 's/%//g')
  partition=$(echo $output | awk '{print $2}')
  if [ $usage -ge 90 ]; then
    echo "ADVERTENCIA: $partition al ${usage}%"
  fi
done
EOF

sudo chmod +x /usr/local/bin/check_disk_space.sh

# Agregar a cron
echo "0 * * * * /usr/local/bin/check_disk_space.sh" | crontab -

9. Usar Sistema de Archivos Apropiado

Elegir según caso de uso:

  • ext4: Propósito general, más compatible
  • XFS: Archivos grandes, alto rendimiento
  • Btrfs: Funciones avanzadas, instantáneas

10. Planificar para Crecimiento

Dejar espacio para expansión:

  • No usar 100% de la capacidad del disco
  • Considerar LVM para flexibilidad
  • Planificar tamaños de partición cuidadosamente

Temas Avanzados

Usando LVM para Flexibilidad

# Crear volumen físico
sudo pvcreate /dev/sdb1

# Crear grupo de volúmenes
sudo vgcreate vg_data /dev/sdb1

# Crear volumen lógico
sudo lvcreate -L 100G -n lv_data vg_data

# Crear sistema de archivos
sudo mkfs.ext4 /dev/vg_data/lv_data

# Montar
sudo mkdir /mnt/data
sudo mount /dev/vg_data/lv_data /mnt/data

# Agregar a fstab
echo "/dev/vg_data/lv_data /mnt/data ext4 defaults 0 2" | sudo tee -a /etc/fstab

Encriptando Discos Adicionales

# Instalar cryptsetup
sudo apt install cryptsetup

# Encriptar partición
sudo cryptsetup luksFormat /dev/sdb1

# Abrir partición encriptada
sudo cryptsetup open /dev/sdb1 encrypted_data

# Crear sistema de archivos
sudo mkfs.ext4 /dev/mapper/encrypted_data

# Montar
sudo mkdir /mnt/encrypted
sudo mount /dev/mapper/encrypted_data /mnt/encrypted

Creando Múltiples Particiones en Un Disco

# Crear particiones
sudo parted /dev/sdb mklabel gpt
sudo parted /dev/sdb mkpart primary 0% 50%
sudo parted /dev/sdb mkpart primary 50% 100%

# Formatear particiones
sudo mkfs.ext4 /dev/sdb1
sudo mkfs.xfs /dev/sdb2

# Montar particiones
sudo mkdir /mnt/data1 /mnt/data2
sudo mount /dev/sdb1 /mnt/data1
sudo mount /dev/sdb2 /mnt/data2

# Agregar a fstab
UUID1=$(sudo blkid -s UUID -o value /dev/sdb1)
UUID2=$(sudo blkid -s UUID -o value /dev/sdb2)
echo "UUID=$UUID1 /mnt/data1 ext4 defaults,noatime 0 2" | sudo tee -a /etc/fstab
echo "UUID=$UUID2 /mnt/data2 xfs defaults,noatime 0 2" | sudo tee -a /etc/fstab

Lista de Verificación para Agregar Discos

Usa esta lista de verificación para cada adición de disco:

  • Conectar disco físico o virtual
  • Verificar detección de disco con lsblk
  • Crear partición con fdisk, parted o gdisk
  • Crear sistema de archivos con mkfs.ext4 o comando apropiado
  • Crear directorio de punto de montaje
  • Probar montaje con comando mount
  • Verificar acceso de lectura/escritura
  • Obtener UUID con blkid
  • Respaldar /etc/fstab
  • Agregar entrada a /etc/fstab
  • Probar con mount -a
  • Establecer permisos apropiados
  • Verificar después del reinicio
  • Documentar configuración
  • Configurar monitoreo

Conclusión

Agregar y montar discos adicionales es una habilidad fundamental de administración de Linux que permite una gestión flexible de almacenamiento. Siguiendo los procedimientos apropiados, desde la detección del disco hasta la configuración permanente de montaje, aseguras una expansión de almacenamiento confiable, de alto rendimiento y mantenible.

Puntos clave:

  1. Siempre verificar nombres de dispositivos antes de formatear
  2. Usar UUIDs en /etc/fstab para confiabilidad
  3. Probar configuraciones de montaje antes de reiniciar
  4. Respaldar /etc/fstab antes de hacer cambios
  5. Establecer permisos apropiados para seguridad
  6. Documentar todas las adiciones de disco para referencia futura
  7. Monitorear espacio en disco proactivamente
  8. Elegir sistemas de archivos apropiados para tu carga de trabajo
  9. Usar opción nofail para discos no críticos
  10. Probar procedimientos de recuperación ante desastres

Recuerda que la gestión adecuada de discos no se trata solo de agregar almacenamiento, se trata de implementar infraestructura de almacenamiento confiable y mantenible que soporte tus aplicaciones y datos a largo plazo. Siguiendo las mejores prácticas y procedimientos descritos en esta guía, puedes gestionar con confianza la expansión de almacenamiento en cualquier sistema Linux.

Ya sea que estés gestionando servidores físicos, máquinas virtuales o instancias en la nube, los principios permanecen iguales: planificación cuidadosa, configuración apropiada, pruebas exhaustivas y documentación completa aseguran operaciones exitosas de gestión de almacenamiento.