Saltar a contenido

XCP-ng

En este artículo

Información

XCP-ng (Xen Cloud Platform - New Generation) es un hipervisor de código abierto gratuito basado en el Proyecto Xen. XCP-ng fue creado como una alternativa abierta a Citrix XenServer después de que Citrix limitara la funcionalidad de la versión gratuita. El proyecto proporciona una plataforma de virtualización empresarial completa sin limitaciones artificiales, admitiendo migración en vivo, alta disponibilidad, gestión de almacenamiento e integración con sistemas de orquestación. XCP-ng se distribuye bajo GPLv2 y licencias libres compatibles.

XCP-ng. Características clave

  • Virtualización: XCP-ng admite la ejecución de múltiples máquinas virtuales en un solo servidor físico con aislamiento completo y distribución eficiente de recursos. Los sistemas operativos invitados admitidos incluyen Linux, Windows y otros.
  • Migración en vivo: capacidad de mover máquinas virtuales en ejecución entre hosts sin tiempo de inactividad, asegurando la continuidad del servicio durante el mantenimiento de hardware.
  • Alta disponibilidad (HA): reinicio automático de máquinas virtuales en otros hosts del grupo en caso de fallo del servidor.
  • Gestión de almacenamiento: soporte para varios tipos de Repositorios de Almacenamiento, incluidos discos locales, NFS, iSCSI, Ceph y otros.
  • Instantáneas y copias de seguridad: creación de instantáneas inmediadas de los estados de las máquinas virtuales para recuperación rápida y copia de seguridad.
  • Grupos de recursos: combinación de múltiples hosts XCP-ng en un solo grupo para gestión centralizada y distribución de carga.
  • Capacidades de red: soporte para VLAN, enlace de interfaces de red, SR-IOV y redes definidas por software.
  • Interfaces de gestión web: XCP-ng incluye la interfaz web integrada XO Lite para gestión básica, mientras que Xen Orchestra (XO) completo proporciona capacidades avanzadas de automatización, monitoreo y copia de seguridad.

Opciones de gestión de XCP-ng

Hay varias interfaces de gestión disponibles para trabajar con XCP-ng:

XO Lite (integrado, gratuito):

  • Disponible inmediatamente después de la instalación de XCP-ng en https://<dirección_IP_del_servidor>;
  • Interfaz web básica para crear y gestionar máquinas virtuales;
  • Monitoreo de recursos y operaciones básicas;
  • Adecuado para laboratorios domésticos y proyectos pequeños;
  • No requiere configuración adicional.

Xen Orchestra from Sources (gratuito, requiere instalación):

  • Sistema de gestión de código abierto completo;
  • Copias de seguridad automáticas, replicación, monitoreo avanzado;
  • Gestión centralizada de múltiples hosts;
  • Requiere crear una máquina virtual separada e instalación manual (Ubuntu/Debian);
  • El mantenimiento y las actualizaciones se realizan manualmente;
  • Soporte a través de foros comunitarios.

Xen Orchestra Appliance (XOA) (suscripción de pago, requiere implementación):

  • Máquina virtual lista para usar con Xen Orchestra preinstalado;
  • Implementado a través del botón "Deploy XOA" en la interfaz XO Lite;
  • Soporte técnico oficial de Vates (24/7);
  • Actualizaciones automáticas y garantías de SLA;
  • Planes para pequeñas empresas: €2.000/año (ESSENTIAL, hasta 3 hosts) o €4.000/año (ESSENTIAL+, acceso completo) – detalles;
  • Recomendado para entornos de producción con requisitos de soporte.

La elección de la opción depende de la escala de la infraestructura y los requisitos de soporte técnico. El XO Lite integrado es suficiente para comenzar, mientras que las funciones más avanzadas están disponibles a través de la instalación del Xen Orchestra completo.

Funcionalidades de implementación

ID Nombre del SO Alias Activo BM GPU VPS VDS Familia Grupo de SO CloudInit Disponible
306 XCP-ng 8.3 - + + + - XCP-ng Otros No PEDIR

Requisitos mínimos del servidor:

  • RAM: 8 GB;
  • HDD: 60 GB;
  • Virtualización: soporte de virtualización anidada.

Primeros pasos con XCP-ng después de la implementación

Después de pagar su pedido, recibirá una notificación por correo electrónico en la dirección que proporcionó durante el registro, indicando que su servidor está listo. Este correo electrónico incluirá la dirección IP del VPS y las credenciales de inicio de sesión. Los clientes de nuestra empresa gestionan su equipo a través del panel de gestión de servidores y APIInvapi.

Puede encontrar los detalles de autorización en la sección Configuration* >> **Tags del panel de gestión de servidores o en el correo electrónico que recibió:

  • Inicio de sesión: root;
  • Contraseña: Enviada a su dirección de correo electrónico después de que el servidor esté listo para su uso tras la implementación del software.

Autorización

Hay dos métodos disponibles para acceder al servidor XCP-ng: a través de la interfaz web XO Lite y vía SSH.

Conexión a través de XO Lite

XO Lite es una interfaz web integrada para gestionar XCP-ng, accesible directamente desde el host.

  • Abra un navegador y vaya a https://<dirección_IP_del_servidor>:

  • Introduzca el inicio de sesión root y la contraseña del correo electrónico, luego haga clic en el botón Login.

Información

