Nel panorama della virtualizzazione open source, XCP-ng (Xen Cloud Platform – Next Generation) si sta affermando come una delle soluzioni più affidabili, performanti e flessibili. Basato su Xen Project Hypervisor, XCP-ng offre una piattaforma robusta per la gestione di ambienti virtualizzati, con un occhio di riguardo alla semplicità d’uso e all’ecosistema open source. A supporto della gestione e del monitoraggio delle virtual machine, entra in gioco Xen Orchestra (XOA), un’interfaccia web completa e intuitiva che semplifica notevolmente l’interazione con l’infrastruttura.
In questo articolo ti guideremo passo dopo passo nella creazione e configurazione di una macchina virtuale su XCP-ng utilizzando Xen Orchestra. Scoprirai come impostare correttamente l’ambiente, avviare una nuova VM, configurarne le risorse e gestirla in modo efficiente – il tutto attraverso un’interfaccia user-friendly, senza dover scrivere una riga di codice. Che tu sia un sistemista esperto o un appassionato che si avvicina per la prima volta al mondo della virtualizzazione, troverai in questa guida un valido punto di partenza per esplorare le potenzialità di XCP-ng e XOA.
PREREQUISITI
1. Preparazione del disco
Assicurarsi che il disco /dev/XXX sia formattato con un filesystem supportato (come ext4) e montato correttamente.
Format del disco (⚠️ cancellerà tutto sul disco!) con il comando:
0 |
mkfs.ext4 /dev/XXX
|
Creare una directory di mount e monta il disco con i seguenti comandi:
0
1
|
mkdir -p /mnt/iso-disk
mount /dev/XXX /mnt/iso-disk
|
(FACOLTATIVO) Aggiungi al fstab per montaggio automatico del disco
Aggiungi una riga a /etc/fstab:
0 |
/dev/XXX /mnt/iso-disk ext4 defaults 0 0
|
2. Creare lo Storage Repository ISO
Ora creare lo SR con il comando:
0 |
xe sr-create name-label=LocalISO type=iso device-config:location=/mnt/iso-disk device-config:legacy_mode=true content-type=iso
|
name-label=LocalISO → nome visibile in Xen Orchestra o xe sr-list
device-config:location=/mnt/iso-disk → punto di mount del disco
legacy_mode=true → necessario per montaggi locali manuali
content-type=iso → indica che è un repository di ISO
3. Aggiungere la ISO
Ora è possibile copiare i file .iso nella directory /mnt/iso-disk:
0 |
cp /path/to/your-image.iso /mnt/iso-disk/
|
Fare lo Scan del datastore con il comando:
0 |
xe sr-scan uuid=$(xe sr-list name-label=LocalISO --minimal)
|
Ora sarà possibile vedere le ISO disponibili sia da CLI che in Xen Orchestra quando si crea una nuova VM.
NOTA BENE: per aggiungere le ISO è possibile utilizzare WinSCP
CREAZIONE DELLA VIRTUAL MACHINE
Aprire la Web Gui di XOA
Posizionarsi sulla schermata Home quindi individiare il pulsante New VM in alto a destra
Selezionare l’host dove installare la VM
Di seguito le sezioni da configurare:
INFO
Template
: è possibile scegliere uno dei tanti template gia presenti oppure seelzionare la voce Other Install Media per caricare una ISO
Di seguito la lista dei template presenti nella versione XCP-ng 8.2.1
- SUSE Linux Enterprise Server 12 SP3 (64-bit)
- Windows Server 2012 R2 (64-bit)
- Generic Linux UEFI
- Ubuntu Xenial Xerus 16.04
- Rocky Linux 8
- Ubuntu Focal Fossa 20.04
- Red Hat Enterprise Linux 7
- SUSE Linux Enterprise Desktop 12 SP4 (64-bit)
- SUSE Linux Enterprise 15 (64-bit)
- SUSE Linux Enterprise Desktop 12 SP3 (64-bit)
- SUSE Linux Enterprise Server 12 SP5 (64-bit)
- Windows Server 2022 (64-bit)
- CentOS 7
- Windows Server 2016 (64-bit)
- CentOS 8
- AlmaLinux 8
- CentOS Stream 8
- Ubuntu Jammy Jellyfish 22.04
- Scientific Linux 7
- Debian Jessie 8.0
- Ubuntu Noble Numbat 24.04
- NeoKylin Linux Server 7
- Windows Server 2019 (64-bit)
- Debian Bookworm 12
- Oracle Linux 9
- Debian Buster 10
- Generic Linux BIOS
- CentOS Stream 9
- Oracle Linux 8
- Windows 8.1 (32-bit)
- Windows 10 (64-bit)
- Ubuntu 24.04 Cloud-Init (Hub)
- Rocky Linux 9
- SUSE Linux Enterprise Server 12 SP4 (64-bit)
- Debian Bullseye 11
- AlmaLinux 9
- Red Hat Enterprise Linux 8
- Oracle Linux 7
- Debian Stretch 9.0
- Windows 8.1 (64-bit)
- Gooroom Platform 2.0
- Ubuntu Bionic Beaver 18.04
- Windows 10 (32-bit)
- CoreOS
- Windows Server 2012 (64-bit)
- Red Hat Enterprise Linux 9
Name
: inserire il nome da dare alla VM
Description: Inserire una descirizione della VM
PERFORMANCE
vCPUs
: indicare il numero delle virtual CPU
RAM: indicare la quantità di RAM
Topology: in questa sezione è possibile scegliere la configurazione dei Socket e dei Cores
INSTALL SETTINGS
Selezionare la ISO da utilizzare come mostrato nell’immagine sovrastante
INTERFACES
Configurare l’interfaccia di rete.
Selezionare la tipolgia di Network tra:
Host Internal Management Network
🟡 Cos’è:
- È una rete interna al singolo host.
- È usata esclusivamente per la gestione dell’host locale.
- Non è collegata a un’interfaccia fisica.
🔒 Accessibilità:
- Nessun traffico esce dall’host.
- Nessuna comunicazione tra host diversi del pool.
🧰 Utilizzi comuni:
- Accesso alla console interna.
- Comunicazioni locali tra componenti di sistema (non tra VM o tra host).
Pool-wide network associated with eth0
🟢 Cos’è:
- È una rete pool-wide, ovvero visibile e condivisa tra tutti gli host nel pool.
- È legata all’interfaccia fisica eth0, che è una vera e propria scheda di rete.
🔓 Accessibilità:
- Le VM possono usare questa rete per accedere a internet, LAN, o comunicare con altre VM su altri host.
- Utilizzata anche per la gestione centralizzata degli host nel pool (management network), migrazione live (vMotion), e traffico iSCSI/NFS (se configurato).
🧰 Utilizzi comuni:
- Rete principale per le VM.
- Management network del pool.
- Backup e migrazione.
DISKS
Selezionare il datastore dove memorizzare il disco della VM e la relativa dimensione.
ADVANCED
In questa sezione è possibile configurare tutte le opzioni elencate e descritte di seguito:
✅ Boot VM after creation
Avvia automaticamente la VM subito dopo la creazione.
Comodissimo per VM standard che vuoi subito operative.
🔁 Auto power on
Se abilitato, la VM si riaccende automaticamente dopo un riavvio dell’host (power loss recovery).
Richiede una configurazione del tag autostart.
🧹 Destroy cloud config drive after first boot
Elimina il disco virtuale cloud-init dopo il primo avvio della VM.
Utile per non lasciare dischi temporanei o per motivi di sicurezza.
⚖️ CPU weight
Priorità relativa nell’uso della CPU quando c’è contesa.
Default: 256. Maggiore = più “peso”/priorità rispetto ad altre VM.
🚫 CPU cap
Limita l’uso massimo della CPU come percentuale.
Es: 50 = max 50% di una CPU (utile per throttling).
🔢 Max vCPUs
Numero massimo di vCPU assegnabili dinamicamente.
Puoi scalare il numero di vCPU fino a questo valore senza spegnere la VM.
📉📈 Dynamic memory min / max
RAM variabile: la VM può usare memoria tra questi due limiti.
Ottimo per ambienti ad alta densità o carichi variabili.
📏 Static memory max
RAM massima allocabile fissa (non dinamica).
Se usi memoria statica, i campi dynamic vengono ignorati.
👥 Multiple VMs
Crea più copie della stessa VM con nomi incrementali.
Parametri:
Name pattern: es. {name}-% → ubuntu-1, ubuntu-2…
First index: da dove inizia la numerazione
Numero totale di VM da creare
📍 Affinity host
Specifica l’host su cui preferibilmente (non obbligatoriamente) avviare la VM.
Utile per raggruppare certe VM su host specifici.
🎮 vGPU
Se hai hardware NVIDIA con supporto virtual GPU, puoi assegnare un tipo di vGPU alla VM.
Perfetto per VM con carichi grafici (CAD, ML, ecc).
🧬 Boot firmware
Seleziona il firmware di avvio:
UEFI (moderno)
BIOS (legacy)
Alcuni sistemi operativi (es. Windows 11) richiedono UEFI.
🔐 Secure boot
Abilita il secure boot UEFI, utile per sicurezza e richiesto da alcuni OS moderni.
Deve essere supportato dal template e dal sistema operativo.
🛡️ Enable vTPM
Abilita un TPM virtuale, necessario per Windows 11 e per alcuni scenari di sicurezza.
Richiede UEFI + Secure Boot.
🧬 Copy host BIOS strings to VM
Copia i dettagli BIOS/UEFI dell’host nella VM.
Alcuni software legacy o licenze potrebbero richiederlo per funzionare correttamente.
Cliccare Create per far partire il deploy della VM
Cliccare quindi su Console per poter iniziare l’installazione del sistema operativo
Se l’installazione è andata avanti premere il tasto Riavvia
Premere un tasto per avviare l’installazione
Eseguire tutta l’installazione classica del sistema operativo
Al termine dovremmo vedere una schermata come quella sovrastante
INSTALLAZIONE DEI GUEST TOOLS
VM LINUX
Il passo successivo da effettuare è l’installazione dei Guest Tools tramite la ISO precaricata in XCP-ng
Sempre dalla Console selezionare guest-tools.iso
Dovremmo visualizzare la ISO anche all’interno della nostra VM.
Accedere alla VM (via terminale o SSH) quindi montare la ISO con i seguenti comandi:
0
1
|
sudo mkdir /mnt/xcp
sudo mount /dev/cdrom /mnt/xcp
|
Posizonarsi nella cartella montata con il comando:
0 |
cd /mnt/xcp
|
Quindi eseguire lo script di installazione con il comando:
0 |
sudo ./install.sh
|
Questo installerà i componenti necessari, come:
xe-guest-utilities
xe-linux-distribution
Servizi per la gestione delle performance, nome host, networking, ecc.
Dopo l’installazione riavviare la VM con il comando:
0 |
sudo reboot
|
E’ possibile verificare lo stato dei guest tools da Xen Orchestra:
La VM dovrebbe mostrare Guest Tools: Installed & Running.
Oppure usare il comando xe dal server host per vedere lo stato dei tools.
ATTENZIONE: I Guest Tools precaricati in XCP-ng sono solo per VM Linux
VM WINDOWS
Per le VM Windows è necessario scaricare i Guest Tools dal seguente sito:
https://www.xenserver.com/downloads
Individuare la sezione VM Tools quindi scaricare i Tools cliccando su DOWNLOAD XENSERVER VM TOOLS FOR WINDOWS come mostrato nell’immagine sovrastante
Dopo aver scaricato i Guest Tools eseguirli sulla VM Windows. Cliccare Next
Accettare l’EULA quindi cliccare Next
Cliccare Next
Lasciare tutto invariato e cliccare Next
Cliccare Install
Cliccare Yes per riavviare la VM
CHECK DEI BENEFICI DEI GUEST TOOLS
Nella Schermata General come mostrato nell’immagine sovrastante è possibile vedere tutte le info relative alla VM
Nella schermata Network è possibile vedere tutte le info relative alla scheda di rete
0 commenti