5.1 Anatomía de Discos y Particiones
¡Prepárate!
- Aprenderás la nomenclatura de dispositivos en el directorio mágico
/dev/. - Sabrás utilizar
lsblkpara obtener el mapa de todos tus discos conectados. - Entenderás por qué MBR está muerto a favór de GPT. - Aprenderás a esculpir
nuevos trozos de disco en consola usando
fdiskyparted.
En Linux, todo —absolutamente todo— es un archivo. Incluso los trozos de metal giratorio de 2 Terabytes.
Si conectas un Disco Duro nuevo a tu servidor, no aparecerá mágicamente una “Unidad D:”. En su lugar, el Kernel creará un archivo especial opaco dentro de la carpeta /dev (Devices).
Dependiendo del cable físico que use ese disco, Linux le pondrá un nombre distinto:
- Discos clásicos (SATA/USB): Se llamarán
sda(Primer disco),sdb(Segundo disco),sdc, etc. - Discos flash modernos (NVMe): Se llamarán
nvme0n1(Primer disco),nvme1n1, etc.
1. El Radar de Discos (lsblk)
Sección titulada “1. El Radar de Discos (lsblk)"Nunca, bajo ninguna circunstancia, operes un disco a ciegas. Tu mejor amigo antes de tocar nada es el comando “List Block Devices” (lsblk).
Este comando dibuja un árbol jerárquico inofensivo que te muestra qué discos físicos tienes y en cuántas particiones están cortados.
# Ver el mapa de discos sin tamaño alteradolsblk
# Ver el mapa de discos incluyendo el tipo de filesystem instalado en elloslsblk -fLa salida típica te mostrará el disco “padre” (sda), y como “hijos” ramificados sus particiones numéricas (sda1, sda2).
2. El Tablero de Dibujo: MBR vs GPT
Sección titulada “2. El Tablero de Dibujo: MBR vs GPT"Un disco crudo recién comprado no sirve de nada. Tienes que subdividirlo lógicamente (particionarlo). Pero antes de hacer particiones, el disco necesita un “Índice” en su primer sector físico que apunte a dónde empieza y termina cada partición. Hay dos tecnologías enfrentadas por la historia para este índice:
MBR (Master Boot Record) - El Anciano (1983)
Sección titulada “MBR (Master Boot Record) - El Anciano (1983)"- Solo soporta discos de hasta 2 Terabytes máximo. Si conectas un disco de 4TB, el sistema ignorará los 2TB extra.
- Solo permite crear 4 particiones primarias. Para tener más, tienes que crear una aberración llamada “Partición Extendida”.
- Comando clásico para editarlo:
fdisk /dev/sdb
GPT (GUID Partition Table) - El Estándar Moderno
Sección titulada “GPT (GUID Partition Table) - El Estándar Moderno"- Soporta discos de trillones de Terabytes (Zettabytes).
- Permite 128 particiones nativas como mínimo sin trucos sucios.
- Trae copia de seguridad del índice al final del disco por si el inicial se corrompe.
- Comando moderno para editarlo:
parted /dev/sdbogdisk.
3. Esculpiendo Discos en vivo
Sección titulada “3. Esculpiendo Discos en vivo"Hagamos de cuenta que hemos enchufado un disco vacío de 10GB que Linux llamó /dev/sdb. Vamos a crearle una partición ocupando todo el espacio.
Opción A: A la vieja escuela (Interactivo con fdisk)
Sección titulada “Opción A: A la vieja escuela (Interactivo con fdisk)"sudo fdisk /dev/sdbEntrarás a un prompt oscuro. Presiona m para ver la ayuda. Los pasos sagrados son:
- Pulsar
n(New) para nueva partición. - Pulsar
p(Primary). - Presionar Enter, Enter, Enter para aceptar todos los valores por defecto que asumen “todo el disco”.
- Pulsar
p(Print) para comprobar visualmente que se ha esculpido tu particiónsdb1. - Si te equivocaste pulsar
q(Quit sin guardar). Si todo cuadra pulsarw(Write) para grabar en metal los cambios y salir.
Opción B: A la moderna y automatizada (parted)
Sección titulada “Opción B: A la moderna y automatizada (parted)"parted no tiene por qué ser interactivo, le puedes lanzar la orden directamente en una sola línea, ideal para cuando despliegas 500 servidores de golpe con un script.
# 1. Asignarle el índice moderno GPT al disco virgensudo parted /dev/sdb mklabel gpt
# 2. Crear una partición primaria ocupando el 100% (desde el byte 0% al 100%)sudo parted -a opt /dev/sdb mkpart primary 0% 100%Al terminar con cualquiera de las dos utilidades, si vuelves a ejecutar tu radar lsblk, verás que ha nacido con éxito un nuevo hijo llamado sdb1 esperando a ser formateado en la siguiente lección.
Comprueba tus conocimientos
Sección titulada “Comprueba tus conocimientos"-
Ejecutas
lsblken tu servidor y observas la siguiente salida para un disco concreto: Un disco padre virtualizado de Azure llamado/dev/sdcde 5TB del cual cuelga un único hijo particionado llamado/dev/sdc1también de 5TB. ¿Qué formato de tabla de particiones está gastando obligatoriamente este disco en su primer sector? -
Acabas de entrar al menú oscuro del manipulador clásico de particiones ejecutando
sudo fdisk /dev/sdb. Sin querer, presionasd(Delete) un montón de veces y el programa te avisa que acabas de borrar las 3 particiones que contenían todos los datos históricos de facturación de la empresa. Empiezas a sudar frío. ¿Cuál es el procedimiento Sysadmin LFCS para no ir a la cárcel? -
Te piden de urgencia añadir un nuevo disco duro SSD ultra-rápido basado en estándar PCIe directo a la placa base en un servidor de bases de datos moderno. Insertado el disco y encendido Debian, vas corriendo a buscar la partición a
/dev/sdapero Linux te dice que no existe. ¿Por qué ocurre esto y dónde puede residir ese archivo en base a su naturaleza física?