El navegador puede mostrar una advertencia sobre un certificado no confiable; esto es normal para un certificado autofirmado. Agregue una excepción para continuar.

Conexión a través de SSH

  • Abra una terminal y conéctese al servidor con el comando:
ssh root@<dirección_IP_del_servidor>
  • Introduzca la contraseña cuando se le solicite. Después de una conexión exitosa, estará en la línea de comandos de XCP-ng.

Conexión a través de la consola nativa

También puede usar la Consola Nativa en el panel de control Invapi para acceder a la consola del host:

La consola proporciona un menú de configuración que le permite configurar parámetros de red, autenticación, gestión de máquinas virtuales y otros parámetros del sistema.

Trabajo con xsconsole

Al conectarse a través de SSH o consola VNC, puede usar xsconsole, la consola de gestión de texto integrada para la configuración de XCP-ng y la administración del host.

Para iniciar xsconsole, introduzca el comando:

xsconsole

Después del inicio, se abrirá el menú de gestión del sistema:

Secciones principales de xsconsole

Visualización de estado

  • Monitoreo del estado del host (CPU, memoria, red, almacenamiento);
  • Ver máquinas virtuales en ejecución;
  • Información general del sistema.

Interfaz de red y gestión

  • Configuración de la interfaz de red;
  • Configuración de la dirección IP (estática/DHCP);
  • Configuración del gateway y del servidor DNS.

Autenticación

  • Cambio de la contraseña de root;
  • Gestión del acceso SSH;
  • Configuración de la cuenta.

Máquinas virtuales

  • Ver lista de máquinas virtuales;
  • Gestión básica de VM (iniciar, detener);
  • Control del estado del sistema invitado.

Discos y repositorios de almacenamiento

  • Ver discos conectados;
  • Gestión del Repositorio de Almacenamiento;
  • Creación y eliminación de SR.

Configuración del grupo de recursos

  • Crear un grupo a partir de múltiples hosts;
  • Unirse a un grupo existente;
  • Gestión del clúster de servidores.

Información de hardware y BIOS

  • Información del procesador y la memoria;
  • Datos de la tarjeta de red;
  • Versiones de BIOS y firmware.

Teclado y zona horaria

  • Configuración del diseño del teclado;
  • Configuración de la zona horaria del sistema.

Configuración de servicio remoto

  • Configuración de acceso remoto;
  • Configuración de SSH;
  • Gestión de certificados SSL.

Copia de seguridad, restauración y actualización

  • Copia de seguridad de la configuración del host;
  • Restauración de configuraciones;
  • Verificación e instalación de actualizaciones del sistema.

Soporte técnico

  • Generar informe de soporte técnico (informe de error);
  • Recopilación de registros del sistema;
  • Información de diagnóstico.

Shell de comandos local

  • Salir a la línea de comandos bash estándar;
  • Para ejecutar comandos y scripts arbitrarios.

Reiniciar o apagar

  • Reinicio del host;
  • Apagado correcto del sistema.
  • Enter - seleccionar elemento del menú/confirmar acción;
  • ↑/↓ - moverse por los elementos del menú;
  • Tab - cambiar entre elementos del formulario;
  • Esc o q - volver al menú anterior/salir.

Consejo

xsconsole es especialmente útil para la configuración inicial del servidor, la recuperación de acceso de emergencia o la configuración de red cuando la interfaz web XO Lite no está disponible. Para salir de xsconsole a la línea de comandos regular, seleccione Local Command Shell.

Trabajo con XO Lite

Después de la autorización en XO Lite, se abre el panel de gestión principal (Dashboard):

La interfaz de XO Lite contiene las siguientes secciones:

  • DASHBOARD: visión general del estado del host, estado de las máquinas virtuales, uso del almacenamiento y notificaciones;
  • ALARMS: ver advertencias y alertas del sistema;
  • STATS: estadísticas de rendimiento y uso de recursos;
  • SYSTEM: configuración del sistema del host;
  • NETWORK: gestión de interfaces de red y redes virtuales;
  • STORAGE: gestión del almacenamiento de datos (Repositorios de Almacenamiento);
  • TASKS: registro de tareas en ejecución y completadas;
  • HOSTS: información sobre los hosts en el grupo;
  • VMS: gestión de máquinas virtuales.

Gestión de red

La pestaña NETWORK muestra las redes disponibles y sus parámetros:

Aquí puede ver redes de todo el grupo (disponibles para todos los hosts del grupo) y redes internas del host, así como crear nuevas conexiones de red.

Creación de una máquina virtual

Preparación: Carga de una imagen ISO

Antes de crear una máquina virtual, debe cargar una imagen ISO del sistema operativo en el Repositorio de Almacenamiento.

Carga de ISO a través de SSH

