Desarrollo1 día

Módulo 3 — AIX (sistema operativo)

AIX es el UNIX de IBM para Power Systems. Contenido desarrollado a la profundidad requerida por cada rol.

Ubicar AIX como el UNIX comercial de IBM para Power Systems, sus diferencias con IBM i y con Linux, y los casos donde convive con IBM i en una misma cuenta.

Base común — todos los roles

Qué es AIX

AIX (Advanced Interactive eXecutive) es el sistema operativo UNIX propietario de IBM, optimizado para correr sobre IBM Power Systems. Sus raíces se remontan a 1986, cuando IBM lo lanzó para la workstation RT PC en colaboración con Interactive Systems Corporation (ISC), combinando código de UNIX System V Releases 1 y 2 con extensiones de 4.2 y 4.3 BSD. En 1990, AIX 3 fue reescrito para la nueva plataforma POWER-based RS/6000, y desde ese punto su historia quedó irremediablemente ligada a la arquitectura Power de IBM.

A diferencia de IBM i —que es una plataforma única e integrada donde el sistema operativo, la base de datos y el middleware son inseparables—, AIX es un UNIX más dentro de la familia (POSIX/SUS), pero con extensiones y tooling propios de IBM que lo diferencian de Linux o de los UNIX históricos como HP-UX y Solaris.

Algunos hitos técnicos que lo distinguen: AIX fue el primer sistema operativo en implementar un journaling file system (JFS), lo que permitió eliminar la verificación de consistencia en cada arranque y aceleró significativamente el boot time. Su shell por defecto es KornShell (ksh93), con bash disponible como paquete adicional. El sistema de gestión de configuración usa el ODM (Object Data Manager), análogo al registro de Windows, para almacenar configuración de dispositivos y del sistema.

AIX está certificado para las especificaciones UNIX 03 y UNIX V7 del Single UNIX Specification, y versiones anteriores cumplían UNIX 95 y UNIX 98. Hoy corre exclusivamente sobre procesadores Power ISA (POWER8 o superior para AIX 7.3).

Versiones vigentes en el parque instalado

| Versión | Estado | |---|---| | AIX 7.2 | Versión anterior aún presente en muchos clientes; convivir con ella es habitual. Requiere POWER7 o superior. | | AIX 7.3 | Versión actual. La última actualización al momento de este material es AIX 7.3 TL3 (diciembre 2024), con TL4 lanzado en diciembre de 2025. Requiere POWER8 o superior. El soporte estándar de la versión 7.3 está orientado al 30 de septiembre de 2026, con TLs específicos cubiertos hasta más adelante (p.ej. 7.3.4 con soporte declarado a diciembre de 2028 según fuentes públicas; siempre validar la fecha exacta contra el portal oficial de IBM Lifecycle). |

Implicancia práctica: en una misma cuenta puede haber LPARs en 7.2 y otras en 7.3 conviviendo sobre el mismo Power. Antes de cualquier diseño o diagnóstico, identificar TL y SP exactos (oslevel -s).

Cuándo aparece AIX en una cuenta IBM i

Lo más común:

  • Aplicaciones SAP, Oracle Database, Db2 LUW que corren mejor o están certificadas sobre AIX en lugar de IBM i.
  • Componentes UNIX legacy (scripts, daemons C, software propio) que no se trasladaron a IBM i ni a Linux.
  • Workloads que requieren shell/POSIX nativo a fondo.

Suelen convivir como LPARs hermanas en el mismo Power, compartiendo storage y red.


DesarrolloPara Desarrollo (1 día)

Objetivo del rol en este módulo: poder integrar AIX en flujos de automatización y entender dónde toca al portafolio.

Lo mínimo a saber

  • AIX es POSIX; shell scripting estándar (ksh por defecto, bash disponible) funciona normal.
  • cron clásico; tooling Unix conocido.
  • Compiladores: xlC/IBM Open XL C/C++, GCC.
  • PASE en IBM i corre el mismo runtime AIX-compatible — útil cuando hay que portar algo de AIX a IBM i.

Integración con el portafolio

  • Si Connect CDC despacha datos a una base que vive en AIX (Db2 LUW, Oracle), parte del troubleshooting se hace desde el lado AIX (logs del DBMS, performance del listener, redes).
  • Scripts de monitoreo que consoliden alertas de Quick EDD pueden vivir en AIX si así lo decidió la cuenta.
  • Backups con mksysb se orquestan típicamente desde AIX/NIM, complementando los snapshots de Flash For i sobre IBM i.

