(Aviso: este artículo ha sido escrito para nuestro blog en IBM TechExchange)
Cómo empezar
Si quieres explorar las distribuciones Linux que funcionan con IBM Power (ppc64le) pero careces de este último, puedes emularlo gracias a QEMU. Puedes consultar las matrices de compatibilidad con Linux en Power en el siguiente enlace, y decide qué distribución y versión quieres probar :)
Como cualquier otra emulación de arquitectura HW, tiene sus retos. Lo que me inspiró a escribir este artículo fue este genial tutorial, Ejecuta un entorno Linux on Power completo desde Microsoft Windows, por Emma Erickson y Paul Clarke. Quería sugerir un enfoque más “fácil de usar”, la red funcionando por defecto y una GUI para explorar todas las opciones disponibles o modificar las implantaciones existentes.
Para esta demostración, utilizaré una caja x86 estándar (y barata) que ejecuta el último Ubuntu (23.04) y los paquetes incluidos en la propia distribución. No hace falta compilar nada.
Preparación del sistema
Este es mi sistema, pero debería funcionar en cualquier máquina x86 con capacidad de virtualización.
ubuntu@sixe-dev:~$ cat /proc/cpuinfo | grep model
model name : Intel(R) Xeon(R) CPU E5-1410 v2 @ 2.80GHz
ubuntu@sixe-dev:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 23.04
Release: 23.04
Codename: lunar
Nos aseguramos de que se aplican todas las actualizaciones y reiniciamos.
ubuntu@sixe-dev:~$ sudo apt update && sudo apt upgrade
ubuntu@sixe-dev:~$ sudo reboot
Utilizaré virt-manager como interfaz gráfica para QEMU, lo que me ayudaría a mí (o a cualquier otro “novato en QEMU”). Es justo lo que la gente está acostumbrada a hacer con Virtualbox o VMWare Player, y por eso me gusta :)
ubuntu@sixe-dev:~$ sudo apt install -y qemu-system-ppc qemu-kvm virt-manager virtinst libvirt-clients bridge-utils
En mi caso, hago ssh desde Windows WSL, redirigiendo la X. Otra opción sería proporcionar un entorno gráfico mínimo y conectarme mediante RDP o VNC.
~$ ssh -X ubuntu@sixe-dev
Advertencia: No hay datos xauth; utilizando datos de autenticación falsos para el reenvío X11.
Bienvenido a Ubuntu 23.04 (GNU/Linux 6.2.0-35-generic x86_64)
Descargar archivos .iso
Voy a descargar dos distros Linux libres y abiertas con gran soporte en Power. La carpeta de descarga será /var/lib/libvirt/images, que es la que utiliza virt-manager por defecto.
ubuntu@sixe-dev:~$ cd /var/lib/libvirt/images/
ubuntu@sixe-dev:~$ sudo wget https://repo.almalinux.org/almalinux/8/isos/ppc64le/AlmaLinux-8-latest-ppc64le-minimal.iso
ubuntu@sixe-dev:~$ sudo wget https://download.opensuse.org/distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-ppc64le-Media.iso
Inicia el Administrador de Máquinas Virtuales
Aunque es una herramienta poco conocida (a menos que seas un friki de Linux), es tan sencilla y potente como VirtualBox o VMware Player. También se integra con QEMU para probar sistemas operativos en cualquier otra arquitectura.
ubuntu@sixe-dev:~$ virt-manager
Crear e instalar una nueva VM desde .iso
Para instalar el .iso, crea una nueva máquina virtual. Elige ppc64le como arquitectura, ajusta la CPU y la memoria, y añade un nuevo disco virtual. He grabado un vídeo para mostrar todo el proceso, puedes saltarte la última parte, en nuestro caso la GUI de instalación tardó casi 9 minutos en terminar :)
Deploying Alma & OpenSUSE Linux on IBM Power (ppc64le) using QEMU on x86
Todos los ajustes de instalación funcionan. Para tu información, utilicé una configuración LVM por defecto para el almacenamiento y DHCP automático en mi dispositivo de red NAT.
Aquí puedes ver que la CPU emulada se detecta correctamente.
Una vez instalado el sistema, te recomiendo que compruebes la dirección IP virtual
… y asegúrate de que el demonio sshd se está ejecutando
hugo@almapower:~$ systemctl start sshd
Así que me conecto desde mi host local usando ssh
ubuntu@sixe-dev:~$ ssh root@192.168.122.28
root@192.168.122.28's password:
Last login: Fri Oct 27 03:58:07 2023 from 192.168.122.1
From now on I will ssh into the VM from my host machine. This way I can copy, paste and resize the console without any problems.
Prueba otras distribuciones como OpenSUSE Leap
Puedes hacer lo mismo con otras distribuciones. En mi caso, la segunda distribución que funciona bien es OpenSUSE Leap.
Incluso he instalado el entorno gráfico.
.. así como Firefox, e iniciaste el navegador web para visitar nuestro sitio web. Sin embargo, necesitarás un poco de paciencia, ya que no será la velocidad del rayo.
¿Qué hacer ahora?
Tu Linux no tiene nada de especial, salvo que funciona sobre una arquitectura mucho más segura, potente y estable. El funcionamiento es el mismo que en x86. Apple ha cambiado su arquitectura varias veces, y cada vez más fabricantes apuestan por alternativas al x86 (véase ARM).
Por ejemplo, otra popular distribución derivada de Red Hat, Rocky Linux, no sólo incluye x86 y ppc64le en su página de descargas, sino también ARM o s390x (Linux One / entornos mainframe).
Puedes añadir otros repositorios o consultar la base de datos de paquetes disponibles para Linux en IBM Power –
https://www.ibm.com/it-infrastructure/resources/power-open-source/
Como descargo de responsabilidad, aunque los tenemos funcionando en producción en LPARs con PowerVM, no hemos podido encontrar la combinación de configuraciones y versiones de SO que nos permita ejecutar Rocky 9.2 y Ubuntu 22.10/23.04 en QEMU. Así que mi recomendación es que pruebes AlmaLinux u OpenSUSE. Por supuesto, sus “hermanas” RHEL y SUSE, con soporte empresarial, funcionan igual de bien.
En futuros artículos hablaremos de casos de uso como AWX o Kubernetes en Linux (ppc64le), emulado o real :)
Espero que este artículo te deje sin excusas para no probar Linux en Power.