Gestión de montajes NFS
Gestión de montajes NFS y CIFS con Ansible
Objetivo
Esta página describe el uso y la lógica de tres playbooks de Ansible orientados a la verificación y gestión de montajes de red (NFS y CIFS) en sistemas Linux.
Los playbooks permiten:
- Auditar montajes existentes
- Identificar montajes por tipo y origen
- Montar shares definidos en
/etc/fstab
---
Playbooks incluidos
check_mounts.yml
check_mounts_cifs_nfs.yml
---
- hosts: all
become: true
vars:
fstab_host_pattern: "serverA|rkanserverB|serverC
tasks:
- name: Obtener lista de puntos de montaje NFS que coincidan con el source indicado
shell: mount -l|grep nfs |egrep '{{ fstab_host_pattern }}' | awk '{print $3}'
register: mount_output_nfs
- name: Mostrar los puntos de montaje encontrados
debug:
msg: "En {{ inventory_hostname }}, se encontraron estos puntos de montaje NFS: {{ mount_output_nfs.stdout_lines }}"
when: mount_output_nfs.stdout_lines | length > 0
- name: Obtener lista de puntos de montaje que coincidan con el source indicado
shell: mount -l|grep cifs |egrep '{{ fstab_host_pattern }}' | awk '{print $3}'
register: mount_output_cifs
- name: Mostrar los puntos de montaje encontrados
debug:
msg: "En {{ inventory_hostname }}, se encontraron estos puntos de montaje CIFS: {{ mount_output_cifs.stdout_lines }}"
when: mount_output_cifs.stdout_lines | length > 0
mount_shares.yml
---
- hosts: all
become: true
tasks:
- name: Montar todos los shares del fstab
command: mount -aCada playbook cubre un caso de uso distinto y puede utilizarse de forma independiente o como parte de un flujo de trabajo.
---
1. check_mounts.yml
¿Qué hace?
Este playbook comprueba los montajes NFS activos en los servidores y filtra aquellos cuyo origen coincide con un patrón definido.
Se utiliza principalmente para:
- Auditorías de montajes
- Validaciones previas a mantenimiento
- Comprobaciones tras reinicios
---
Lógica principal
- Ejecuta el comando
mount - Filtra únicamente montajes NFS
- Aplica un patrón sobre el host de origen
- Muestra los resultados por servidor
---
Variables
fstab_host_pattern: "SERVER1|SERVER2|SERVER3"
Esta variable permite adaptar el playbook a distintos entornos sin modificar el código.
---
Cuándo usarlo
- Antes de desmontar almacenamiento
- Para verificar dependencias de un servidor
- En tareas de inventario de NFS
---
2. check_mounts_cifs_nfs.yml
¿Qué hace?
Este playbook amplía el anterior e incluye la verificación tanto de montajes NFS como CIFS.
Es útil en entornos mixtos donde conviven:
- Shares NFS (Linux/Unix)
- Shares CIFS (Windows / NAS)
---
Lógica principal
- Ejecuta
mounten el host remoto - Separa resultados por tipo de filesystem
- Muestra información estructurada al operador
---
Diferencia respecto a check_mounts.yml
| Característica | check_mounts.yml | check_mounts_cifs_nfs.yml |
|---|---|---|
| NFS | Sí | Sí |
| CIFS | No | Sí |
| Entornos mixtos | No | Sí |
| Uso principal | Auditoría NFS | Auditoría global |
---
Cuándo usarlo
- Troubleshooting de accesos a red
- Migraciones de almacenamiento
- Análisis post-reboot
- Entornos con NAS o servidores Windows
---
¿Qué hace?
Este playbook monta todos los sistemas de ficheros definidos en /etc/fstab
ejecutando mount -a en los servidores destino.
No modifica el fichero /etc/fstab, solo aplica su contenido.
---
Lógica principal
- Ejecuta
mount -a - Aplica a todos los hosts del inventario
- No realiza validaciones previas
---
Cuándo usarlo
- Tras un reinicio del servidor
- Después de cambios en
/etc/fstab - Recuperación de montajes NFS/CIFS
- Validación tras incidentes
⚠️ Importante:
Antes de ejecutar este playbook, asegurarse de que /etc/fstab es correcto.
Un error puede provocar bloqueos del sistema.
---
Flujo recomendado de uso
Un uso habitual de estos playbooks sería:
- Ejecutar
check_mounts_cifs_nfs.ymlpara conocer el estado actual - Resolver incidencias detectadas
- Ejecutar
mount_shares.ymlpara montar recursos necesarios - Verificar nuevamente con
check_mounts.yml
---
Ejecución de los playbooks
Ejemplo de ejecución:
ansible-playbook -i inventory check_mounts.yml
ansible-playbook -i inventory check_mounts_cifs_nfs.yml
ansible-playbook -i inventory mount_shares.yml
---
Conceptos que se aprenden con estos playbooks
- Uso de comandos del sistema desde Ansible
- Registro y análisis de salida
- Auditoría de infraestructura
- Separación de responsabilidades por playbook
- Automatización segura de tareas repetitivas
---
Nota final
Estos playbooks están pensados como herramientas de apoyo al operador. Para entornos más complejos se recomienda evolucionar hacia roles Ansible y validaciones más avanzadas.