XO Lite no admite la carga de imágenes ISO a través de la interfaz web. Para cargar un ISO, debe usar la línea de comandos:

  1. Conéctese al servidor a través de SSH

        ssh root@<dirección_IP_del_servidor>
    
  2. Si xsconsole se abre después de la conexión, salga a la línea de comandos regular seleccionando el elemento de menú Local Command Shell o presionando Ctrl+C.

  3. Encuentre el UUID del almacenamiento ISO

        xe sr-list content-type=iso
    
    Copie el UUID del almacenamiento llamado "XCP-ng Tools".

  4. Navegue al directorio de almacenamiento ISO

        cd /opt/xensource/packages/iso
    
  5. Descargue la imagen ISO

    Descargue desde internet:

        wget https://repo.almalinux.org/almalinux/9/isos/x86_64/AlmaLinux-9-latest-x86_64-boot.iso
    

    O cargue desde la computadora local (ejecute en su PC)

        scp /ruta/al/archivo.iso root@<IP_servidor>:/opt/xensource/packages/iso/
    
  6. Vuelva a escanear el almacenamiento

        xe sr-scan uuid=<UUID_SR>
    
    Donde <UUID_SR> es el UUID obtenido en el paso 3.

    Después de esto, la imagen ISO aparecerá en la lista de imágenes disponibles al crear una máquina virtual.

Creación de una VM a través de XO Lite

  • Haga clic en el botón New VM en la esquina superior derecha de la interfaz.

  • En la ventana que se abre, complete los parámetros de la máquina virtual:

    • Template: seleccione la plantilla del sistema operativo (por ejemplo, AlmaLinux 9);
    • Install settings: elija el método de instalación:
      • ISO/DVD: instalación desde imagen ISO (recomendada) - seleccione el ISO cargado de la lista;
      • PXE: instalación en red (requiere servidor PXE configurado).
    • System: especifique el nombre de la VM, descripción, tipo de firmware (BIOS/UEFI);
    • Memory: establezca la cantidad de vCPUs y RAM.
  • Configure las conexiones de red y el almacenamiento:

    • Network: seleccione la interfaz de red para la conexión de la VM;
    • Storage: seleccione el almacenamiento y especifique el tamaño del disco;
    • Settings: habilite el inicio automático de la VM al arrancar (opcional).
  • Revise la configuración final en la sección Summary y haga clic en el botón Create.

Después de la creación, la máquina virtual se iniciará automáticamente y comenzará el arranque desde la imagen ISO. La interfaz de XO Lite abrirá la página Dashboard de la VM creada:

La página Dashboard muestra:

  • Quick info: información básica de la VM (estado, UUID, host, recursos);
  • CPU usage: gráfico de uso del procesador;
  • RAM usage: gráfico de uso de memoria;
  • Network throughput: gráfico de actividad de red;
  • VDI throughput: gráfico de actividad del disco;
  • Change state: menú de gestión del estado de la VM (iniciar, pausar, reiniciar, apagar).

Para acceder a la consola de la máquina virtual y comenzar la instalación del sistema operativo, vaya a la pestaña CONSOLE.

Consejo

Para la instalación en red (Boot ISO), asegúrese de que la máquina virtual tenga acceso a internet a través de la red configurada, ya que los paquetes de instalación se descargarán desde el repositorio.

Selección de imagen ISO

Al seleccionar una imagen ISO, tenga en cuenta el tipo de imagen:

Para Linux (usando AlmaLinux como ejemplo):

  • DVD/Full ISO (~4-10 GB) - imagen completa, contiene todos los paquetes, no requiere internet
    • AlmaLinux-9-latest-x86_64-dvd.iso;
    • Ubuntu-22.04-server.iso.
  • Boot/Minimal ISO (~1 GB) - imagen mínima, requiere conexión a internet activa para descargar paquetes
    • AlmaLinux-9-latest-x86_64-boot.iso;
    • Ubuntu-22.04-live-server.iso.

Recomendación: Para una instalación confiable, use imágenes ISO completas (DVD/Full), especialmente si la VM tiene una conexión a internet inestable o nula.

Recomendaciones de selección de firmware

  • UEFI - recomendado para sistemas operativos modernos:
    • Linux: AlmaLinux 9+, Ubuntu 20.04+, Debian 11+;
    • Windows: Windows Server 2016+, Windows 10/11.
  • BIOS - para compatibilidad:
    • Versiones más antiguas de SO;
    • Al encontrar problemas de arranque UEFI;
    • Escenarios específicos (aplicaciones heredadas).

Elección de selección de software

Al instalar distribuciones de Linux, hay varias opciones de entorno disponibles:

  • Minimal Install - sistema básico sin GUI (~400-600 paquetes, instalación de 5-10 minutos)
    • Recomendado para servidores y producción;
    • Consumo mínimo de recursos.
  • Server with GUI - sistema completo con interfaz gráfica (~1000-1500 paquetes, instalación de 15-30 minutos)
    • Conveniente para aprendizaje y pruebas;
    • Requiere más recursos (RAM, CPU, disco).

Para servidores de producción, se recomienda Minimal Install.

Instalación de XCP-ng Guest Tools

Después de instalar el sistema operativo, es críticamente importante instalar XCP-ng Guest Tools para que la máquina virtual funcione correctamente.

Por qué se necesitan las Guest Tools

Las Guest Tools proporcionan:

  • Apagado y reinicio correctos de la VM (apagado suave);
  • Visualización de la dirección IP y el estado de la VM en la interfaz de XCP-ng;
  • Mejora del rendimiento de red y disco;
  • Sincronización de tiempo entre el host y el SO invitado;
  • Soporte para instantáneas con quiesce (instantáneas consistentes);

Importante

Sin las Guest Tools instaladas, la máquina virtual puede funcionar de manera inestable, especialmente en lo que respecta a las conexiones de red y la gestión del estado.

Secuencia de instalación de Guest Tools

