Aprende a actualizar decenas de servidores VIOS de forma automatizada con Ansible. Guía paso a paso para administradores ocupados.

¿Tienes que actualizar decenas de servidores VIOS y no sabes por dónde empezar? Con Ansible y este tutorial, podrás hacerlo sin morir en el intento. ¡Empecemos!

¿Qué necesitas?

  • Un backup reciente (usa viosbr o mksysb)
  • Un disco adicional en cada VIOS (ej: hdisk1)
  • La imagen .mksysb de la nueva versión en un servidor NFS
  • Ansible configurado en tu máquina de control

Actualizar 100 Servidores VIOS en 1 Día

Pasos para la actualización masiva

1. Verificar versión actual

- name: Verificar versión del VIOS
  ansible.builtin.command:
    cmd: /usr/ios/cli/ioscli ioslevel
  register: ioslevel
  changed_when: false

- name: Abortar si ya está actualizado
  when: "ioslevel.stdout is version(target_level, '>=')"
  block:
    - debug:
        msg: "¡Ya tienes la versión {{ ioslevel.stdout }}! No es necesario actualizar."
    - meta: end_play
    

2. Preparar disco de actualización

- name: Detectar discos disponibles
  setup:
    gather_subset: devices

- name: Validar estado del disco
  meta: end_play
  when: ansible_facts.devices[alt_hdisk].state != 'Available'

- name: Limpiar disco
  command: "chpv -C {{ alt_hdisk }}"
    

3. Copiar archivos clave

- name: Copiar lista de archivos a preservar
  copy:
    src: filelist
    dest: /tmp/filelist

- name: Copiar script post-instalación
  copy:
    src: postupgrade.sh
    dest: /tmp/postupgrade.sh
    mode: "0755"
    

Ejemplo de Script Post-Upgrade

#!/bin/ksh
/usr/ios/cli/ioscli license -accept
/usr/ios/cli/ioscli rules -o modify -t disk/fcp/mpioosdisk -a reserve_policy=no_reserve
mkuser ansible
chuser su=true root
echo 'ansible:abc123' | chpasswd -c
mkdir -p /home/ansible/.ssh
echo 'ssh-rsa TU_CLAVE_PUBLICA' >/home/ansible/.ssh/authorized_keys
    

4. Montar imagen de actualización

- name: Montar NFS con imagen mksysb
  ibm.power_aix.mount:
    state: mount
    node: "{{ nfs_server }}"
    mount_dir: "{{ nfs_repo }}"
    mount_over_dir: /mnt

- name: Verificar imagen
  stat:
    path: "/mnt/{{ mksysb }}"
  register: mksysb_stat

- name: Abortar si falta la imagen
  when: not mksysb_stat.stat.exists
  block:
    - debug:
        msg: "¡Imagen no encontrada! Verifica la ruta {{ nfs_server }}:{{ nfs_repo }}/{{ mksysb }}"
    - meta: end_play
    

5. Iniciar actualización

- name: Ejecutar viosupgrade
  ibm.power_vios.viosupgrade:
    cluster: false
    filename: /tmp/filelist
    post_install_binary: /tmp/postupgrade.sh
    image_file: "/mnt/{{ mksysb }}"
    mksysb_install_disks: "{{ alt_hdisk }}"
    wait_reboot: true
    

6. Verificar finalización

- name: Esperar reinicio
  wait_for_connection:
    delay: 300
    timeout: 2400

- name: Confirmar éxito
  wait_for:
    path: /home/ios/logs/viosupg_status.log
    search_regex: "COMPLETED"
    

Consejos finales

  • Si usas Shared Storage Pools, cambia cluster: true en el paso 5
  • Prueba primero con 2-3 servidores antes del despliegue masivo
  • Revisa los logs en /home/ios/logs/ si algo falla

Fuente

How to upgrade 100 VIOSes in 1 day (Inglés)

El contenido ha sido generado a partir de la información que puedes encontrar en "Fuente" dentro de la noticia.

Su contenido ha sido traducido, revisado y editado por el equipo de DamePower. Nuestro único objetivo es traer las últimas noticias de Power a su comunidad en español, haciéndola accesible para todos.

Agradecemos su interés en nuestras publicaciones y esperamos seguir brindando información útil y relevante sobre Power. ¡Gracias por formar parte de nuestra comunidad!

podría interesarte

Distribuidor de noticias IBM

Encuentra el SO para ti

¿Qué características tiene cada uno? ¿Cómo lo instalo? Descubre con Dame Power la forma más sencilla de instalar un sistema operativo