Agregar un disco a un nodo¶
Formatea un disco libre de un nodo, lo monta y lo entrega a Longhorn (almacenamiento replicado de Kubernetes) o a Incus (un pool nuevo para instancias).
Destructivo
El playbook formatea el disco: borra cualquier dato que tenga. Confirma el dispositivo exacto antes de correrlo. El playbook tiene una pausa de seguridad y no reformatea un disco que ya tiene sistema de archivos.
En los ejemplos: disco /dev/nvme0n1 en el nodo deborah.
1. Identificar el disco¶
Corre el discovery del nodo y lee la sección Recomendaciones de
almacenamiento de reports/<nodo>.md:
Confírmalo también en el nodo (lsblk -f): el disco tiene que estar vacío y
sin montar.
2. Elegir a quién se entrega¶
| Consumidor | Cuándo | Qué hace el playbook |
|---|---|---|
longhorn |
Volúmenes de Kubernetes con réplicas entre nodos | Monta el disco y anota el nodo para que Longhorn lo use |
incus |
Más espacio para contenedores y VMs (máquinas virtuales) de Incus | Monta el disco y crea un storage pool nuevo, aparte del pool local |
3. Declararlo en host_vars¶
En host_vars/deborah.yml:
storage_provision_disks:
- device: /dev/nvme0n1
consumer: longhorn # o incus
mount_path: /var/lib/longhorn-nvme0n1
filesystem: ext4
# solo si consumer: incus
# incus_pool_name: nvme-pool
Sin esta variable, el playbook no hace nada en ese nodo.
4. Aplicar¶
Confirma en la pausa de seguridad cuando el dispositivo mostrado sea el correcto.
Verificar¶
- Longhorn: en la UI (interfaz de usuario), Node → deborah muestra el disco nuevo con Schedulable activado.
- Incus:
sudo incus storage listmuestra el pool nuevo.
Si falla¶
| Síntoma | Revisar |
|---|---|
| El playbook no hace nada | Falta storage_provision_disks en host_vars del nodo, o --limit apunta a otro nodo |
| "Ya tiene filesystem" y no formatea | Es a propósito: el disco no está vacío. Revisa qué tiene antes de borrarlo a mano |
| Longhorn no muestra el disco | Espera un minuto y revisa la anotación del nodo: kubectl get node deborah -o yaml \| grep longhorn |
Más detalle del rol: storage_provision.