Paso 1: Completar la instalación del SO

Después de instalar el sistema operativo, cuando aparezca un mensaje de finalización o se muestre un aviso de reinicio:

Importante

No reinicie la máquina virtual inmediatamente. Primero, debe reemplazar el ISO de instalación con guest-tools.iso.

Excepción: Si ya ha reiniciado la VM, está bien; el ISO se puede conectar después del primer arranque del sistema instalado.

Paso 2: Reemplazar ISO con Guest Tools (en el host XCP-ng)

Conéctese al host XCP-ng a través de SSH y ejecute los comandos.

Encuentre el UUID de su VM:

xe vm-list name-label="NOMBRE_VM"

O obtenga una lista de todas las VM en ejecución:

xe vm-list power-state=running

Ejemplo de salida:

uuid ( RO)           : 0218d2ca-bfb7-fdfb-0c78-7a115a69ecdc
     name-label ( RW): AlmaLinux 9
    power-state ( RO): running

Extraiga el ISO de instalación (si está conectado):

xe vm-cd-eject uuid=<UUID_VM>

Inserte el ISO de guest-tools:

xe vm-cd-insert uuid=<UUID_VM> cd-name="guest-tools.iso"

Verifique que el ISO haya sido reemplazado:

xe vbd-list vm-uuid=<UUID_VM> type=CD

Ejemplo de salida:

uuid ( RO)             : 5f644369-7b28-a39d-6bc0-2221ec2b92d3
          vm-uuid ( RO): 0218d2ca-bfb7-fdfb-0c78-7a115a69ecdc
    vm-name-label ( RO): AlmaLinux 9
         vdi-uuid ( RO): dd994bfa-83a6-482a-a2c4-f952a5d8ab81
            empty ( RO): false
           device ( RO): xvdd
Tenga en cuenta el parámetro device; este es el nombre del dispositivo en el sistema invitado (en este caso xvdd).

Paso 3: Reiniciar la VM

  • Si aún no ha reiniciado después de la instalación: En la consola de la VM, presione "Reboot System" o ejecute el comando reboot;
  • Si ya está en un sistema en ejecución: No se requiere reinicio, continúe con el Paso 4.

Paso 4: Instalar Guest Tools en el SO invitado

El procedimiento de instalación depende del sistema operativo:

Para Linux (basado en RHEL: AlmaLinux, Rocky, CentOS, RHEL)

Inicie sesión en el sistema como root y ejecute los comandos.

Cree un punto de montaje:

mkdir -p /mnt/cdrom

Monte el ISO de guest-tools:

mount /dev/sr0 /mnt/cdrom

Si /dev/sr0 no funciona, intente opciones alternativas:

mount /dev/cdrom /mnt/cdrom

o

mount /dev/xvdd /mnt/cdrom

Verifique el contenido:

ls -la /mnt/cdrom/Linux/

Navegue al directorio:

cd /mnt/cdrom/Linux

Ejecute la instalación:

bash install.sh

Ejemplo de salida:

Detected 'AlmaLinux release 9.7 (Moss Jungle Cat)' (almalinux version 9).


The following changes will be made to this Virtual Machine:
 * update arp_notify sysctl
 * packages to be installed/upgraded:
   - xe-guest-utilities-7.30.0-12.x86_64.rpm


Continue? [y/n] y

Presione y y espere a que se complete la instalación.

Nota

La instalación puede quedarse atascada al 100% durante 30-60 segundos; esto es normal. Si se queda atascado durante más de 2 minutos, presione Ctrl+C y verifique el resultado.

Verifique la instalación:

rpm -qa | grep xe-guest
Debe mostrar algo como:
xe-guest-utilities-7.30.0-12.legacy.x86_64

Verifique el script init.d:

ls /etc/init.d/ | grep xe

Debe mostrar:

xe-linux-distribution

Importante para AlmaLinux 9 / RHEL 9 / Rocky 9:

problema de systemd en distribuciones modernas

El script install.sh solo instala el script init.d, pero no crea un archivo de unidad systemd. Esto significa que los comandos systemctl status xe-linux-distribution y chkconfig no funcionarán.

Síntomas:

systemctl status xe-linux-distribution
Unit xe-linux-distribution.service could not be found.

chkconfig xe-linux-distribution on
bash: chkconfig: command not found...

Solución: Cree el archivo de unidad systemd manualmente. Ejemplo de creación del archivo:

cat > /etc/systemd/system/xe-linux-distribution.service << 'EOF'
[Unit]
Description=XCP-ng Guest Utilities
After=network.target


[Service]
Type=oneshot
ExecStart=/etc/init.d/xe-linux-distribution start
ExecStop=/etc/init.d/xe-linux-distribution stop
RemainAfterExit=yes


[Install]
WantedBy=multi-user.target
EOF
Active e inicie el servicio:

systemctl daemon-reload
systemctl enable xe-linux-distribution
systemctl start xe-linux-distribution

Verifique el estado del servicio:

systemctl status xe-linux-distribution

Desmonte el ISO:

cd ~
umount /mnt/cdrom

Reinicie el sistema para aplicar los cambios:

reboot

Para Linux (basado en Debian: Ubuntu, Debian)

Inicie sesión en el sistema como root o use sudo.

Cree un punto de montaje:

sudo mkdir -p /mnt/cdrom

Monte el ISO de guest-tools:

sudo mount /dev/sr0 /mnt/cdrom

Navegue al directorio:

cd /mnt/cdrom/Linux

Ejecute la instalación:

sudo bash install.sh

Verifique la instalación:

dpkg -l | grep xe-guest

Verifique el estado del servicio:

sudo systemctl status xe-linux-distribution

Desmonte el ISO:

cd ~
sudo umount /mnt/cdrom

Reinicie el sistema:

sudo reboot

Método alternativo para Linux: Instalación a través del repositorio

Si el montaje del ISO no funciona o desea instalar Guest Tools a través del administrador de paquetes.

Para basado en RHEL (AlmaLinux, Rocky, CentOS) instale el repositorio EPEL:

sudo dnf install -y epel-release

Instale xe-guest-utilities:

sudo dnf install -y xe-guest-utilities

Habilite el servicio:

sudo systemctl enable xe-linux-distribution

Inicie el servicio:

sudo systemctl start xe-linux-distribution

Verifique el estado:

sudo systemctl status xe-linux-distribution

Nota

La instalación a través del repositorio requiere una conexión a internet activa en la VM.

Paso 5: Verificar el funcionamiento de Guest Tools

Después del reinicio y la instalación de Guest Tools, verifique su funcionamiento.

En el SO invitado (Linux) verifique el estado del servicio:

systemctl status xe-linux-distribution

O a través de init.d:

/etc/init.d/xe-linux-distribution status

Ejemplo de salida correcta:

os_distro="almalinux"
os_majorver="9"
os_minorver="7"
os_uname="5.14.0-611.5.1.el9_7.x86_64"
os_name="AlmaLinux release 9.7 (Moss Jungle Cat)"

En el host XCP-ng verifique la visualización de la información de red:

xe vm-param-get uuid=<UUID_VM> param-name=networks

Verifique el estado de los controladores PV:

xe vm-param-get uuid=<UUID_VM> param-name=PV-drivers-version

Obtenga información general de la VM:

xe vm-param-list uuid=<UUID_VM> | grep -E "PV-drivers|networks"
En la interfaz de XO Lite

Después de iniciar el servicio xe-linux-distribution, el Dashboard de la VM debe mostrar (actualizado después de 10-30 segundos):

  • Dirección IP: dirección IP de la VM;
  • Guest tools: versión de Guest Tools instalada (por ejemplo, 7.30.0-12);
  • Nombre del SO: sistema operativo detectado (por ejemplo, AlmaLinux release 9.7):

Gestión de máquinas virtuales

La pestaña VMS muestra una lista de todas las máquinas virtuales con capacidades de gestión:

Acciones disponibles:

  • Change state: iniciar, detener, reiniciar VM;
  • Migrate: migrar VM a otro host;
  • Copy: crear una copia de la máquina virtual;
  • Edit config: editar configuración de la VM;
  • Snapshot: crear una instantánea del estado;
  • Export: exportar VM a un archivo;
  • Delete: eliminar máquina virtual.

Trabajo con almacenamiento, ISO y redes

Gestión de repositorios de almacenamiento (SR)

Ver todo el almacenamiento:

Listar todos los SR

xe sr-list
Información detallada sobre un SR específico

xe sr-param-list uuid=<UUID_SR>
Ver uso del espacio en disco

xe sr-list params=name-label,physical-size,physical-utilisation,uuid

Trabajo con almacenamiento ISO:

Encontrar SR ISO

xe sr-list content-type=iso
Obtener ruta al SR ISO

xe pbd-list sr-uuid=<UUID_SR>
Navegar al directorio ISO (generalmente /opt/xensource/packages/iso)

cd /opt/xensource/packages/iso
Ver ISOs disponibles

ls -lh
Descargar ISO desde internet

wget https://example.com/os.iso
Cargar ISO desde la computadora local

scp /ruta/al/archivo.iso root@<IP_servidor>:/opt/xensource/packages/iso/

Atención

Debe volver a escanear el SR después de agregar el ISO

xe sr-scan uuid=<UUID_SR>
Verificar que el ISO apareció

xe vdi-list sr-uuid=<UUID_SR>

Gestión de almacenamiento local

Ver discos virtuales (VDI):

xe vdi-list sr-uuid=

Verificar espacio libre:

df -h

Ver lista de instantáneas:

xe snapshot-list | grep snapshot

Eliminar instantánea:

xe snapshot-uninstall snapshot-uuid=

Gestión de red

Ver todas las redes:

xe network-list

Información detallada de la red:

xe network-param-list uuid=

Ver interfaces físicas (PIF):

xe pif-list

Detalles específicos de PIF:

xe pif-param-list uuid=

Verificar la dirección IP del host:

ip addr show

Crear red interna:

xe network-create name-label="Red Interna" name-description="Red privada de VM"

Crear red VLAN:

xe network-create name-label="VLAN100" name-description="VLAN 100" vlan=100 pif-uuid=

Ver interfaces de red de la VM:

xe vif-list vm-uuid=

Crear nueva interfaz de red para la VM:

xe vif-create vm-uuid= network-uuid= device=0

Comandos CLI básicos

Gestión de máquinas virtuales

Listar todas las VM:

xe vm-list

Solo VM en ejecución:

xe vm-list power-state=running

Información detallada de la VM:

