Guía de Montaje de Recurso NFS en Proxmox VE y Puntos de Montaje en LXC
En esta guía aprenderás a montar un almacenamiento NFS compartido en Proxmox VE y a pasarlo como un Punto de Montaje (Bind Mount) a un contenedor LXC (por ejemplo, para guardar las fotos de Immich o los archivos de Nextcloud).
Además, se incluye la configuración crítica en /etc/pve/storage.cfg para evitar que Proxmox se bloquee o deje de responder si el servidor NFS no está disponible.
1. Configuración del Recurso NFS en Proxmox sin Bloqueos del Sistema
Por defecto, si un almacenamiento NFS falla o pierde conexión, Proxmox VE puede intentar acceder repetidamente al recurso de forma síncrona, provocando que la interfaz web (pveproxy) o las tareas del clúster se congelen.
Para evitar este comportamiento, debemos configurar las opciones soft, timeo e is_mountpoint en Proxmox.
Opción A: Mediante la interfaz web (GUI)
- Ve a Datacenter / Centro de datos -> Storage / Almacenamiento -> Add / Añadir -> NFS.
- ID: Nombre identificativo (ej.
NFS-Storage). - Server: Dirección IP de tu servidor NFS (ej.
192.168.1.50). - Export: Ruta exportada en el servidor NFS (ej.
/volume1/compartido). - Content: Selecciona los tipos de contenido (Disk image, Container, ISO, etc.).
Opción B: Edición manual de /etc/pve/storage.cfg (Recomendado)
Edita el archivo de configuración del almacenamiento de Proxmox:
Añade o modifica la entrada del recurso NFS utilizando esta estructura anti-bloqueos:
nfs: NFS-Storage
export /volume1/compartido
server 192.168.1.50
content iso,vztmpl,backup,images,rootdir
options soft,timeo=30,retrans=2
is_mountpoint 1
prune-backups keep-daily=7
Explicación de los parámetros clave anti-colgado:
options soft: Si el servidor NFS cae, las peticiones E/S devolverán un error inmediatamente en lugar de pausar el sistema indefinidamente (evita que el kernel de Proxmox se quede colgado).timeo=30: Establece el tiempo de espera (timeout) en décimas de segundo (30 = 3 segundos) antes de reintentar la conexión.retrans=2: Número de reintentos antes de devolver el error de timeout.is_mountpoint 1: Indica a Proxmox que compruebe que la ruta local está realmente montada antes de intentar escribir en ella. Si no está montada, Proxmox no escribirá datos en el disco local por error ni se congelará.
2. Añadir un Punto de Montaje (Bind Mount) a un Contenedor LXC
Una vez montado el almacenamiento NFS en el host de Proxmox (por defecto en /mnt/pve/NFS-Storage), podemos compartir una carpeta concreta dentro de uno o varios contenedores LXC.
Paso 1: Identificar las rutas
- Ruta en Proxmox Host:
/mnt/pve/NFS-Storage/datos_app - Ruta deseada dentro del LXC:
/mnt/nfs_datos - ID del Contenedor LXC:
100(reemplaza por el ID de tu LXC)
Paso 2: Crear el directorio en el LXC (Opcional pero recomendado)
Inicia sesión en la consola del contenedor LXC y crea la carpeta de destino:
Paso 3: Añadir el Bind Mount mediante pct
Ejecuta el siguiente comando en la Shell del host Proxmox:
Nota sobre múltiples puntos de montaje: Si ya usas
mp0, cambia la clave amp1,mp2, etc.
Paso 4: Comprobación manual en el fichero de configuración del LXC
Puedes verificar o modificar manualmente la configuración del contenedor editando su archivo en Proxmox:
Deberás ver una línea similar a la siguiente:
3. Consideraciones sobre Permisos en Contenedores LXC No Privilegiados
Si tu contenedor LXC es no privilegiado (Unprivileged), los IDs de usuario (UID) y grupo (GID) están mapeados. Para evitar problemas de permisos de escritura dentro del contenedor:
- En el servidor NFS, exporta la carpeta permitiendo el acceso del usuario adecuado o utiliza
all_squashmapeando al UID/GID correspondiente. - Como alternativa en el servidor NFS (
/etc/exports), puedes usar: