Migración de shares

De jagfloriano.com
Revisión del 09:48 1 feb 2026 de Escleiron (discusión | contribs.) (Página creada con «= Shares_maintenances = Toolkit basado en Ansible para '''inspeccionar, montar, desmontar y mantener shares NFS y CIFS''' en múltiples hosts Linux de forma segura, controlada y auditable. Este repositorio está diseñado para '''tareas operativas''', '''ventanas de mantenimiento''' y '''auditorías de infraestructura''', con una clara separación de responsabilidades. https://github.com/Escleiron/Playbooks/tree/main/Share_maintenance ---- == Estructura del repo…»)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegaciónIr a la búsqueda

Shares_maintenances

Toolkit basado en Ansible para inspeccionar, montar, desmontar y mantener shares NFS y CIFS en múltiples hosts Linux de forma segura, controlada y auditable.

Este repositorio está diseñado para tareas operativas, ventanas de mantenimiento y auditorías de infraestructura, con una clara separación de responsabilidades.

https://github.com/Escleiron/Playbooks/tree/main/Share_maintenance



Estructura del repositorio

shares_maintenances
├── Checks
│   ├── mount_state_snapshot.yml
│   └── mount_inventory_menu.sh
├── Umount
│   ├── generate_variable_host_patter.sh
│   └── umount_share.yml
├── Mount
│   ├── mount_fstab_shares.yml
│   ├── mount_snapshot_txt_to_yml.sh
│   └── mount_state_after_snapshot.yml
├── Modify
│   └── replace_fstab_sources.yml
└── README.md

Inicio rápido (migración típica)

  1. Ejecutar Checks/mount_state_snapshot.yml
  2. Generar fstab_host_pattern usando generate_variable_host_pattern.sh
  3. Revisar el patrón generado
  4. Ejecutar Umount/umount_share.yml
  5. Realizar la migración backend / actualización DNS
  6. Restaurar los mounts usando los playbooks de Mount

Índice


Checks

Este directorio contiene herramientas de solo lectura utilizadas para auditar y analizar el estado actual de los mounts NFS y CIFS en todos los hosts gestionados.

mount_state_snapshot.yml

Playbook de Ansible que recopila un snapshot de los shares NFS y CIFS montados en todos los hosts objetivo y genera un inventario consolidado en el nodo de control.

Funcionalidades clave

  • Se ejecuta contra todos los hosts
  • Usa facts ansible_mounts
  • Filtra:
    • mounts NFS
    • mounts CIFS
    • dispositivos que coinciden con un patrón configurable
  • Agrega los resultados de forma centralizada en localhost
  • Genera un fichero de reporte con timestamp

Variables configurables

fstab_host_pattern: "SOURCEA|SOURCEB|SOURCEC"

Uso

ansible-playbook -i $your_inventory Checks/mount_state_snapshot.yml

Salida

mount_inventory_YYYY-MM-DD_HH-MM-SS.txt

mount_inventory_menu.sh

Script Bash de ayuda diseñado para analizar y procesar los ficheros de inventario generados por mount_state_snapshot.yml.

Proporciona un menú interactivo para revisar, validar y exportar los datos de mounts.

Funcionalidades

  • Revisar resultados analizados
  • Mostrar servidores únicos
  • Convertir inventario a CSV

Uso

dos2unix mount_inventory_menu.sh
chmod +x mount_inventory_menu.sh
./mount_inventory_menu.sh mount_inventory_YYYY-MM-DD_HH-MM-SS.txt

Umount

Contiene playbooks usados para desmontar de forma segura shares NFS y CIFS basándose en el filtrado por origen.

generate_variable_host_patter.sh

Genera automáticamente la variable de Ansible fstab_host_pattern a partir de un fichero de inventario de mounts.

Uso

./generate_variable_host_pattern.sh mount_inventory_YYYY-MM-DD_HH-MM-SS.txt

Salida

fstab_host_pattern: "//server|server|192.168.1.80"

umount_share.yml

Desmonta sistemas de ficheros NFS y CIFS cuyo origen coincide con un patrón definido.

Tags disponibles

Tag Descripción
nfs Desmontar solo sistemas NFS
cifs Desmontar solo sistemas CIFS
all_types Desmontar todos los sistemas coincidentes

Mount

Contiene playbooks y scripts auxiliares usados para restaurar mounts definidos en /etc/fstab.

Este directorio ofrece dos estrategias de montaje, según el escenario.

Opción 1: Montar todos los sistemas definidos en /etc/fstab

Usar esta opción cuando se quiera montar todo lo definido en /etc/fstab, por ejemplo tras un reinicio o una ventana de mantenimiento global.

ansible-playbook -i $your_inventory Mount/mount_fstab_shares.yml

Opción 2: Restaurar solo los mounts detectados durante Checks

Usar esta opción cuando se quiera restaurar únicamente los sistemas de ficheros que estaban montados durante la fase de Checks (restauración selectiva y controlada).

Procedimiento

  1. Convertir el fichero snapshot a YAML
  2. Ejecutar el playbook de restauración
./mount_snapshot_txt_to_yml.sh mount_inventory_YYYY-MM-DD_HH-MM-SS.txt
ansible-playbook -i $your_inventory Mount/mount_state_after_snapshot.yml

Modify

Reservado para playbooks que modifican configuraciones existentes de shares.

update_fstab_sources.yml

Playbook de Ansible diseñado para actualizar de forma segura las fuentes en /etc/fstab, preservando puntos de montaje y opciones.

Dry run (recomendado)

ansible-playbook -i $your_inventory Modify/update_fstab_sources.yml --check

Aplicar cambios

ansible-playbook -i $your_inventory Modify/update_fstab_sources.yml

Rollback

cp /etc/fstab.backup_YYYY-MM-DD_HH-MM-SS /etc/fstab