XCP-ng y Xen Orchestra en Dedicated: Sustituto Gratuito de VMware ESXi
TL;DR
En esta guía detallada configuraremos la potente y gratuita plataforma de virtualización XCP-ng en un servidor dedicado, y luego implementaremos y configuraremos Xen Orchestra para una gestión intuitiva de máquinas virtuales. Obtendrá una infraestructura fiable para ejecutar cualquier servicio, desde aplicaciones web y bases de datos hasta servidores de juegos y nodos blockchain, con control total sobre los recursos y los datos, evitando la dependencia de soluciones propietarias.
- Instalación de XCP-ng 8.4 LTS en un servidor dedicado para crear un hipervisor de alto rendimiento.
- Implementación de Xen Orchestra Community Edition (XOCE) en una máquina virtual para una gestión centralizada.
- Configuración de acceso remoto seguro y parámetros básicos de red.
- Integración de TLS/HTTPS para Xen Orchestra mediante Caddy, para un acceso protegido a la interfaz web.
- Recomendaciones para las copias de seguridad de máquinas virtuales y el mantenimiento de toda la infraestructura.
- Consejos prácticos para elegir hardware y resolver problemas comunes.
Qué configuramos y por qué
En esta guía crearemos una plataforma de virtualización completa utilizando la combinación de XCP-ng y Xen Orchestra. XCP-ng (Xen Cloud Platform - next generation) es un potente hipervisor de código abierto basado en XenProject, que convierte su servidor dedicado en una potente máquina para ejecutar numerosas máquinas virtuales. Es una alternativa directa y funcional a soluciones comerciales como VMware ESXi o Microsoft Hyper-V, pero es completamente gratuita y totalmente abierta.
Xen Orchestra (XO) es una interfaz web de gestión para XCP-ng (y XenServer) que proporciona herramientas intuitivas para crear, iniciar, supervisar y administrar máquinas virtuales. Con ella podrá gestionar fácilmente toda su infraestructura virtual desde cualquier parte del mundo mediante un navegador web, sin recurrir directamente a la línea de comandos de XCP-ng.
¿Qué obtendrá el lector al final? Obtendrá control total sobre su hardware, la capacidad de distribuir eficientemente los recursos entre distintos proyectos, ejecutar entornos aislados para desarrollo, pruebas o producción, así como crear soluciones tolerantes a fallos. Es una elección ideal para desarrolladores, startups, entusiastas de las criptomonedas y todos aquellos que valoran la independencia y el rendimiento de su servidor.
Alternativas: Cloud-Managed vs Self-Hosted
Existen dos enfoques principales para implementar infraestructura: utilizar servicios en la nube (cloud-managed) o alojarla por cuenta propia (self-hosted) en un servidor VPS/dedicated.
- Cloud-managed (por ejemplo, AWS EC2, Google Compute Engine, Azure Virtual Machines): Es cómodo, se escala rápidamente y no requiere profundos conocimientos de administración de infraestructura. Paga por los recursos utilizados y el proveedor se encarga del hardware, la red y el software básico. Sin embargo, puede resultar significativamente más caro con una carga constante, y estará limitado por las capacidades y API de un proveedor específico.
- Self-hosted en VPS: Una opción más económica que ofrece mayor control. Alquila un servidor virtual y gestiona completamente su software. Es adecuado para una o dos tareas, pero para una virtualización completa con varias VM puede ser ineficiente, ya que el propio VPS ya es una máquina virtual y ejecutar un hipervisor dentro de él (nested virtualization) es posible, pero menos eficiente y no siempre está soportado.
- Self-hosted en Dedicated Server (nuestro caso): Máximo control, rendimiento y flexibilidad. Alquila un servidor físico en el que puede instalar XCP-ng como sistema operativo base. Esto permite utilizar todos los recursos de hardware sin la sobrecarga de virtualización a nivel del host, crear numerosas máquinas virtuales y configurar redes y sistemas de almacenamiento complejos. Es la opción más rentable para proyectos escalables y con uso intensivo de recursos a largo plazo, especialmente cuando se requiere un alto rendimiento de I/O o hardware específico.
Qué configuración Dedicated se necesita para esta tarea
La elección del hardware para XCP-ng es críticamente importante, ya que será la base para todas sus máquinas virtuales. XCP-ng se instala directamente en hardware "bare-metal", convirtiendo su servidor dedicated en un hipervisor.
Requisitos mínimos (para tareas domésticas o de prueba):
- CPU: Procesador de 4 núcleos (por ejemplo, Intel Xeon E3-12xx v5/v6 o AMD Ryzen 3xxx/5xxx) con soporte de virtualización por hardware (Intel VT-x/EPT o AMD-V/RVI).
- RAM: Mínimo 16 GB de ECC RAM. Cuantas más VM planee ejecutar, más RAM necesitará.
- Disco: 2x 240 GB SSD en RAID1 para el sistema operativo XCP-ng y las VM básicas. Para los datos de las VM se requerirá almacenamiento adicional. Se recomienda NVMe para un alto rendimiento de I/O.
- Red: 1x puerto Gigabit Ethernet.
Plan Dedicated recomendado (para producción y escalado):
Para la mayoría de las tareas de producción, como ejecutar GitLab, varias instancias de Mattermost, servidores de juegos o nodos Bitcoin/Ethereum, necesitará una configuración más potente:
- CPU: 8-16 núcleos (por ejemplo, Intel Xeon E5-26xx v3/v4 o AMD EPYC 7xxx) con soporte de virtualización por hardware. La frecuencia del núcleo es más importante que el número de núcleos para algunas cargas de trabajo.
- RAM: 64-128 GB de ECC RAM. Esto permitirá alojar cómodamente varias VM que consumen muchos recursos.
- Disco:
- 2x 480 GB NVMe SSD en RAID1 para XCP-ng OS y VM de alto rendimiento.
- Adicionalmente: 2-4 TB NVMe/SSD o HDD (según los requisitos de capacidad y velocidad) para datos compartidos y VM menos críticas, también en RAID1 o RAID10.
- Red: 2x puertos 10 Gigabit Ethernet para proporcionar un alto ancho de banda y tolerancia a fallos.
Para alquilar un servidor dedicated adecuado con estas características, asegúrese de seleccionar una configuración con suficiente memoria RAM y discos NVMe rápidos. Esto garantizará un funcionamiento estable y eficiente de su infraestructura virtual.
Cuándo se necesita Dedicated y no VPS
Se necesita un servidor Dedicated cuando:
- Se requiere el máximo rendimiento y latencias mínimas de I/O, inalcanzables en un VPS.
- Se necesita control total sobre el hardware, incluida la elección de controladores RAID, tarjetas de red y GPU.
- Se planea ejecutar una gran cantidad de máquinas virtuales o contenedores que requieren recursos significativos.
- Se necesita virtualización por hardware (Intel VT-x/AMD-V) para el hipervisor, que no siempre está disponible o es eficiente en un VPS (nested virtualization).
- El presupuesto permite invertir en una solución más potente, pero más económica a largo plazo por unidad de recurso.
- Se requiere cumplir requisitos regulatorios específicos que exigen aislamiento físico.
Ubicación: en qué influye
La elección de la ubicación geográfica del servidor dedicado afecta a varios factores clave:
- Latencia (Latency): Cuanto más cerca esté el servidor de su audiencia principal o de usted, menor será la latencia. Esto es crítico para aplicaciones interactivas, servidores de juegos o escritorios remotos.
- Legislación: Las leyes de protección de datos (por ejemplo, GDPR en Europa) pueden ser un factor importante al elegir la ubicación del servidor.
- Coste: Los precios de los servidores dedicated pueden variar según la región debido a diferencias en el coste de la electricidad, el alquiler de centros de datos y los impuestos.
Para XCP-ng y Xen Orchestra, elija una ubicación que proporcione la mejor conexión con sus usuarios y cumpla sus requisitos legales.
Preparación del servidor
La preparación de un servidor dedicated para instalar XCP-ng difiere de la preparación de un servidor Linux convencional, ya que XCP-ng es un sistema operativo de hipervisor. La preparación principal consiste en acceder a la consola del servidor (IPMI/KVM) para cargar la imagen ISO y realizar la instalación inicial. Tras instalar XCP-ng, la mayoría de los ajustes básicos de seguridad y gestión se realizarán dentro de XCP-ng o en Xen Orchestra.
Acceso a IPMI/KVM
Su proveedor de servidores dedicated le proporcionará acceso a un panel de control desde el que podrá acceder a IPMI (Intelligent Platform Management Interface) o KVM (Keyboard, Video, Mouse) over IP. Esto es crítico para instalar XCP-ng, ya que la instalación se realiza mediante una interfaz gráfica y no por SSH.
Pasos:
- Inicie sesión en el panel de control de su servidor dedicated.
- Busque la sección "IPMI", "KVM" o "Remote Console".
- Inicie la consola KVM. Puede ser un applet de Java, un cliente HTML5 o un cliente VNC.
- Asegúrese de poder cargar la imagen ISO de XCP-ng mediante KVM (por ejemplo, montando una ISO desde un archivo local o mediante URL).
Actualización de firmware (opcional, pero recomendada)
Antes de instalar XCP-ng, se recomienda actualizar el firmware (BIOS/UEFI, controladores RAID, tarjetas de red) de su servidor a las últimas versiones estables. Esto puede mejorar la compatibilidad, el rendimiento y la estabilidad. El proceso de actualización depende del fabricante del servidor (Dell, HP, Supermicro, etc.) y normalmente se realiza mediante IPMI o una unidad USB de arranque.
Atención: La actualización de firmware es una operación arriesgada. Realícela estrictamente siguiendo las instrucciones del fabricante.
Configuración de RAID (si corresponde)
Si su servidor tiene un controlador RAID por hardware, configúrelo antes de instalar XCP-ng. Para los discos en los que se instalará XCP-ng, normalmente se utiliza RAID1 (espejado) para la tolerancia a fallos. Para los discos de almacenamiento de máquinas virtuales puede utilizar RAID10 para rendimiento y tolerancia a fallos, o RAID5/6 para mayor capacidad a menor coste.
Ejemplo de configuración RAID (mediante KVM, en BIOS/UEFI del controlador RAID):
- Reinicie el servidor y acceda al menú de configuración del controlador RAID (normalmente pulsando Ctrl+R, Ctrl+M o Fx durante el arranque).
- Cree un nuevo "Virtual Disk" (VD) o "Logical Drive" (LD) para XCP-ng (por ejemplo, a partir de dos SSD en RAID1).
- Cree VD/LD adicionales para el almacenamiento de máquinas virtuales (por ejemplo, a partir de NVMe en RAID1 o RAID10).
- Guarde la configuración y salga del configurador RAID.
Ahora su servidor está listo para instalar XCP-ng.
Instalación del software: paso a paso
Esta sección abarca la instalación de XCP-ng en un servidor dedicado y la posterior instalación de Xen Orchestra en una máquina virtual administrada por XCP-ng.
1. Instalación de XCP-ng 8.4 LTS en un Dedicated Server
Suponemos que para 2026 XCP-ng 8.4 LTS será la versión estable vigente. La instalación de XCP-ng se realiza mediante un instalador gráfico interactivo, al que accedemos a través de KVM/IPMI.
-
Descarga de la imagen ISO de XCP-ng:
Descargue la imagen ISO actual de XCP-ng 8.4 LTS desde el sitio web oficial XCP-ng.com. A través de la consola KVM de su proveedor, monte esta imagen ISO como una unidad virtual o especifique una URL para descargarla.
-
Arranque del servidor desde la imagen ISO:
Reinicie el servidor dedicado y asegúrese de que arranque desde la imagen ISO montada. Es posible que deba cambiar el orden de arranque en BIOS/UEFI mediante KVM.
-
Inicio de la instalación de XCP-ng:
Después del arranque verá el menú del instalador. Seleccione "install" o "Install XCP-ng".
# Выберите "Install XCP-ng" в загрузочном менюQué hace el comando: Inicia el proceso de instalación del hipervisor XCP-ng.
-
Selección del idioma y la distribución del teclado:
Siga las instrucciones en pantalla y seleccione el idioma y la distribución del teclado que prefiera.
-
Aceptación del acuerdo de licencia:
Lea y acepte el acuerdo de licencia (EULA).
-
Selección del disco de instalación:
Seleccione el disco (o volumen lógico RAID) en el que se instalará XCP-ng. Asegúrese de que sea el disco correcto, ya que se eliminarán todos los datos que contenga.
# Выберите диск/RAID-том для установки XCP-ng OS # Например: /dev/sda или /dev/mapper/vg_xcpng-lv_rootQué hace el comando: Define el almacenamiento de destino para instalar el hipervisor.
-
Selección del tipo de almacenamiento (Thin Provisioning):
Se le pedirá que elija si desea utilizar la asignación ligera de recursos (Thin Provisioning). En la mayoría de los casos es una buena elección, ya que permite utilizar el espacio en disco de manera más eficiente.
# Выберите "Enable thin provisioning"Qué hace el comando: Configura una gestión flexible del espacio en disco para las VM.
-
Configuración de la interfaz de red:
Seleccione el adaptador de red que se utilizará para administrar XCP-ng. Configure la dirección IP, la máscara de subred, la puerta de enlace y los servidores DNS. Se recomienda utilizar una dirección IP estática.
# Настройте статический IP-адрес, маску, шлюз, DNS # Например: IP 192.168.1.100, Netmask 255.255.255.0, Gateway 192.168.1.1, DNS 8.8.8.8Qué hace el comando: Define los parámetros de red para acceder a XCP-ng.
-
Selección de la zona horaria y configuración de NTP:
Establezca la zona horaria correcta y configure los servidores NTP para la sincronización de hora (por ejemplo,
pool.ntp.org). -
Configuración de la contraseña de root:
Establezca una contraseña segura para el usuario
root. Esta contraseña se utilizará para acceder a la consola de XCP-ng y mediante SSH. -
Confirmación e inicio de la instalación:
Revise el resumen de la configuración y confirme el inicio de la instalación.
# Подтвердите, чтобы начать установкуQué hace el comando: Inicia la copia de archivos y la configuración del sistema.
-
Reinicio:
Una vez finalizada la instalación, extraiga el medio de instalación (desconecte la ISO en KVM) y reinicie el servidor.
# Перезагрузите сервер после установкиQué hace el comando: Finaliza la instalación e inicia XCP-ng.
Después del reinicio, XCP-ng estará en funcionamiento. Podrá acceder a su consola mediante KVM y también a través de SSH utilizando la dirección IP que configuró.
2. Instalación de Xen Orchestra Community Edition (XOCE) en una VM
Instalaremos XOCE desde el código fuente en una máquina virtual independiente en XCP-ng. Este es el enfoque recomendado, ya que aísla la administración del hipervisor.
-
Creación de una VM para Xen Orchestra:
Inicie sesión en la consola de XCP-ng mediante SSH o KVM. Utilice el comando
xe vm-installpara crear una nueva VM. Para Xen Orchestra se recomienda utilizar Debian 12 (Bookworm) o Ubuntu 24.04 LTS.# Подключитесь к XCP-ng по SSH ssh root@# Создайте VM с 2 vCPU, 4GB RAM и 40GB диском # Используем шаблон для Ubuntu 24.04 LTS (или Debian 12) # Сначала найдем UUID шаблона TEMPLATE_UUID=$(xe template-list name-label="Ubuntu 24.04 (64-bit)" --minimal) # Если шаблон не найден, попробуйте "Debian 12 (64-bit)" if [ -z "$TEMPLATE_UUID" ]; then TEMPLATE_UUID=$(xe template-list name-label="Debian 12 (64-bit)" --minimal) fi VM_UUID=$(xe vm-install template="$TEMPLATE_UUID" new-name-label="Xen Orchestra VM") xe vm-param-set uuid=$VM_UUID memory-static-max=4294967296 xe vm-param-set uuid=$VM_UUID memory-dynamic-max=4294967296 xe vm-param-set uuid=$VM_UUID memory-static-min=4294967296 xe vm-param-set uuid=$VM_UUID memory-dynamic-min=4294967296 xe vm-param-set uuid=$VM_UUID VCPUs-max=2 xe vm-param-set uuid=$VM_UUID VCPUs-at-startup=2 # Создайте новый VDI (виртуальный диск) для VM SR_UUID=$(xe sr-list content-type=user device-config:device=/dev/sdb --minimal) # Замените /dev/sdb на ваш SR if [ -z "$SR_UUID" ]; then SR_UUID=$(xe sr-list content-type=user --minimal) # Если есть только один SR fi VDI_UUID=$(xe vdi-create sr-uuid=$SR_UUID name-label="Xen Orchestra Disk" virtual-size=40GiB type=system) VBD_UUID=$(xe vbd-create vm-uuid=$VM_UUID vdi-uuid=$VDI_UUID device=0) xe vbd-param-set uuid=$VBD_UUID bootable=true # Подключите ISO-образ Ubuntu 24.04 LTS (или Debian 12) # Сначала загрузите ISO на XCP-ng, если еще не сделали # Например, через SCP: scp ubuntu-24.04-live-server-amd64.iso root@ :/var/run/sr-mount/YOUR_SR_UUID/ # Затем создайте ISO SR, если его нет, или используйте существующий # Либо просто укажите URL в KVM или Xen Orchestra после установки # В данном случае, мы будем использовать сетевую установку или загрузку ISO через Xen Orchestra после его настройки. # Для начала просто запустим VM и подключимся через KVM XCP-ng, чтобы установить ОС. # Запустите VM xe vm-start uuid=$VM_UUID Qué hace el comando: Crea una nueva máquina virtual con los parámetros de recursos y disco especificados, y luego la inicia.
-
Instalación del sistema operativo (Ubuntu 24.04 LTS) en la VM de Xen Orchestra:
Conéctese a la consola de la VM creada mediante KVM de XCP-ng (
xe console vm-uuid=$VM_UUID) o mediante la interfaz web de Xen Orchestra después de implementarla. Realice la instalación estándar de Ubuntu 24.04 LTS (Server). Cree un usuario sin privilegios root, configure el acceso SSH y actualice el sistema.# В консоли VM выполните: sudo apt update && sudo apt upgrade -y sudo apt install -y git curl build-essentialQué hace el comando: Actualiza los paquetes e instala las utilidades básicas para compilar Xen Orchestra.
-
Instalación de Xen Orchestra Community Edition (XOCE):
Para simplificar la instalación de XOCE desde el código fuente, puede utilizar el script
xo-install. Este automatiza la instalación de todas las dependencias y la compilación de XOCE.# Внутри Xen Orchestra VM (как обычный пользователь, не root): sudo apt install -y nodejs npm # Node.js 20.x или выше для 2026 года sudo npm install -g yarn # Установка Yarn git clone -b master https://github.com/vatesfr/xo-web.git git clone -b master https://github.com/vatesfr/xo-server.git git clone -b master https://github.com/vatesfr/xen-orchestra-web.git # Это старый репозиторий, используем xo-web # А лучше использовать готовый скрипт, чтобы не мучиться с зависимостями: # Установка скрипта xo-install (актуально для 2026 года) # Убедитесь, что у вас установленgitgit clone https://github.com/ronivay/XenOrchestraInstaller.git cd XenOrchestraInstaller chmod +x xo-install.sh sudo ./xo-install.sh --install # Следуйте инструкциям скрипта. Он установит все необходимые зависимости (Node.js, Yarn и т.д.) # и скомпилирует Xen Orchestra.Qué hace el comando: Descarga y ejecuta un script que automatiza la instalación de Node.js, Yarn, la clonación de los repositorios de Xen Orchestra y la compilación de todos los componentes de XOCE.
-
Inicio y verificación de Xen Orchestra:
Una vez que el script haya finalizado, Xen Orchestra debería estar iniciado como un servicio del sistema. Verifique su estado.
# Внутри Xen Orchestra VM: sudo systemctl status xo-server sudo systemctl status xo-webQué hace el comando: Comprueba que los servicios de Xen Orchestra estén iniciados y funcionando.
Si todo está correcto, Xen Orchestra estará disponible en la dirección IP de su VM en el puerto 80 (HTTP) o 443 (HTTPS, si está configurado). Introduzca la dirección IP de la VM en el navegador (por ejemplo,
http://192.168.1.101). -
Conexión del host XCP-ng a Xen Orchestra:
Al iniciar sesión por primera vez en la interfaz web de Xen Orchestra, se le pedirá que cree una cuenta de administrador. Después podrá añadir su host XCP-ng.
- Vaya a la sección "Settings" -> "Servers".
- Haga clic en "Add server".
- Introduzca la dirección IP de su host XCP-ng, el nombre de usuario (root) y la contraseña.
- Haga clic en "Connect".
Ahora podrá administrar su host XCP-ng y todas las VM mediante Xen Orchestra.
Configuración
Después de instalar XCP-ng y Xen Orchestra, es necesario realizar una configuración básica para garantizar la seguridad, disponibilidad y facilidad de uso.
1. Configuración de los parámetros de red de XCP-ng
Aunque configuró la red durante la instalación, es posible que necesite una configuración adicional, por ejemplo, crear redes separadas para distintas VM o VLAN. Es mejor realizar estos ajustes mediante Xen Orchestra.
- Agregar una red: En Xen Orchestra, vaya a "Network" -> "New Network". Puede crear una "External network" (conectada a un adaptador físico) o una "Internal network" (solo para VM dentro del host).
- VLAN: Si su conmutador admite VLAN, puede crear redes VLAN en XCP-ng especificando el VLAN ID correspondiente.
2. Configuración de Xen Orchestra (TLS/HTTPS)
El acceso a la interfaz web de Xen Orchestra mediante HTTP no es seguro. Configuraremos HTTPS con Caddy, que obtiene y renueva automáticamente los certificados SSL de Let's Encrypt.
Pasos previos:
- Asegúrese de que su VM de Xen Orchestra tenga un nombre de dominio (por ejemplo,
xo.yourdomain.com) y de que el registro DNS (registro A) apunte a la dirección IP pública de su VM. Si la VM está detrás de NAT, deberá redirigir los puertos (80 y 443) en el router hacia la dirección IP de la VM. - Si utiliza el script
xo-install.sh, es posible que ya haya configurado Nginx o Caddy. Verifique la configuración si es así. De lo contrario, o si desea utilizar Caddy en lugar de Nginx, siga las instrucciones a continuación.
Instalación de Caddy (en la VM de Xen Orchestra):
# Добавление репозитория Caddy
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install -y caddy
Qué hace el comando: Instala el servidor web Caddy, que actuará como proxy inverso y gestionará los certificados TLS.
Configuración de Caddyfile (en la VM de Xen Orchestra):
Cree o edite el archivo /etc/caddy/Caddyfile. Elimine todo el contenido existente y agregue lo siguiente:
# Откройте файл Caddyfile
sudo nano /etc/caddy/Caddyfile
Qué hace el comando: Abre el archivo de configuración de Caddy para editarlo.
Contenido de /etc/caddy/Caddyfile:
xo.yourdomain.com {
reverse_proxy localhost:8000 # Порт, на котором слушает xo-server
# Если xo-web слушает на другом порту, измените здесь
# Например, если xo-web слушает на 8080
# reverse_proxy localhost:8080
# Рекомендуемые настройки безопасности (для 2026 года)
header {
Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
X-Frame-Options "DENY"
X-Content-Type-Options "nosniff"
Referrer-Policy "strict-origin-when-cross-origin"
Permissions-Policy "geolocation=(), microphone=(), camera=()"
}
}
Qué hace el comando: Configura Caddy para redirigir las solicitudes desde el nombre de dominio xo.yourdomain.com al puerto local de Xen Orchestra (normalmente 8000 para xo-server o 8080 para xo-web) y obtiene/renueva automáticamente los certificados SSL.
Verificación e inicio de Caddy:
# Проверка синтаксиса Caddyfile
sudo caddy validate --config /etc/caddy/Caddyfile
# Перезапуск Caddy для применения изменений
sudo systemctl reload caddy
Qué hace el comando: Verifica la configuración de Caddy y reinicia el servicio para activar HTTPS.
Ahora Xen Orchestra debería estar disponible en https://xo.yourdomain.com.
3. Configuración de la sincronización NTP para XCP-ng
Asegúrese de que su host XCP-ng sincronice la hora; esto es importante para el correcto funcionamiento de las VM y las copias de seguridad.
# В консоли XCP-ng (по SSH)
xe host-param-set uuid= ntp-servers="0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org"
# Чтобы получить UUID хоста: xe host-list --minimal
Qué hace el comando: Establece la lista de servidores NTP para el host XCP-ng.
4. Verificación del funcionamiento
- Acceso a Xen Orchestra: Abra
https://xo.yourdomain.comen el navegador. Asegúrese de que ve la interfaz web y puede iniciar sesión. - Conexión de XCP-ng: En Xen Orchestra, compruebe que su host XCP-ng esté conectado y muestre el estado correcto, los recursos y la lista de VM.
- Creación de una VM de prueba: Intente crear una VM sencilla (por ejemplo, con Ubuntu Server), iniciarla y conectarse a ella mediante la consola de Xen Orchestra. Esto confirmará que toda la cadena de virtualización funciona.
- Verificación de la red en la VM: Dentro de la VM de prueba, asegúrese de que recibe una dirección IP y tiene acceso a Internet (
ping google.com).
Copias de seguridad y mantenimiento
Las copias de seguridad fiables y el mantenimiento periódico son aspectos clave de cualquier infraestructura de producción. Xen Orchestra proporciona potentes herramientas integradas para gestionar las copias de seguridad de XCP-ng.
Qué respaldar
- Máquinas virtuales (VM): Son los datos más importantes. Las copias de seguridad de VM incluyen el sistema operativo, aplicaciones, configuraciones y datos de usuario.
- Configuración de XCP-ng: Aunque XCP-ng es relativamente fácil de reinstalar, conservar su configuración (ajustes de red, SR, pools) puede ahorrar tiempo durante la recuperación.
- Configuración de Xen Orchestra: Ajustes, usuarios, servidores conectados y programaciones de copias de seguridad.
Copias de seguridad con Xen Orchestra
Xen Orchestra ofrece la funcionalidad "Backup jobs" (tareas de copia de seguridad), que permite automatizar el proceso. XOCE admite distintos tipos de copias de seguridad (completas, copias delta, instantáneas) y almacenamientos (SMB/NFS shares, almacenamientos compatibles con S3).
Ejemplo de configuración de una tarea de copia de seguridad en Xen Orchestra:
-
Adición de almacenamiento remoto (Remote Storage):
En Xen Orchestra, vaya a "Settings" -> "Remote Storage". Agregue un nuevo almacenamiento. Para ello puede utilizar:
- NFS/SMB Share: Para ello necesitará un servidor independiente (NAS, otro VPS) con un recurso compartido NFS/SMB configurado.
- Almacenamiento compatible con S3: Por ejemplo, MinIO en un VPS independiente o servicios S3 en la nube.
-
Creación de una tarea de copia de seguridad:
Vaya a "Backups" -> "New Backup".
- Name: Asigne un nombre a la tarea (por ejemplo, "Daily Critical VMs Backup").
- Mode: Seleccione "Delta backup" (recomendado para ahorrar espacio y tiempo) o "Full backup".
- Type: Seleccione "VM backup" o "VM snapshot".
- Schedule: Configure la programación (por ejemplo, diariamente a las 02:00).
- Target: Seleccione el almacenamiento remoto configurado anteriormente.
- VMs: Seleccione las máquinas virtuales que desea respaldar. Puede seleccionarlas por etiquetas, pools o VM individuales.
- Retention: Configure la política de retención (por ejemplo, conservar las últimas 7 copias de seguridad).
Guarde la tarea. Xen Orchestra realizará automáticamente las copias de seguridad según la programación.
Script sencillo para la copia de seguridad automática de la configuración de XCP-ng (opcional)
Aunque Xen Orchestra realiza copias de seguridad de las VM, es útil tener una copia independiente de los archivos críticos de XCP-ng. Este script puede ejecutarse mediante cron en la VM de Xen Orchestra o en otro servidor que tenga acceso SSH a XCP-ng.
#!/bin/bash
# Настройки
XCPNG_HOST=""
BACKUP_DIR="/mnt/backup_xcpng_configs" # Путь к NFS/SMB/S3FS монтированию на вашей XO VM
TIMESTAMP=$(date +%Y%m%d%H%M%S)
CONFIG_FILE="xcpng_config_${TIMESTAMP}.tar.gz"
# Создание директории для бэкапов, если не существует
mkdir -p "$BACKUP_DIR"
echo "Начало бэкапа конфигурации XCP-ng..."
# Экспорт базы данных XAPI
ssh root@$XCPNG_HOST "xe pool-dump-database file=/tmp/pool_database.bak"
ssh root@$XCPNG_HOST "tar -czf /tmp/xcpng_config.tar.gz /etc/xensource /etc/network/interfaces /etc/hosts /tmp/pool_database.bak"
ssh root@$XCPNG_HOST "rm /tmp/pool_database.bak"
# Копирование архива на локальное хранилище Xen Orchestra VM
scp root@$XCPNG_HOST:/tmp/xcpng_config.tar.gz "$BACKUP_DIR/$CONFIG_FILE"
ssh root@$XCPNG_HOST "rm /tmp/xcpng_config.tar.gz"
echo "Бэкап конфигурации XCP-ng завершен: $BACKUP_DIR/$CONFIG_FILE"
# Удаление старых бэкапов (например, старше 30 дней)
find "$BACKUP_DIR" -name "xcpng_config_*.tar.gz" -mtime +30 -delete
echo "Старые бэкапы удалены."
Qué hace el comando: Se conecta al host XCP-ng, exporta su base de datos, archiva los archivos de configuración clave, los copia al almacenamiento remoto y elimina las copias antiguas.
Dónde almacenarlas: Se recomienda utilizar almacenamiento externo compatible con S3 (por ejemplo, Backblaze B2, DigitalOcean Spaces o su propio MinIO en otro VPS) o un NAS/VPS independiente con un recurso compartido NFS/SMB. Nunca almacene las únicas copias de seguridad en el mismo servidor que los datos originales.
Actualizaciones: Rolling vs Maintenance Window
- XCP-ng: Las actualizaciones de XCP-ng (los llamados "hotfixes" o nuevas versiones) requieren reiniciar el host. Para entornos de producción, se recomienda planificar una "maintenance window" (ventana de mantenimiento), durante la cual las VM se detendrán o se migrarán a otro host (si tiene un pool de XCP-ng). XCP-ng Center (cliente de Windows) o Xen Orchestra permiten aplicar actualizaciones.
- VM de Xen Orchestra: Actualice periódicamente el sistema operativo de la VM (Ubuntu/Debian) y Xen Orchestra. Para XOCE instalado desde el código fuente, esto suele incluir
git pullen los repositoriosxo-serveryxo-web, seguido de la recompilación y el reinicio de los servicios.
# Обновление Xen Orchestra (в Xen Orchestra VM)
cd /opt/xen-orchestra/packages/xo-server # Или путь, куда установлен xo-server
git pull origin master
yarn
yarn build
sudo systemctl restart xo-server
cd /opt/xen-orchestra/packages/xo-web # Или путь, куда установлен xo-web
git pull origin master
yarn
yarn build
sudo systemctl restart xo-web
Qué hace el comando: Actualiza el código fuente de Xen Orchestra desde GitHub, lo recompila y reinicia los servicios correspondientes.
Importante: Realice siempre una copia de seguridad de la VM de Xen Orchestra antes de actualizaciones importantes.
Troubleshooting + FAQ
XCP-ng no arranca después de la instalación. ¿Qué hacer?
Compruebe el orden de arranque en BIOS/UEFI mediante KVM/IPMI. Asegúrese de que el servidor intenta arrancar desde el disco en el que se instaló XCP-ng. Es posible que haya un problema con la configuración del controlador RAID o que el registro de arranque esté dañado. Intente reinstalar XCP-ng, prestando especial atención a la selección del disco.
No puedo conectarme a XCP-ng por SSH.
Asegúrese de que el host XCP-ng tenga la dirección IP correcta y esté en la misma red que su equipo. Compruebe que el servidor SSH esté ejecutándose en XCP-ng (está activo de forma predeterminada). Si cambió el puerto SSH, utilice el nuevo puerto. Asegúrese de que no haya bloqueos del firewall en su equipo o entre su red y XCP-ng. Como último recurso, acceda mediante KVM y compruebe la configuración de red y el estado del servicio SSH.
Xen Orchestra no ve el host XCP-ng o no puede conectarse a él.
Compruebe la dirección IP del host XCP-ng y las credenciales (root y contraseña) que introduce en Xen Orchestra. Asegúrese de que haya conectividad de red entre la VM de Xen Orchestra y el host XCP-ng (ping desde la VM de XO). Compruebe que en el host XCP-ng no estén bloqueados los puertos 443 (HTTPS) u 80 (HTTP) para XAPI. A veces ayuda reiniciar XCP-ng (reboot) o los servicios de Xen Orchestra (sudo systemctl restart xo-server xo-web).
La interfaz web de Xen Orchestra no está disponible por HTTPS después de configurar Caddy.
Compruebe que el registro DNS de su dominio (por ejemplo, xo.yourdomain.com) apunte correctamente a la dirección IP pública de su VM de Xen Orchestra. Asegúrese de que los puertos 80 y 443 estén abiertos en el firewall de su VM (si existe) y en el router/proveedor (si la VM está detrás de NAT). Revise los logs de Caddy (sudo journalctl -u caddy --since "5 minutes ago") para detectar errores al obtener el certificado Let's Encrypt. Asegúrese de que Caddyfile esté configurado correctamente y de que Caddy se haya reiniciado.
¿Qué configuración dedicated mínima es adecuada para XCP-ng y Xen Orchestra?
Para un funcionamiento básico con varias máquinas virtuales ligeras (por ejemplo, para desarrollo), puede comenzar con un servidor dedicated con un procesador de 4 núcleos (por ejemplo, Intel Xeon E3-12xx), 16-32 GB de ECC RAM y un par de SSD de 240-480 GB en RAID1. Esto permitirá ejecutar XCP-ng, una VM de Xen Orchestra y 2-3 VM adicionales con una carga moderada.
¿Qué elegir: VPS o dedicated para esta tarea?
Para desplegar XCP-ng y Xen Orchestra, elija siempre un servidor dedicated. XCP-ng es un hipervisor que se instala directamente en hardware físico. Aunque teóricamente es posible la "virtualización anidada" (nested virtualization) en algunos VPS, reduce significativamente el rendimiento, no siempre es compatible con los proveedores y no es una solución recomendada para entornos de producción. Un servidor dedicated proporciona control total sobre el hardware, máximo rendimiento y permite utilizar eficazmente todos los recursos para crear numerosas máquinas virtuales.
La VM funciona lentamente o se bloquea.
Compruebe el uso de recursos de la VM en Xen Orchestra: CPU, RAM, I/O de disco. Es posible que la VM no tenga suficientes recursos asignados. Compruebe también la carga del host XCP-ng. Asegúrese de que los discos donde se alojan las VM no estén sobrecargados (alta latencia de I/O). Para las VM Linux, asegúrese de que Xen Tools (xe-guest-utilities) esté instalado; mejora el rendimiento y permite gestionar las VM desde Xen Orchestra.
Conclusiones y próximos pasos
Ha desplegado correctamente una potente y flexible plataforma de virtualización basada en XCP-ng y Xen Orchestra en su servidor dedicated. Ahora tiene control total sobre su infraestructura, lo que permite gestionar eficazmente los recursos y ejecutar los servicios necesarios en entornos virtuales aislados y escalables. Esta alternativa gratuita a VMware ESXi proporciona funcionalidades de nivel empresarial sin costes de licencia.
Hacia dónde avanzar:
- Optimización del rendimiento: Explore las posibilidades de ajuste de XCP-ng (por ejemplo, la configuración del planificador de CPU, I/O) y de los sistemas operativos invitados. Asegúrese de que Xen Tools esté instalado en todas sus VM para obtener el máximo rendimiento.
- Alta disponibilidad y clustering: Si dispone de varios servidores dedicated, considere crear un pool de XCP-ng para proporcionar alta disponibilidad (HA) y migración en vivo de máquinas virtuales entre hosts.
- Configuraciones de red avanzadas: Experimente con configuraciones de red más complejas, como la creación de conmutadores virtuales, la agregación de enlaces (LACP) o la configuración de redes definidas por software (SDN) para aislar el tráfico y mejorar la seguridad.
- Automatización e infraestructura como código: Integre Xen Orchestra con herramientas de automatización como Ansible, Terraform o Packer para gestionar mediante programación su infraestructura virtual y desplegar VM.