xe vm-param-list uuid=<UUID_VM>

Iniciar VM:

xe vm-start uuid=<UUID_VM>

Apagar VM:

xe vm-shutdown uuid=<UUID_VM>

Reiniciar VM:

xe vm-reboot uuid=<UUID_VM>

Suspender VM:

xe vm-suspend uuid=<UUID_VM>

Apagado forzado de VM:

xe vm-shutdown uuid=<UUID_VM> force=true

Crear instantánea:

xe vm-snapshot uuid=<UUID_VM> new-name-label="backup-$(date +%Y%m%d)"

Listar instantáneas:

xe snapshot-list

Restaurar desde instantánea:

xe snapshot-revert snapshot-uuid=<UUID_snapshot>

Eliminar instantánea:

xe snapshot-uninstall snapshot-uuid=<UUID_snapshot>

Exportar VM:

xe vm-export uuid=<UUID_VM> filename=/ruta/a/backup.xva

Importar VM:

xe vm-import filename=/ruta/a/backup.xva

Monitoreo y diagnóstico

Información del host:

xe host-list params=all

Monitoreo de procesos:

top

Monitoreo avanzado de procesos:

htop

Verificar uso de memoria:

free -h

Memoria libre del host:

xe host-param-get uuid=<UUID_host> param-name=memory-free

Uso de CPU por máquinas virtuales:

xe vm-list params=name-label,power-state,VCPUs-utilisation

Ver registro principal de XCP-ng:

tail -f /var/log/xensource.log

Registros del sistema:

journalctl -xe

Ver mensajes del sistema:

tail -f /var/log/messages

Registros de Xen:

xl dmesg

Crear informe de error (contiene toda la información de diagnóstico):

xen-bugtool -y

Ubicación del informe

El resultado se guardará en /var/opt/xen/bug-report/

Gestión de imágenes ISO y unidades de CD

Listar imágenes ISO disponibles:

xe cd-list

Información detallada sobre ISO en SR:

xe vdi-list sr-uuid= content-type=iso

Adjuntar ISO a VM:

xe vm-cd-insert uuid= cd-name=".iso"

Extraer ISO de VM:

xe vm-cd-eject uuid=

Verificar CD/ISO conectado a VM:

xe vbd-list vm-uuid= type=CD

Navegar al directorio ISO en el host:

cd /opt/xensource/packages/iso

Descargar ISO desde internet:

wget https://example.com/os.iso

Volver a escanear SR después de cargar ISO:

xe sr-scan uuid=

Verificar estado de Guest Tools

Verificar versión de controladores PV:

xe vm-param-get uuid= param-name=PV-drivers-version

Verificar si los controladores PV están actualizados:

xe vm-param-get uuid= param-name=PV-drivers-up-to-date

Obtener información del SO invitado:

xe vm-param-get uuid= param-name=os-version

Verificar detección de controladores PV:

xe vm-param-get uuid= param-name=PV-drivers-detected

Obtener información de red de la VM:

xe vm-param-get uuid= param-name=networks

Problemas comunes y soluciones

Problema: La VM arranca en modo de emergencia/recuperación

Síntomas:

Aparece el mensaje "You are in emergency mode" o "Welcome to emergency mode";

Causas típicas:

  • Errores de configuración de arranque (fstab para Linux);
  • Corrupción del sistema de archivos;
  • Problemas de virtualización;
  • Apagado incorrecto de la VM.

Solución para Linux:

Inicie sesión en el sistema con la contraseña de root (o presione Ctrl+D para continuar).

Verifique los registros del sistema:

journalctl -xb | grep -i error

Verifique los mensajes del kernel:

dmesg | grep -i error

Verifique el sistema de archivos:

cat /etc/fstab

Verifique el uso del disco:

df -h

Verifique los dispositivos de bloque:

lsblk

Si el problema está en fstab (por ejemplo, swap o disco faltante), edite el archivo:

nano /etc/fstab

Comente la línea problemática agregando # al principio. Ejemplo:

# /dev/mapper/almalinux-swap none swap defaults 0 0

Si necesita verificar el sistema de archivos, primero desmonte la partición:

umount /dev/xvda2

Verifique y repare el sistema de archivos:

fsck -y /dev/xvda2

Reinicie el sistema:

systemctl reboot

Problema: GRUB no carga o se congela

Síntomas:

  • La VM se congela en la pantalla TianoCore (UEFI);
  • Aparece "Welcome to GRUB" y no pasa nada;
  • Pantalla negra con cursor después de BIOS/UEFI.

Causas típicas:

  • boot order incorrecto;
  • ISO aún conectado como primer dispositivo de arranque;
  • Corrupción del cargador de arranque GRUB;
  • Incompatibilidad UEFI/BIOS.

Solución 1: Verificar y cambiar el orden de arranque

En el host XCP-ng verifique el boot order actual:

xe vm-param-get uuid=<UUID_VM> param-name=HVM-boot-params

Posibles valores de orden: - cdn - HDD ©, CD (d), Red (n) - dcn - CD (d), HDD ©, Red (n) - c - Solo HDD

Para la instalación del SO, establezca CD primero:

xe vm-param-set uuid=<UUID_VM> HVM-boot-params:order=dcn

Después de la instalación del SO, establezca el arranque solo desde HDD:

xe vm-param-set uuid=<UUID_VM> HVM-boot-params:order=c

