Base de conocimientos

Adjuntar un volumen NVMe adicional y montarlo

Encontrar el nuevo dispositivo de bloque, elegir un sistema de archivos, montarlo para que un disco faltante no pueda detener el arranque, y expandirlo más tarde sin tiempo de inactividad.

El dispositivo aparece sin reinicio

El NVMe extra es un complemento que se vende por cada quinientos gigabytes, y se adjunta en caliente. El volumen aparece como un nuevo dispositivo de bloque a los pocos segundos de que se procese el pedido. Nada se reinicia.

lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT

El disco raíz es vda; el nuevo toma la siguiente letra. Si no ha aparecido, dale a udev un momento y vuelve a mirar:

udevadm settle
ls /sys/class/block

Omite la tabla de particiones

Una partición en un disco virtual no te aporta nada y añade un paso cada vez que el volumen crece. Pon el sistema de archivos directamente en el dispositivo:

mkfs.ext4 -L data /dev/vdb

O, para archivos grandes escritos por muchos hilos a la vez:

mkfs.xfs -L data /dev/vdb

ext4 se reduce sin conexión, XFS nunca se reduce. XFS es más rápido en metadatos paralelos, ext4 es más indulgente con todo lo demás. Para la mayoría de la gente, esa es toda la decisión.

Móntalo para que un volumen ausente no pueda detener el arranque

Usa la etiqueta. El orden de los dispositivos no está garantizado tras un rebuild, y vdb hoy puede ser vdc mañana.

mkdir -p /srv/data
echo "LABEL=data /srv/data ext4 defaults,noatime,nofail,x-systemd.device-timeout=10s 0 2" >> /etc/fstab
systemctl daemon-reload
mount -a
findmnt /srv/data

nofail  y el timeout del dispositivo son la parte importante de esa línea. Sin ellos, una instancia que arranca antes de que el volumen esté adjunto se queda en el shell de emergencia esperando un disco, y te toca leer el artículo de consola antes de lo previsto.

Trim en un temporizador, no en cada borrado

No añadas la opción de montaje discard. El discard continuo emite un trim en cada unlink, y en un sistema de archivos ocupado cuesta más de lo que devuelve. Ejecútalo periódicamente en su lugar:

systemctl enable --now fstrim.timer
fstrim -v /srv/data

Crecimiento del volumen

Pide más capacidad y luego extiende el sistema de archivos en su lugar. Sin desmontar, sin reiniciar.

lsblk -o NAME,SIZE
resize2fs /dev/vdb          # ext4, by device
xfs_growfs /srv/data        # XFS, by mount point

Poner esos dos en el orden incorrecto produce un mensaje de error confuso y ningún daño, que es la forma correcta de comportarse para una herramienta.

Si lo quieres cifrado

cryptsetup luksFormat --type luks2 /dev/vdb
cryptsetup open /dev/vdb data
mkfs.ext4 -L data /dev/mapper/data

Entiende primero la consecuencia. Un volumen protegido por contraseña no puede montarse sin supervisión, así que cada reinicio necesita a una persona en la consola escribiéndola. Poner el archivo clave en el disco raíz elimina ese problema y la mayor parte del beneficio al mismo tiempo. Elige deliberadamente, no por defecto.

Verificación de hardware

fio --name=rw --rw=randwrite --bs=4k --size=2G --numjobs=4 --iodepth=32 --direct=1 --runtime=60 --time_based --group_reporting

Ejecuta eso en el volumen nuevo, nunca en /, y nunca en un sistema de archivos que contenga algo que quieras conservar. Si el resultado es un orden de magnitud inferior al que describe la página de hardware, abre un ticket con la salida y miraremos el host, no a ti.

Listo cuando tú lo estés

Elige una ciudad. Elige un tamaño. Paga con monedas.

Sin fórmulas sobre quién eres, sin esperar a que un humano te apruebe, sin llamada telefónica para verificar nada. La factura se liquida y las credenciales llegan a tu bandeja de entrada.