Iso de Proxmox Automatica

    🏛️ Cómo crear una ISO de Proxmox VE con instalación totalmente automática (y sobrevivir a un HP Gen8)

    

    Crear una ISO de Proxmox que instale sola, configure el sistema y deje todo listo en el primer arranque no es complicado... una vez que sabes cómo. Aquí te cuento el proceso, los errores que cometí y las soluciones.

    

    🧰 La herramienta oficial

    

    Proxmox tiene una herramienta oficial para esto:

    

    bash

    apt install proxmox-auto-install-assistant xorriso

    

    

    Generar la ISO es tan simple como:

    

    bash

    proxmox-auto-install-assistant prepare-iso proxmox-ve_9.1-1.iso \

      --fetch-from iso \

      --answer-file answer.toml \

      -o proxmox-ve-auto.iso

    

    

    Pero la magia está en el archivo answer.toml y en el script de primer arranque.

    

    📝 El archivo answer.toml

    

    Define todo: idioma, zona horaria, contraseña (hasheada), tipo de disco, red...

    

    toml

    [global]

    keyboard = "es"

    country = "es"

    fqdn = "proxmox.local"

    timezone = "Europe/Madrid"

    root-password-hashed = "$y$j9T$..."

    

    [network]

    source = "from-dhcp"

    

    [disk-setup]

    filesystem = "ext4"

    filter.ID_MODEL = "*"

    

    [disk-setup.lvm]

    swapsize = 8

    maxroot = 96

    

    

    🔥 El script de primer arranque (first-boot)

    

    Lo más potente: un script que se ejecuta en el primer boot después de instalar. Puede hacer de todo:

    

    - ✅ Deshabilitar los repos enterprise

    - ✅ Añadir el repo no-subscription con la clave GPG correcta

    - ✅ Generar locale

    - ✅ Configurar la consola

    - ✅ Deshabilitar DHCP en interfaces físicas

    - ✅ Instalar paquetes (htop, btop, iperf3, etc.)

    

    Importante: el flag --on-first-boot en el CLI Y la sección [first-boot] en el answer.toml son ambos necesarios. Sin los dos, el script se embebe en la ISO pero nunca se ejecuta. Sin errores, sin avisos.

    

    🧨 La clave GPG (error tonto que te ahorrarás)

    

    Si usas la versión 9.x de Proxmox (basada en Debian Trixie), la clave GPG oficial es:

    

    

    Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg

    

    

    No uses proxmox-release-bookworm.gpg (es para PVE 8.x) ni proxmox-release-trixie.gpg. La clave oficial es proxmox-archive-keyring.gpg. Si usas otra, apt-get update falla y el first-boot se rompe.

    

    ⚠️ El locale, ese gran olvidado

    

    Si no generas es_ES.UTF-8 en el primer arranque, los servicios de Proxmox (pveproxy, pvedaemon) fallan al iniciar con errores extraños de Perl:

    

    

    PVE/Ticket.pm did not return a true value

    Bad name after full_label' at IO/Socket/SSL.pm

    

    

    Y la interfaz web no carga. La solución: locale-gen es_ES.UTF-8 en el first-boot.

    

    🖥️ El caso del HP ProLiant MicroServer Gen8

    

    Aquí viene lo divertido. Este servidor de 2013 tiene una trampa en el puerto SATA del lector de DVD (puerto ODD). El controlador NCQ (Native Command Queuing) de ese puerto falla con Linux y produce errores I/O que acaban montando el sistema de archivos en sólo lectura.

    

    El resultado: instalas todo perfecto, el servidor arranca, y al rato el sistema se pone en read-only por errores ata5: READ FPDMA QUEUED.

    

    La solución: desactivar NCQ en ese puerto añadiendo esto a los parámetros del kernel:

    

    

    libata.force=5.00:noncq

    

    

    En el first-boot:

    

    bash

    sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="libata.force=5.00:noncq /' /etc/default/grub

    update-grub

    

    

    Esto no afecta al rendimiento del disco y funciona con cualquier disco (HDD o SSD). Y ojo, este fix solo es necesario en el Gen8 — cualquier otro servidor o PC ignora el parámetro sin problemas.

    

    📦 La ISO definitiva

    

    Después de varios intentos, la ISO definitiva incluye:

    

    - Instalación automática completa

    - First-boot que configura locale, repos, consola, red y paquetes

    - Fix NCQ para HP Gen8

    - Clave GPG oficial verificada

    

    Y lo mejor: la misma ISO sirve para cualquier servidor. Si no es un Gen8, el fix NCQ se ignora y todo funciona igual.


Comentarios