En esta guía técnica se explica el proceso completo para configurar particiones en un sistema Linux: una partición primaria, una partición de intercambio (swap), una partición extendida y una partición lógica dentro de ella.
Preparación del disco adicional
Se agrega un nuevo disco SCSI desde el hipervisor y se detecta en el sistema operativo sin necesidad de reiniciar la máquina virtual.
[admin@servidor ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 80G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 77.5G 0 part /
sr0 11:0 1 1024M 0 rom
[admin@servidor ~]$ echo "1 0 1" > /sys/class/scsi_host/host1/scan
[admin@servidor ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 80G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 77.5G 0 part /
sdb 8:16 0 40G 0 disk
sr0 11:0 1 1024M 0 rom
Diseño del esquema de particiones
El plan de particionamiento para el disco /dev/sdb será el sgiuiente:
- Primaria 1: 8 GiB (para datos generales)
- Primaria 2 (swap): 4 GiB
- Extendida: 16 GiB contenedora
- Lógica 1 dentro de la extendida: 8 GiB
Ejecución de fdisk
Se inicia la herramienta de particionamiento interactivo:
[admin@servidor ~]$ fdisk /dev/sdb
Bienvenido a fdisk (util-linux 2.37.4).
Los cambios permanecerán solo en memoria hasta que decida escribirlos.
Tenga cuidado antes de usar el comando de escritura.
Comando (m para ayuda): n
Tipo de partición:
p primaria (0 primarias, 0 extendidas, 4 libres)
e extendida
Seleccionar (predeterminado p): p
Número de partición (1-4, predeterminado 1): 1
Primer sector (2048-83886079, predeterminado 2048):
Usando el valor predeterminado 2048
Último sector, +sectores o +tamaño{K,M,G,T,P} (2048-83886079, predeterminado 83886079): +8G
Se creó la partición 1 de tipo Linux y tamaño 8 GiB
Comando (m para ayuda): n
Tipo de partición:
p primaria (1 primaria, 0 extendidas, 3 libres)
e extendida
Seleccionar (predeterminado p): p
Número de partición (2-4, predeterminado 2): 2
Primer sector (16779264-83886079, predeterminado 16779264):
Usando el valor predeterminado 16779264
Último sector, +sectores o +tamaño{K,M,G,T,P} (16779264-83886079, predeterminado 83886079): +4G
Se creó la partición 2 de tipo Linux y tamaño 4 GiB
Comando (m para ayuda): t
Número de partición (1,2, predeterminado 2): 2
Código hexadecimal (escribir L para listar todos los códigos): 82
Se cambió el tipo de partición 'Linux' a 'Linux swap / Solaris'
Comando (m para ayuda): n
Tipo de partición:
p primaria (2 primarias, 0 extendidas, 2 libres)
e extendida
Seleccionar (predeterminado p): e
Número de partición (3,4, predeterminado 3): 3
Primer sector (25167872-83886079, predeterminado 25167872):
Usando el valor predeterminado 25167872
Último sector, +sectores o +tamaño{K,M,G,T,P} (25167872-83886079, predeterminado 83886079): +16G
Se creó la partición 3 de tipo Extended y tamaño 16 GiB
Comando (m para ayuda): n
Tipo de partición:
p primaria (2 primarias, 1 extendida, 1 libre)
l lógica (numerada a partir de 5)
Seleccionar (predeterminado p): l
Añadiendo partición lógica 5
Primer sector (25169920-58720255, predeterminado 25169920):
Usando el valor predeterminado 25169920
Último sector, +sectores o +tamaño{K,M,G,T,P} (25169920-58720255, predeterminado 58720255): +8G
Se creó la partición 5 de tipo Linux y tamaño 8 GiB
Comando (m para ayuda): p
Disco /dev/sdb: 40 GiB, 42949672960 bytes, 83886080 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: 0xa3f5c201
Dispositivo Inicio Final Sectores Tamaño Id Tipo
/dev/sdb1 2048 16779263 16777216 8G 83 Linux
/dev/sdb2 16779264 25167871 8388608 4G 82 Linux swap / Solaris
/dev/sdb3 25167872 58720255 33552384 16G 5 Extendida
/dev/sdb5 25169920 41947135 16777216 8G 83 Linux
Comando (m para ayuda): w
La tabla de particiones ha sido alterada.
Llamando a ioctl() para releer la tabla de particiones.
Sincronizando discos.
Se actualiza la información de particiones en el kernel:
[admin@servidor ~]$ partprobe /dev/sdb
Formateo y configuración de mount points
Se crean los directorios de montaje y se formatean las partiicones:
[admin@servidor ~]$ mkdir -p /mnt/primaria /mnt/backup
[admin@servidor ~]$ mkfs.ext4 /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021)
Creando sistema de ficheros con 2097152 bloques de 4k y 524288 inodos
UUID del sistema de ficheros: d4a8e1b2-7c3f-4a91-b5e6-2f8d9c0a1b3e
Respaldos del superbloque almacenados en los bloques:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Reservando tablas de grupos: hecho
Escribiendo tablas de inodos: hecho
Creando journal (65536 bloques): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho
[admin@servidor ~]$ mkswap /dev/sdb2
Configurando espacio de intercambio versión 1, tamaño = 4 GiB (4294963200 bytes)
etiqueta UUID: e8f3a2c1-5d7b-4e09-9a6f-3b1c8d2e4f5a
[admin@servidor ~]$ swapon /dev/sdb2
[admin@servidor ~]$ mkfs.xfs /dev/sdb5
meta-data=/dev/sdb5 isize=512 agcount=4, agsize=524288 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0
data = bsize=4096 blocks=2097152, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Configuración del montaje automático
Se edita el archivo /etc/fstab para que las particiones se monten durante el arranque:
# /etc/fstab
# Información de sistemas de ficheros
UUID=a4b5c6d7-e8f9-0a1b-2c3d-4e5f6a7b8c9d / xfs defaults 0 0
UUID=1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d /boot ext4 defaults 0 0
/dev/sdb2 none swap sw 0 0
/dev/sdb1 /mnt/primaria ext4 defaults 0 0
/dev/sdb5 /mnt/backup xfs defaults 0 0
[admin@servidor ~]$ mount -a
Verificación de la configuración
[admin@servidor ~]$ df -hT | grep -E "sdb|Montado"
S.ficheros Tipo Tamaño Uso Disp Uso% Montado en
/dev/sdb1 ext4 7.9G 36M 7.5G 1% /mnt/primaria
/dev/sdb5 xfs 8.0G 388K 8.0G 1% /mnt/backup
[admin@servidor ~]$ free -h
total usada libre compartida búfer/caché disponible
Memoria: 3.8Gi 1.2Gi 1.4Gi 85Mi 1.2Gi 2.3Gi
Swap: 6.0Gi 0B 6.0Gi
[admin@servidor ~]$ swapon --show
NAME TYPE SIZE USED PRIO
/dev/sda2 partition 2G 0B -2
/dev/sdb2 partition 4G 0B -3
[admin@servidor ~]$ lsblk -f /dev/sdb
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sdb
├─sdb1 ext4 1.0 d4a8e1b2-7c3f-4a91-b5e6-2f8d9c0a1b3e 7.5G 1% /mnt/primaria
├─sdb2 swap 1 e8f3a2c1-5d7b-4e09-9a6f-3b1c8d2e4f5a [SWAP]
├─sdb3
└─sdb5 xfs 7f8e9d0c-1b2a-3c4d-5e6f-7a8b9c0d1e2f 8G 0% /mnt/backup
Todas las particiones están correctamente configuradas y montadas. El espacio de intercambio adicional de 4 GiB se encuentra activo, y los puntos de montaje /mnt/primaria y /mnt/backup están disponibles para su uso.