Extraiga el ISO de instalación si aún está conectado:

xe vm-cd-eject uuid=<UUID_VM>

Reinicie la VM:

xe vm-reboot uuid=<UUID_VM> --force

Solución 2: Arranque a través de GRUB Rescue (para Linux)

Si termina en la línea de comandos de GRUB (aparece el indicador grub>), ejecute los siguientes comandos.

Encuentre las particiones disponibles:

ls
La salida será algo como: (hd0) (hd0,msdos2) (hd0,msdos1)

Encuentre la partición con /boot (generalmente msdos1 o gpt1):

ls (hd0,msdos1)/

Verifique el contenido de boot:

ls (hd0,msdos1)/boot/

Debe ver archivos vmlinuz, initramfs y la carpeta grub2.

Para sistemas BIOS ejecute:

set root=(hd0,msdos1)
set prefix=(hd0,msdos1)/grub2
insmod normal
normal

Para sistemas UEFI ejecute:

set root=(hd0,gpt1)
set prefix=(hd0,gpt1)/boot/grub2
insmod normal
normal

Después de que el sistema arranque, restaure GRUB.

Para basado en RHEL (AlmaLinux, Rocky, CentOS):

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Para sistemas UEFI:

sudo grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg

Para basado en Debian (Ubuntu, Debian):

sudo update-grub

Reinstale GRUB si es necesario (para BIOS):

sudo grub2-install /dev/xvda

Solución 3: Cambio entre UEFI y BIOS

Si los problemas persisten, en el host XCP-ng verifique el modo actual:

xe vm-param-get uuid=<UUID_VM> param-name=HVM-boot-params

Cambie a BIOS (puede requerir reinstalación del SO):

xe vm-param-remove uuid=<UUID_VM> param-name=HVM-boot-params param-key=firmware

O establezca explícitamente BIOS:

xe vm-param-set uuid=<UUID_VM> HVM-boot-params:firmware=bios

Problema: La red no funciona después de la instalación

Síntomas:

  • La VM no obtiene dirección IP;
  • La interfaz de red muestra "desconectado" o "sin portador";
  • Ping no funciona;
  • La dirección IP no se muestra en la interfaz de XCP-ng;

Causas típicas:

  • Guest Tools no instaladas (causa principal);
  • Configuración de red incorrecta en la VM;
  • Problemas con el adaptador de red virtual;
  • Firewall bloqueando la conexión.

Solución:

  1. Instalar Guest Tools (ver sección anterior) - esto resolverá el 90% de los problemas de red

  2. Verificar el estado de la interfaz de red en el SO invitado

    Para Linux verificar el estado de la interfaz:

    ip link show
    

    Verificar direcciones IP:

    ip addr show
    

    Para sistemas con NetworkManager:

    nmcli device status
    

    Verificar conexiones:

    nmcli connection show
    

    Para sistemas con systemd-networkd:

    networkctl status
    

    Verificar enrutamiento:

    ip route show
    

  3. Habilitar y configurar la interfaz

    Para basado en RHEL con NetworkManager habilitar la interfaz:

    sudo nmcli device set eth0 managed yes
    

    Activar la conexión:

    sudo nmcli connection up eth0
    

    O reiniciar NetworkManager:

    sudo systemctl restart NetworkManager
    

    Para basado en Debian verificar la configuración (Ubuntu 18.04+):

    cat /etc/netplan/00-installer-config.yaml
    

    Para Debian/Ubuntu antiguo:

    cat /etc/network/interfaces
    

    Habilitar la interfaz:

    sudo ip link set eth0 up
    

    Solicitar IP vía DHCP:

    sudo dhclient eth0
    

  4. Verificar la configuración de XCP-ng

    En el host XCP-ng verificar las interfaces de red virtuales de la VM:

    xe vif-list vm-uuid=<UUID_VM>
    

    Verificar redes disponibles:

    xe network-list
    

    Si falta VIF o es incorrecto, obtenga el UUID de la red:

    xe network-list name-label="Pool-wide network associated with eth0"
    

    Crear nuevo VIF:

    xe vif-create vm-uuid=<UUID_VM> network-uuid=<UUID_NETWORK> device=0
    

  5. Verificar firewall

    Para Linux (firewalld) verificar estado:

    sudo systemctl status firewalld
    

    Deshabilitar temporalmente para pruebas:

    sudo systemctl stop firewalld
    

    Para Linux (iptables) verificar reglas:

    sudo iptables -L -n
    

    Borrar reglas temporalmente para pruebas:

    sudo iptables -F
    

Problema: Instalación del SO muy lenta

Síntomas:

  • La instalación tarda varias horas en lugar de 15-30 minutos;
  • La copia de paquetes es muy lenta;
  • La VM se congela en la etapa "Installing packages" o "Configuring".

Causas típicas:

  • Subsistema de disco del host lento (HDD en lugar de SSD);
  • Repositorio de Almacenamiento sobrecargado;
  • Recursos insuficientes de la VM (CPU, RAM);
  • Problemas de rendimiento del host.