Ejemplo de script ksh93 para tarea común

Script de verificación diaria de salud de una LPAR AIX — genera un reporte para enviar al equipo de monitoreo:

#!/usr/bin/ksh93
# health_check.ksh — Verificación diaria de LPAR AIX
# Uso: ./health_check.ksh > /var/log/health_$(date +%Y%m%d).log 2>&1

typeset -r HOSTNAME=$(hostname)
typeset -r DATESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
typeset -i EXITCODE=0

print "=== AIX Health Check — ${HOSTNAME} — ${DATESTAMP} ==="
print ""

# 1. Versión del OS
print "--- OS Level ---"
oslevel -s
print ""

# 2. Filesystems con uso >85%
print "--- Filesystems >85% ---"
df -g | awk 'NR>1 && $4+0 > 85 {print $4 "% " $7}'
if (( $(df -g | awk 'NR>1 && $4+0 > 85' | wc -l) == 0 )); then
    print "OK — ningún filesystem sobre 85%"
else
    EXITCODE=1
fi
print ""

# 3. Errores recientes (últimas 24 horas)
print "--- Errores (últimas 24h) ---"
typeset -i ERRCNT=$(errpt -s $(date -d "1 day ago" '+%m%d%H%M%y' 2>/dev/null || TZ=GMT+24 date '+%m%d%H%M%y') | wc -l)
if (( ERRCNT > 1 )); then
    errpt -s $(TZ=GMT+24 date '+%m%d%H%M%y') | head -20
    EXITCODE=1
else
    print "OK — sin errores en las últimas 24h"
fi
print ""

# 4. Paging activity
print "--- Paging ---"
vmstat 1 3 | tail -1 | awk '{
    if ($7 > 0 || $8 > 0)
        print "WARNING: page in=" $7 " page out=" $8
    else
        print "OK — sin paging activity"
}'
print ""

# 5. CPU utilización
print "--- CPU ---"
vmstat 1 3 | tail -1 | awk '{
    idle = $16
    if (idle < 15)
        print "WARNING: CPU idle=" idle "% — posible saturación"
    else
        print "OK — CPU idle=" idle "%"
}'
print ""

print "=== Check completado con exit code ${EXITCODE} ==="
exit ${EXITCODE}

El script usa ksh93 nativo de AIX (no bash) para máxima compatibilidad. El exit code permite al scheduler (cron, TWS, Control-M) detectar si hubo warnings.

AIX → IBM i: mount NFS/SMB

Hay escenarios donde un job en AIX necesita acceder a archivos del IFS de IBM i (o viceversa). Las dos opciones más comunes:

NFS mount (más frecuente en entornos Power donde ambas LPARs comparten red):

En el lado IBM i, habilitar el servidor NFS:

STRTCPSVR SERVER(*NFS)

Exportar un directorio del IFS:

EXPORTFS OPTIONS('-i -o ro') DIR('/data/exports')

En el lado AIX, montar:

mkdir -p /mnt/ibmi_data
mount -o ro,soft ibmi_host:/data/exports /mnt/ibmi_data

SMB mount (si IBM i NetServer está configurado):

En AIX con Samba client:

mount -t cifs //ibmi_host/SHARE /mnt/ibmi_share -o user=MYUSER,password=MYPASS

Consideración: NFS es más eficiente para transferencias grandes y es nativo de ambos OS. SMB es mejor si la infraestructura de autenticación del cliente ya está basada en Active Directory.

Db2 LUW en contexto de Connect CDC

Cuando Connect CDC tiene como destino una base Db2 LUW corriendo en AIX, el developer puede necesitar verificar la conectividad:

# Verificar que el listener de Db2 LUW esté activo
db2 get dbm cfg | grep SVCENAME

# Verificar estado de la instancia
db2pd -db TARGETDB -hadr

# Probar conexión
db2 connect to TARGETDB user cdcuser using password

Si Connect CDC reporta errores de conexión al destino Db2 LUW en AIX, los logs a revisar son:

  • db2diag.log del lado Db2 LUW (ubicación: ~/sqllib/db2dump/db2diag.log).
  • Logs del motor Connect en el host donde corre.

Buenas prácticas

  • Versionar scripts (Git — disponible en AIX vía RPM o AIX Toolbox for Linux).
  • Estandarizar oslevel -s reportado por todos los hosts (inventario).
  • Evitar mezclar bash de Linux con ksh AIX en scripts compartidos: ksh93 está bien estandarizado.