Soluciones:

  1. Usar instalación mínima para Linux:

    • Minimal contiene ~400-600 paquetes en lugar de 1000-1500 (Server with GUI);
    • La instalación tarda 5-10 minutos en lugar de horas;
    • Para servidores de producción, generalmente no se necesita GUI;
    • Puede instalar los paquetes necesarios después de la instalación.
  2. Aumentar temporalmente los recursos de la VM

    En el host XCP-ng (antes de iniciar o durante la instalación) aumentar la RAM:

    xe vm-param-set uuid=<UUID_VM> memory-static-max=8GiB memory-dynamic-max=8GiB
    

    Aumentar vCPU:

    xe vm-param-set uuid=<UUID_VM> VCPUs-max=4 VCPUs-at-startup=4
    

  3. Verificar el rendimiento del disco

    En el host XCP-ng verificar E/S:

    iostat -x 1
    

    Verificar carga del disco:

    iotop
    

    Verificar estado del SR:

    xe sr-list
    

    Obtener detalles del SR:

    xe sr-param-list uuid=<UUID_SR>
    

  4. Usar almacenamiento más rápido:

    • Si hay múltiples SR disponibles, use almacenamiento basado en SSD;
    • Considere migrar a otro SR.

Problema: No se puede conectar el ISO

Síntomas:

  • Error "The VM has no empty CD drive (VBD)";
  • Error "No matching VMs found";
  • El ISO no aparece en la lista disponible.

Solución 1: La VM no tiene unidad de CD vacía

Verificar VBDs existentes (Dispositivos de Bloque Virtuales):

xe vbd-list vm-uuid=<UUID_VM>

Si la unidad de CD está ocupada por otro ISO, extráigala:

xe vm-cd-eject uuid=<UUID_VM>

Ahora inserte el ISO necesario:

xe vm-cd-insert uuid=<UUID_VM> cd-name="guest-tools.iso"

Si la unidad de CD está completamente ausente, primero encuentre el UUID del ISO necesario:

xe cd-list name-label="guest-tools.iso"

Crear VBD manualmente:

xe vbd-create vm-uuid=<UUID_VM> vdi-uuid=<UUID_ISO> device=3 bootable=false mode=RO type=CD

Solución 2: No se encontraron VM coincidentes

Problema: usar UUID del Dominio de Control en lugar de la VM.

Verificar la lista de VM correctamente (excluyendo el Dominio de Control):

xe vm-list is-control-domain=false

Asegúrese de usar el UUID correcto verificando:

xe vm-param-list uuid=<UUID_VM> | grep "is-control-domain"

Debe ser: is-control-domain ( RO): false

Solución 3: El ISO no aparece en la lista

Verificar que el ISO está cargado:

xe cd-list

Si el ISO no está en la lista, encuentre el SR para ISO:

xe sr-list content-type=iso

Navegar al directorio ISO:

cd /opt/xensource/packages/iso

Verificar presencia del archivo:

ls -lh

Si el archivo falta, descargue desde internet:

wget https://example.com/your-iso.iso

O desde la computadora local (ejecute en su PC):

scp /ruta/local/archivo.iso root@<IP-host>:/opt/xensource/packages/iso/

Volver a escanear SR:

xe sr-scan uuid=<UUID_SR>

Verificar de nuevo:

xe cd-list

Problema: La VM no se apaga correctamente

Síntomas:

  • xe vm-shutdown no funciona o se congela
  • La VM solo se puede apagar vía --force
  • Errores de tiempo de espera en los registros

Causas:

  • Guest Tools no instaladas o no funcionando
  • El SO no responde a eventos ACPI
  • Procesos atascados en el SO invitado

Solución:

  1. Instalar/verificar Guest Tools (causa principal)

  2. Verificar el estado de Guest Tools

    En el host XCP-ng verificar la versión de los controladores PV:

    xe vm-param-get uuid=<UUID_VM> param-name=PV-drivers-version
    

    Verificar la actualidad de los controladores:

    xe vm-param-get uuid=<UUID_VM> param-name=PV-drivers-up-to-date
    

  3. Usar comandos de apagado correctos

    Apagado suave (requiere Guest Tools):

    xe vm-shutdown uuid=<UUID_VM>
    

    Apagado forzado (equivalente a presionar el botón de encendido):

    xe vm-shutdown uuid=<UUID_VM> --force
    

Apagado duro (equivalente a desconectar el cable de alimentación, usar solo como último recurso):

xe vm-destroy uuid=<UUID_VM>

Consejos generales de diagnóstico

Cuando ocurran problemas, siempre verifique los registros.

En el SO invitado (Linux) verificar eventos recientes:

journalctl -xe

Verificar mensajes del kernel:

dmesg | tail -50

Ver registro del sistema (basado en RHEL):

tail -f /var/log/messages

Ver registro del sistema (basado en Debian):

tail -f /var/log/syslog

En el host XCP-ng ver registro principal:

tail -f /var/log/xensource.log

Verificar mensajes del hipervisor Xen:

xl dmesg

Verificar eventos del sistema:

journalctl -xe

Crear informe de diagnóstico en el host XCP-ng:

xen-bugtool -y

El resultado se guardará en /var/opt/xen/bug-report/

Nota

Información detallada sobre la configuración y administración de XCP-ng está disponible en la documentación oficial.

Nota

Foro de XCP-ng - foro comunitario para obtener ayuda.

Pedido de un servidor con XCP-ng a través de la API

Para instalar un servidor con RouterOS usando la API, siga estas instrucciones.


Parte del contenido de esta página fue creado o traducido utilizando IA.

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×