Aller au contenu

XCP-ng

Dans cet article

Information

XCP-ng (Xen Cloud Platform - New Generation) est un hyperviseur gratuit open-source basé sur le projet Xen. XCP-ng a été créé comme une alternative ouverte à Citrix XenServer après que Citrix a limité les fonctionnalités de la version gratuite. Le projet fournit une plateforme de virtualisation de niveau entreprise entièrement fonctionnelle sans aucune limitation artificielle, prenant en charge la migration à chaud, la haute disponibilité, la gestion du stockage et l'intégration avec les systèmes d'orchestration. XCP-ng est distribué sous les licences GPLv2 et des licences libres compatibles.

XCP-ng. Fonctionnalités principales

  • Virtualisation : XCP-ng prend en charge l'exécution de plusieurs machines virtuelles sur un seul serveur physique avec une isolation complète et une distribution efficace des ressources. Les systèmes d'exploitation invités pris en charge incluent Linux, Windows et d'autres.
  • Migration à chaud : capacité de déplacer des machines virtuelles en cours d'exécution entre les hôtes sans temps d'arrêt, assurant la continuité du service pendant la maintenance matérielle.
  • Haute disponibilité (HA) : redémarrage automatique des machines virtuelles sur d'autres hôtes du pool en cas de défaillance d'un serveur.
  • Gestion du stockage : prise en charge de divers types de Storage Repositories, y compris les disques locaux, NFS, iSCSI, Ceph et autres.
  • Snapshots et sauvegarde : création de snapshots instantanés des états des machines virtuelles pour une récupération et une sauvegarde rapides.
  • Pools de ressources : combinaison de plusieurs hôtes XCP-ng dans un pool unique pour une gestion centralisée et une répartition de charge.
  • Capacités réseau : prise en charge de VLAN, bonding d'interfaces réseau, SR-IOV et réseaux définis par logiciel.
  • Interfaces de gestion Web : XCP-ng inclut l'interface Web intégrée XO Lite pour la gestion de base, tandis que Xen Orchestra (XO) entièrement fonctionnel fournit des capacités avancées d'automatisation, de surveillance et de sauvegarde.

Options de gestion XCP-ng

Plusieurs interfaces de gestion sont disponibles pour travailler avec XCP-ng :

XO Lite (intégré, gratuit) :

  • Disponible immédiatement après l'installation de XCP-ng à l'adresse https://<adresse_IP_serveur> ;
  • Interface Web de base pour créer et gérer des machines virtuelles ;
  • Surveillance des ressources et opérations de base ;
  • Convient aux laboratoires domestiques et petits projets ;
  • Ne nécessite aucune configuration supplémentaire.

Xen Orchestra from Sources (gratuit, nécessite une installation) :

  • Système de gestion open-source entièrement fonctionnel ;
  • Sauvegardes automatiques, réplication, surveillance avancée ;
  • Gestion centralisée de plusieurs hôtes ;
  • Nécessite la création d'une machine virtuelle séparée et une installation manuelle (Ubuntu/Debian) ;
  • Maintenance et mises à jour effectuées manuellement ;
  • Support via les forums communautaires.

Xen Orchestra Appliance (XOA) (abonnement payant, nécessite un déploiement) :

  • Machine virtuelle prête à l'emploi avec Xen Orchestra préinstallé ;
  • Déployée via le bouton "Deploy XOA" dans l'interface XO Lite ;
  • Support technique officiel de Vates (24/7) ;
  • Mises à jour automatiques et garanties SLA ;
  • Plans pour petites entreprises : 2 000 €/an (ESSENTIAL, jusqu'à 3 hôtes) ou 4 000 €/an (ESSENTIAL+, accès complet) – détails ;
  • Recommandé pour les environnements de production avec exigences de support.

Le choix de l'option dépend de l'échelle de l'infrastructure et des exigences de support technique. XO Lite intégré est suffisant pour commencer, tandis que des fonctionnalités plus avancées sont disponibles via l'installation de Xen Orchestra entièrement fonctionnel.

Fonctionnalités de déploiement

ID Nom du système d'exploitation Alias Actif BM GPU VPS VDS Famille Groupe OS CloudInit Actif
306 XCP-ng 8.3 - Oui + + + - XCP-ng Others Non COMMANDER

Configuration minimale requise du serveur :

  • RAM : 8 Go ;
  • HDD : 60 Go ;
  • Virtualisation : support de la virtualisation imbriquée (nested virtualization).

Démarrage après le déploiement de XCP-ng

Après avoir payé votre commande, vous recevrez un email de notification à l'adresse que vous avez fournie lors de l'enregistrement, indiquant que votre serveur est prêt. Cet email inclura l'adresse IP du VPS et les identifiants de connexion. Nos clients gèrent leurs équipements via le panneau de gestion du serveur et l'APIInvapi.

Vous pouvez trouver les détails d'autorisation soit dans la section Info >> Tags du panneau de gestion du serveur, soit dans l'email que vous avez reçu :

  • Login : root ;
  • Mot de passe : Envoyé à votre adresse email après que le serveur est prêt pour une utilisation suivant le déploiement du logiciel.

Autorisation

Deux méthodes sont disponibles pour accéder au serveur XCP-ng : via l'interface Web XO Lite et via SSH.

Connexion via XO Lite

XO Lite est une interface Web intégrée pour gérer XCP-ng, accessible directement depuis l'hôte.

  • Ouvrez un navigateur et accédez à https://<adresse_IP_serveur> :

  • Entrez le login root et le mot de passe de l'e-mail, puis cliquez sur le bouton Login.

Information

Le navigateur peut afficher un avertissement concernant un certificat non fiable - c'est normal pour un certificat auto-signé. Ajoutez une exception pour continuer.

Connexion via SSH

  • Ouvrez un terminal et connectez-vous au serveur avec la commande :

    ssh root@<adresse_IP_serveur>
    
  • Entrez le mot de passe lorsque demandé. Après une connexion réussie, vous serez dans la ligne de commande XCP-ng.

Connexion via la console HTML5

Vous pouvez également utiliser la console HTML5 dans le panneau de contrôle Invapi pour accéder à la console de l'hôte :

La console fournit un menu de configuration permettant de configurer les paramètres réseau, l'authentification, la gestion des machines virtuelles et d'autres paramètres système.

Travail avec xsconsole

Lors de la connexion via SSH ou la console VNC, vous pouvez utiliser xsconsole - la console de gestion texte intégrée pour la configuration et l'administration de l'hôte XCP-ng.

Pour lancer xsconsole, entrez la commande :

xsconsole

Après le lancement, le menu de gestion du système s'ouvre :

Sections principales de xsconsole

Status Display

  • Surveillance de l'état de l'hôte (CPU, mémoire, réseau, stockage) ;
  • Affichage des machines virtuelles en cours d'exécution ;
  • Informations générales sur le système.

Network and Management Interface

  • Configuration des interfaces réseau ;
  • Configuration des adresses IP (statique/DHCP) ;
  • Configuration de la passerelle et des serveurs DNS.

Authentication

  • Modification du mot de passe root ;
  • Gestion de l'accès SSH ;
  • Configuration des comptes.

Virtual Machines

  • Affichage de la liste des machines virtuelles ;
  • Gestion de base des VM (démarrage, arrêt) ;
  • Contrôle de l'état des systèmes invités.

Disks and Storage Repositories

  • Affichage des disques connectés ;
  • Gestion des Storage Repositories ;
  • Création et suppression de SR.

Resource Pool Configuration

  • Création d'un pool à partir de plusieurs hôtes ;
  • Rejoindre un pool existant ;
  • Gestion de cluster de serveurs.

Hardware and BIOS Information

  • Informations sur le processeur et la mémoire ;
  • Données sur les cartes réseau ;
  • Version du BIOS et des firmwares.

Keyboard and Timezone

  • Configuration de la disposition du clavier ;
  • Définition du fuseau horaire du système.

Remote Service Configuration

  • Configuration de l'accès à distance ;
  • Configuration SSH ;
  • Gestion des certificats SSL.

Backup, Restore and Update

  • Sauvegarde de la configuration de l'hôte ;
  • Restauration des paramètres ;
  • Vérification et installation des mises à jour du système.

Technical Support

  • Génération d'un rapport pour le support technique (bug report) ;
  • Collecte des journaux système ;
  • Informations de diagnostic.

Local Command Shell

  • Sortie vers la ligne de commande bash standard ;
  • Pour exécuter des commandes et scripts arbitraires.

Reboot or Shutdown

  • Redémarrage de l'hôte ;
  • Arrêt correct du système.
  • Enter - sélectionner un élément de menu/confirmer l'action ;
  • ↑/↓ - déplacement dans les éléments du menu ;
  • Tab - basculer entre les éléments du formulaire ;
  • Esc ou q - retour au menu précédent/sortie.

Conseil

xsconsole est particulièrement utile pour la configuration initiale du serveur, la récupération d'accès d'urgence ou la configuration réseau lorsque l'interface Web XO Lite n'est pas disponible. Pour quitter xsconsole vers la ligne de commande normale, sélectionnez Local Command Shell.

Travail avec XO Lite

Après l'autorisation dans XO Lite, le panneau de gestion principal (Dashboard) s'ouvre :

L'interface XO Lite contient les sections suivantes :

  • DASHBOARD : aperçu général de l'état de l'hôte, état des machines virtuelles, utilisation du stockage et notifications ;
  • ALARMS : affichage des avertissements et alertes système ;
  • STATS : statistiques de performance et d'utilisation des ressources ;
  • SYSTEM : paramètres système de l'hôte ;
  • NETWORK : gestion des interfaces réseau et réseaux virtuels ;
  • STORAGE : gestion des Storage Repositories ;
  • TASKS : journal des tâches en cours d'exécution et terminées ;
  • HOSTS : informations sur les hôtes dans le pool ;
  • VMS : gestion des machines virtuelles.

Gestion du réseau

L'onglet NETWORK affiche les réseaux disponibles et leurs paramètres :

Ici, vous pouvez voir les réseaux Pool-wide (disponibles pour tous les hôtes du pool) et les réseaux Host internal, ainsi que créer de nouvelles connexions réseau.

Création d'une machine virtuelle

Préparation : chargement d'une image ISO

Avant de créer une machine virtuelle, vous devez charger une image ISO du système d'exploitation dans le Storage Repository.

Chargement d'ISO via SSH

XO Lite ne prend pas en charge le téléchargement d'images ISO via l'interface Web. Pour télécharger une ISO, vous devez utiliser la ligne de commande :

  1. Connectez-vous au serveur via SSH

    ssh root@<adresse_IP_serveur>
    
  2. Si la console xsconsole s'ouvre après la connexion, quittez vers la ligne de commande normale en sélectionnant l'élément de menu Local Command Shell ou en appuyant sur Ctrl+C.

  3. Trouvez l'UUID du stockage ISO

    xe sr-list content-type=iso
    
    Copiez l'UUID du stockage nommé "XCP-ng Tools".

  4. Accédez au répertoire du stockage ISO

    cd /opt/xensource/packages/iso
    
  5. Téléchargez l'image ISO

    Téléchargez depuis Internet :

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

    Ou téléchargez depuis l'ordinateur local (exécutez sur votre PC)

    scp /path/to/file.iso root@<IP-serveur>:/opt/xensource/packages/iso/
    
  6. Rescannez le stockage

    xe sr-scan uuid=<UUID_SR>
    
    <UUID_SR> est l'UUID obtenu à l'étape 3.

    Après cela, l'image ISO apparaîtra dans la liste des images disponibles lors de la création d'une machine virtuelle.

Création d'une VM via XO Lite

  • Cliquez sur le bouton New VM dans le coin supérieur droit de l'interface.

  • Dans la fenêtre qui s'ouvre, remplissez les paramètres de la machine virtuelle :

    • Template : sélectionnez le modèle du système d'exploitation (par exemple, AlmaLinux 9) ;
    • Install settings : choisissez la méthode d'installation :
      • ISO/DVD : installation depuis une image ISO (recommandé) - sélectionnez l'ISO chargée dans la liste ;
      • PXE : installation réseau (nécessite un serveur PXE configuré).
    • System : spécifiez le nom de la VM, la description, le type de firmware (BIOS/UEFI) ;
    • Memory : définissez le nombre de vCPU et la quantité de RAM.
  • Configurez les connexions réseau et le stockage :

    • Network : sélectionnez l'interface réseau pour la connexion de la VM ;
    • Storage : sélectionnez le stockage et spécifiez la taille du disque ;
    • Settings : activez le démarrage automatique de la VM au démarrage (facultatif).
  • Vérifiez la configuration finale dans la section Summary et cliquez sur le bouton Create.

Après la création, la machine virtuelle démarre automatiquement et le démarrage depuis l'image ISO commence. L'interface XO Lite ouvre la page Dashboard de la VM créée :

La page Dashboard affiche :

  • Quick info : informations de base sur la VM (état, UUID, hôte, ressources) ;
  • CPU usage : graphique d'utilisation du processeur ;
  • RAM usage : graphique d'utilisation de la mémoire ;
  • Network throughput : graphique d'activité réseau ;
  • VDI throughput : graphique d'activité du disque ;
  • Change state : menu de gestion de l'état de la VM (démarrage, pause, redémarrage, arrêt).

Pour accéder à la console de la machine virtuelle et commencer l'installation du système d'exploitation, accédez à l'onglet CONSOLE.

Conseil

Pour l'installation réseau (Boot ISO), assurez-vous que la machine virtuelle a accès à Internet via le réseau configuré, car les paquets d'installation seront téléchargés depuis le dépôt.

Choix de l'image ISO

Lors du choix d'une image ISO, tenez compte du type d'image :

Pour Linux (exemple avec AlmaLinux) :

  • DVD/Full ISO (~4-10 Go) - image complète, contient tous les paquets, ne nécessite pas d'Internet
    • AlmaLinux-9-latest-x86_64-dvd.iso ;
    • Ubuntu-22.04-server.iso.
  • Boot/Minimal ISO (~1 Go) - image minimale, nécessite une connexion Internet active pour télécharger les paquets
    • AlmaLinux-9-latest-x86_64-boot.iso ;
    • Ubuntu-22.04-live-server.iso.

Recommandation : Pour une installation fiable, utilisez des images ISO complètes (DVD/Full), surtout si la VM n'a pas de connexion Internet stable ou absente.

Recommandations pour le choix du firmware

  • UEFI - recommandé pour les OS modernes :
    • Linux : AlmaLinux 9+, Ubuntu 20.04+, Debian 11+ ;
    • Windows : Windows Server 2016+, Windows 10/11.
  • BIOS - pour la compatibilité :
    • Anciennes versions d'OS ;
    • En cas de problèmes de démarrage UEFI ;
    • Scénarios spécifiques (applications héritées).

Choix de Software Selection

Lors de l'installation de distributions Linux, différentes options d'environnement sont disponibles :

  • Minimal Install - système de base sans GUI (~400-600 paquets, installation 5-10 minutes)
    • Recommandé pour les serveurs et la production ;
    • Consommation minimale de ressources.
  • Server with GUI - système complet avec interface graphique (~1000-1500 paquets, installation 15-30 minutes)
    • Pratique pour l'apprentissage et les tests ;
    • Nécessite plus de ressources (RAM, CPU, disque).

Pour les serveurs de production, Minimal Install est recommandé.

Installation de XCP-ng Guest Tools

Après l'installation du système d'exploitation, il est extrêmement important d'installer les XCP-ng Guest Tools pour le bon fonctionnement de la machine virtuelle.

Pourquoi les Guest Tools sont nécessaires

Les Guest Tools fournissent :

  • L'arrêt et le redémarrage corrects de la VM (soft shutdown) ;
  • L'affichage de l'adresse IP et de l'état de la VM dans l'interface XCP-ng ;
  • Des performances réseau et disque améliorées ;
  • La synchronisation de l'heure entre l'hôte et le système d'exploitation invité ;
  • Le support des snapshots avec quiesce (instantanés cohérents).

Important

Sans les Guest Tools installés, la machine virtuelle peut fonctionner de manière instable, en particulier en ce qui concerne les connexions réseau et la gestion de l'état.

Séquence d'installation des Guest Tools

Étape 1 : Finalisation de l'installation du système d'exploitation

Après l'installation du système d'exploitation, lorsqu'un message de fin d'installation apparaît ou qu'une invite de redémarrage est affichée :

Important

Ne redémarrez pas la machine virtuelle immédiatement. Vous devez d'abord remplacer l'ISO d'installation par guest-tools.iso.

Exception : Si vous avez déjà redémarré la VM, ce n'est pas grave - l'ISO peut être connecté après le premier démarrage du système installé.

Étape 2 : Remplacement de l'ISO par Guest Tools (sur l'hôte XCP-ng)

Connectez-vous à l'hôte XCP-ng via SSH et exécutez les commandes.

Trouvez l'UUID de votre VM :

xe vm-list name-label="VM_NAME"

Ou obtenez une liste de toutes les VM en cours d'exécution :

xe vm-list power-state=running

Exemple de sortie :

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

Éjectez l'ISO d'installation (si connecté) :

xe vm-cd-eject uuid=<UUID_VM>

Insérez l'ISO guest-tools :

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

Vérifiez que l'ISO a été remplacé :

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

Exemple de sortie :

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
Notez le paramètre device - c'est le nom du périphérique dans le système invité (dans ce cas xvdd).

Étape 3 : Redémarrage de la VM

  • Si vous n'avez pas encore redémarré après l'installation : Dans la console VM, appuyez sur "Reboot System" ou exécutez la commande reboot;
  • Si vous êtes déjà dans un système en cours d'exécution : Le redémarrage n'est pas nécessaire, passez à l'étape 4.

Étape 4 : Installation des Guest Tools dans le système d'exploitation invité

La procédure d'installation dépend du système d'exploitation :

Pour Linux (basé sur RHEL : AlmaLinux, Rocky, CentOS, RHEL)

Connectez-vous au système en tant que root et exécutez les commandes.

Créez un point de montage :

mkdir -p /mnt/cdrom

Montez l'ISO guest-tools :

mount /dev/sr0 /mnt/cdrom

Si /dev/sr0 ne fonctionne pas, essayez des options alternatives :

mount /dev/cdrom /mnt/cdrom

ou

mount /dev/xvdd /mnt/cdrom

Vérifiez le contenu :

ls -la /mnt/cdrom/Linux/

Accédez au répertoire :

cd /mnt/cdrom/Linux

Lancez l'installation :

bash install.sh

Exemple de sortie :

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

Appuyez sur y et attendez la fin de l'installation.

Remarque

L'installation peut se bloquer à 100% pendant 30 à 60 secondes - c'est normal. Si elle se bloque pendant plus de 2 minutes - appuyez sur Ctrl+C et vérifiez le résultat.

Vérifiez l'installation :

rpm -qa | grep xe-guest
Devrait afficher quelque chose comme :
xe-guest-utilities-7.30.0-12.legacy.x86_64

Vérifiez le script init.d :

ls /etc/init.d/ | grep xe

Devrait afficher :

xe-linux-distribution

Important pour AlmaLinux 9 / RHEL 9 / Rocky 9 :

Problème systemd dans les distributions modernes

Le script install.sh n'installe que le script init.d, mais ne crée pas de fichier unit systemd. Cela signifie que les commandes systemctl status xe-linux-distribution et chkconfig ne fonctionneront pas.

Symptômes :

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

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

Solution : Créez manuellement le fichier unit systemd. Exemple de création du fichier :

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
Activez et démarrez le service :

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

Vérifiez le statut du service :

systemctl status xe-linux-distribution

Démontez l'ISO :

cd ~
umount /mnt/cdrom

Redémarrez le système pour appliquer les modifications :

reboot

Pour Linux (basé sur Debian : Ubuntu, Debian)

Connectez-vous au système en tant que root ou utilisez sudo.

Créez un point de montage :

sudo mkdir -p /mnt/cdrom

Montez l'ISO guest-tools :

sudo mount /dev/sr0 /mnt/cdrom

Accédez au répertoire :

cd /mnt/cdrom/Linux

Lancez l'installation :

sudo bash install.sh

Vérifiez l'installation :

dpkg -l | grep xe-guest

Vérifiez le statut du service :

sudo systemctl status xe-linux-distribution

Démontez l'ISO :

cd ~
sudo umount /mnt/cdrom

Redémarrez le système :

sudo reboot

Méthode alternative pour Linux : installation via le dépôt

Si le montage ISO ne fonctionne pas ou si vous souhaitez installer Guest Tools via le gestionnaire de paquets.

Pour les systèmes basés sur RHEL (AlmaLinux, Rocky, CentOS), installez le dépôt EPEL :

sudo dnf install -y epel-release

Installez xe-guest-utilities :

sudo dnf install -y xe-guest-utilities

Activez le service :

sudo systemctl enable xe-linux-distribution

Démarrez le service :

sudo systemctl start xe-linux-distribution

Vérifiez le statut :

sudo systemctl status xe-linux-distribution

Remarque

L'installation via le dépôt nécessite une connexion Internet active dans la VM.

Étape 5 : Vérification du fonctionnement des Guest Tools

Après le redémarrage et l'installation des Guest Tools, vérifiez leur fonctionnement.

Dans le système d'exploitation invité (Linux) vérifiez le statut du service :

systemctl status xe-linux-distribution

Ou via init.d :

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

Exemple de sortie correcte :

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)"

Sur l'hôte XCP-ng vérifiez l'affichage des informations réseau :

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

Vérifiez le statut des pilotes PV :

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

Obtenez des informations générales sur la VM :

xe vm-param-list uuid=<UUID_VM> | grep -E "PV-drivers|networks"
Dans l'interface XO Lite

Après le démarrage du service xe-linux-distribution, le Dashboard VM devrait afficher (mis à jour après 10-30 secondes) :

  • IP address : adresse IP de la VM;
  • Guest tools : version des Guest Tools installés (par ex., 7.30.0-12);
  • OS name : système d'exploitation détecté (par ex., AlmaLinux release 9.7) :

Gestion des machines virtuelles

L'onglet VMS affiche la liste de toutes les machines virtuelles avec des capacités de gestion :

Actions disponibles :

  • Change state : démarrer, arrêter, redémarrer la VM ;
  • Migrate : migrer la VM vers un autre hôte ;
  • Copy : créer une copie de la machine virtuelle ;
  • Edit config : éditer la configuration de la VM ;
  • Snapshot : créer un snapshot d'état ;
  • Export : exporter la VM dans un fichier ;
  • Delete : supprimer la machine virtuelle.

Travail avec le stockage, ISO et réseaux

Gestion des Storage Repositories (SR)

Afficher tous les stockages :

Liste de tous les SR

xe sr-list
Informations détaillées sur un SR spécifique

xe sr-param-list uuid=<UUID_SR>
Afficher l'utilisation de l'espace disque

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

Travail avec le stockage ISO :

Trouver l'ISO SR

xe sr-list content-type=iso
Obtenir le chemin vers l'ISO SR

xe pbd-list sr-uuid=<UUID_SR>
Accéder au répertoire ISO (généralement /opt/xensource/packages/iso)

cd /opt/xensource/packages/iso
Afficher les ISO disponibles

ls -lh
Télécharger l'ISO depuis Internet

wget https://example.com/os.iso
Télécharger l'ISO depuis l'ordinateur local

scp /path/to/file.iso root@<IP-serveur>:/opt/xensource/packages/iso/

Attention

Vous devez rescanner le SR après l'ajout de l'ISO

xe sr-scan uuid=<UUID_SR>
Vérifier que l'ISO est apparue

xe vdi-list sr-uuid=<UUID_SR>

Gestion du stockage local

Afficher les disques virtuels (VDI) :

xe vdi-list sr-uuid=

Vérifier l'espace libre :

df -h

Afficher la liste des snapshots :

xe snapshot-list | grep snapshot

Supprimer un snapshot :

xe snapshot-uninstall snapshot-uuid=

Gestion du réseau

Afficher tous les réseaux :

xe network-list

Informations détaillées sur un réseau :

xe network-param-list uuid=

Afficher les interfaces physiques (PIF) :

xe pif-list

Détails d'un PIF spécifique :

xe pif-param-list uuid=

Vérifier l'adresse IP de l'hôte :

ip addr show

Créer un réseau interne :

xe network-create name-label="Internal Network" name-description="Private VM network"

Créer un réseau VLAN :

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

Afficher les interfaces réseau de la VM :

xe vif-list vm-uuid=

Créer une nouvelle interface réseau pour la VM :

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

Commandes CLI de base

Gestion des machines virtuelles

Liste de toutes les VM :

xe vm-list

Seulement les VM en cours d'exécution :

xe vm-list power-state=running

Informations détaillées sur la VM :

xe vm-param-list uuid=<UUID_VM>

Démarrer la VM :

xe vm-start uuid=<UUID_VM>

Arrêter la VM :

xe vm-shutdown uuid=<UUID_VM>

Redémarrer la VM :

xe vm-reboot uuid=<UUID_VM>

Suspendre la VM :

xe vm-suspend uuid=<UUID_VM>

Arrêt forcé de la VM :

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

Créer un snapshot :

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

Liste des snapshots :

xe snapshot-list

Restaurer depuis un snapshot :

xe snapshot-revert snapshot-uuid=<UUID_snapshot>

Supprimer un snapshot :

xe snapshot-uninstall snapshot-uuid=<UUID_snapshot>

Exporter la VM :

xe vm-export uuid=<UUID_VM> filename=/path/to/backup.xva

Importer la VM :

xe vm-import filename=/path/to/backup.xva

Surveillance et diagnostic

Informations sur l'hôte :

xe host-list params=all

Surveillance des processus :

top

Surveillance avancée des processus :

htop

Vérifier l'utilisation de la mémoire :

free -h

Mémoire libre de l'hôte :

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

Utilisation du CPU par les machines virtuelles :

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

Afficher le journal principal de XCP-ng :

tail -f /var/log/xensource.log

Journaux système :

journalctl -xe

Afficher les messages système :

tail -f /var/log/messages

Journaux Xen :

xl dmesg

Créer un bug report (contient toutes les informations de diagnostic) :

xen-bugtool -y

Emplacement du rapport

Le résultat sera enregistré dans /var/opt/xen/bug-report/

Gestion des images ISO et lecteurs CD

Liste des images ISO disponibles :

xe cd-list

Informations détaillées sur l'ISO dans le SR :

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

Attacher l'ISO à la VM :

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

Éjecter l'ISO de la VM :

xe vm-cd-eject uuid=

Vérifier les CD/ISO connectés à la VM :

xe vbd-list vm-uuid= type=CD

Accéder au répertoire ISO sur l'hôte :

cd /opt/xensource/packages/iso

Télécharger l'ISO depuis Internet :

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

Rescanner le SR après le chargement de l'ISO :

xe sr-scan uuid=

Vérification de l'état des Guest Tools

Vérifier la version des drivers PV :

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

Vérifier si les drivers PV sont à jour :

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

Obtenir des informations sur l'OS invité :

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

Vérifier la détection des drivers PV :

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

Obtenir les informations réseau de la VM :

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

Problèmes courants et solutions

Problème : La VM démarre en mode Emergency/Recovery

Symptômes :

Le message "You are in emergency mode" ou "Welcome to emergency mode" apparaît ;

Causes typiques :

  • Erreurs de configuration de démarrage (fstab pour Linux) ;
  • Corruption du système de fichiers ;
  • Problèmes de virtualisation ;
  • Arrêt incorrect de la VM.

Solution pour Linux :

Connectez-vous au système avec le mot de passe root (ou appuyez sur Ctrl+D pour continuer).

Vérifiez les journaux système :

journalctl -xb | grep -i error

Vérifiez les messages du noyau :

dmesg | grep -i error

Vérifiez le système de fichiers :

cat /etc/fstab

Vérifiez l'utilisation du disque :

df -h

Vérifiez les périphériques bloc :

lsblk

Si le problème est dans fstab (par exemple, swap ou disque manquant), modifiez le fichier :

nano /etc/fstab

Commentez la ligne problématique en ajoutant # au début. Exemple :

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

Si vous devez vérifier le système de fichiers, démontez d'abord la partition :

umount /dev/xvda2

Vérifiez et réparez le système de fichiers :

fsck -y /dev/xvda2

Redémarrez le système :

systemctl reboot

Problème : GRUB ne se charge pas ou se bloque

Symptômes :

  • La VM se bloque sur l'écran TianoCore (UEFI) ;
  • "Welcome to GRUB" apparaît et rien ne se passe ;
  • Écran noir avec curseur après BIOS/UEFI.

Causes typiques :

  • boot order incorrect (ordre de démarrage) ;
  • L'ISO est toujours connectée comme premier périphérique de démarrage ;
  • Corruption du chargeur de démarrage GRUB ;
  • Incompatibilité UEFI/BIOS.

Solution 1 : Vérifier et modifier l'ordre de démarrage

Sur l'hôte XCP-ng, vérifiez le boot order actuel :

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

Valeurs possibles de l'ordre : - cdn - HDD ©, CD (d), Réseau (n) - dcn - CD (d), HDD ©, Réseau (n) - c - HDD uniquement

Pour l'installation de l'OS, définissez le CD en premier :

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

Après l'installation de l'OS, définissez le démarrage uniquement depuis le HDD :

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

Éjectez l'ISO d'installation si toujours connectée :

xe vm-cd-eject uuid=<UUID_VM>

Redémarrez la VM :

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

Solution 2 : Démarrage via GRUB rescue (pour Linux)

Si vous vous retrouvez dans la ligne de commande GRUB (prompt grub> apparaît), exécutez les commandes suivantes.

Trouvez les partitions disponibles :

ls
La sortie sera quelque chose comme : (hd0) (hd0,msdos2) (hd0,msdos1)

Trouvez la partition avec /boot (généralement msdos1 ou gpt1) :

ls (hd0,msdos1)/

Vérifiez le contenu de boot :

ls (hd0,msdos1)/boot/

Vous devriez voir les fichiers vmlinuz, initramfs et le dossier grub2.

Pour les systèmes BIOS, exécutez :

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

Pour les systèmes UEFI, exécutez :

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

Après le démarrage du système, restaurez GRUB.

Pour basé sur RHEL (AlmaLinux, Rocky, CentOS) :

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

Pour les systèmes UEFI :

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

Pour basé sur Debian (Ubuntu, Debian) :

sudo update-grub

Réinstallez GRUB si nécessaire (pour BIOS) :

sudo grub2-install /dev/xvda

Solution 3 : Basculer entre UEFI et BIOS

Si les problèmes persistent, sur l'hôte XCP-ng vérifiez le mode actuel :

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

Basculer vers BIOS (peut nécessiter une réinstallation de l'OS) :

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

Ou définir explicitement BIOS :

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

Problème : Le réseau ne fonctionne pas après l'installation

Symptômes :

  • La VM n'obtient pas d'adresse IP ;
  • L'interface réseau affiche "disconnected" ou "no carrier" ;
  • Le ping ne fonctionne pas ;
  • L'adresse IP ne s'affiche pas dans l'interface XCP-ng ;

Causes typiques :

  • Guest Tools non installés (cause principale) ;
  • Configuration réseau incorrecte dans la VM ;
  • Problèmes avec l'adaptateur réseau virtuel ;
  • Firewall bloquant la connexion.

Solution :

  1. Installez Guest Tools (voir section ci-dessus) - cela résoudra 90% des problèmes réseau

  2. Vérifiez l'état de l'interface réseau dans l'OS invité

    Pour Linux vérifiez l'état des interfaces :

    ip link show
    

    Vérifiez les adresses IP :

    ip addr show
    

    Pour les systèmes avec NetworkManager :

    nmcli device status
    

    Vérifiez les connexions :

    nmcli connection show
    

    Pour les systèmes avec systemd-networkd :

    networkctl status
    

    Vérifiez le routage :

    ip route show
    

  3. Activez et configurez l'interface

    Pour basé sur RHEL avec NetworkManager activez l'interface :

    sudo nmcli device set eth0 managed yes
    

    Activez la connexion :

    sudo nmcli connection up eth0
    

    Ou redémarrez NetworkManager :

    sudo systemctl restart NetworkManager
    

    Pour basé sur Debian vérifiez la configuration (Ubuntu 18.04+) :

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

    Pour Debian/ancien Ubuntu :

    cat /etc/network/interfaces
    

    Activez l'interface :

    sudo ip link set eth0 up
    

    Demandez une IP via DHCP :

    sudo dhclient eth0
    

  4. Vérifiez les paramètres dans XCP-ng

    Sur l'hôte XCP-ng, vérifiez les interfaces réseau virtuelles de la VM :

    xe vif-list vm-uuid=<UUID_VM>
    

    Vérifiez les réseaux disponibles :

    xe network-list
    

    Si le VIF est absent ou incorrect, obtenez l'UUID du réseau :

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

    Créez un nouveau VIF :

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

  5. Vérifiez le firewall

    Pour Linux (firewalld) vérifiez l'état :

    sudo systemctl status firewalld
    

    Désactivez temporairement pour le test :

    sudo systemctl stop firewalld
    

    Pour Linux (iptables) vérifiez les règles :

    sudo iptables -L -n
    

    Effacez temporairement les règles pour le test :

    sudo iptables -F
    

Problème : Installation de l'OS très lente

Symptômes :

  • L'installation prend plusieurs heures au lieu de 15-30 minutes ;
  • La copie des paquets est très lente ;
  • La VM se bloque à l'étape "Installing packages" ou "Configuring".

Causes typiques :

  • Sous-système de disque lent de l'hôte (HDD au lieu de SSD) ;
  • Storage Repository surchargé ;
  • Ressources VM insuffisantes (CPU, RAM) ;
  • Problèmes de performance de l'hôte.

Solutions :

  1. Utilisez Minimal Install pour Linux :

    • Minimal contient ~400-600 paquets au lieu de 1000-1500 (Server with GUI) ;
    • L'installation prend 5-10 minutes au lieu d'heures ;
    • Pour les serveurs de production, l'interface graphique n'est généralement pas nécessaire ;
    • Vous pouvez installer les paquets nécessaires après l'installation.
  2. Augmentez temporairement les ressources de la VM

    Sur l'hôte XCP-ng (avant de commencer ou pendant l'installation) augmentez la RAM :

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

    Augmentez les vCPU :

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

  3. Vérifiez les performances du disque

    Sur l'hôte XCP-ng, vérifiez les I/O :

    iostat -x 1
    

    Vérifiez la charge du disque :

    iotop
    

    Vérifiez l'état du SR :

    xe sr-list
    

    Obtenez les détails du SR :

    xe sr-param-list uuid=<UUID_SR>
    

  4. Utilisez un stockage plus rapide :

    • Si plusieurs SR sont disponibles, utilisez le stockage basé sur SSD ;
    • Envisagez de migrer vers un autre SR.

Problème : Impossible de connecter l'ISO

Symptômes :

  • Erreur "The VM has no empty CD drive (VBD)" ;
  • Erreur "No matching VMs found" ;
  • L'ISO n'apparaît pas dans la liste disponible.

Solution 1 : VM has no empty CD drive

Vérifiez les VBD existants (Virtual Block Devices) :

xe vbd-list vm-uuid=<UUID_VM>

Si le lecteur CD est occupé par un autre ISO, éjectez-le :

xe vm-cd-eject uuid=<UUID_VM>

Maintenant, insérez l'ISO nécessaire :

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

Si le lecteur CD est complètement absent, trouvez d'abord l'UUID de l'ISO nécessaire :

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

Créez un VBD manuellement :

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

Solution 2 : No matching VMs found

Problème : utilisation de l'UUID du Control Domain au lieu de la VM.

Vérifiez correctement la liste des VM (en excluant le Control Domain) :

xe vm-list is-control-domain=false

Assurez-vous d'utiliser le bon UUID en vérifiant :

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

Devrait être : is-control-domain ( RO): false

Solution 3 : L'ISO n'apparaît pas dans la liste

Vérifiez que l'ISO est chargée :

xe cd-list

Si l'ISO n'est pas dans la liste, trouvez le SR pour l'ISO :

xe sr-list content-type=iso

Accédez au répertoire ISO :

cd /opt/xensource/packages/iso

Vérifiez la présence du fichier :

ls -lh

Si le fichier est absent, téléchargez-le depuis Internet :

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

Ou depuis l'ordinateur local (exécutez sur votre PC) :

scp /local/path/file.iso root@<IP-hôte>:/opt/xensource/packages/iso/

Rescannez le SR :

xe sr-scan uuid=<UUID_SR>

Vérifiez à nouveau :

xe cd-list

Problème : La VM ne s'arrête pas correctement

Symptômes :

  • xe vm-shutdown ne fonctionne pas ou se bloque
  • La VM ne peut être arrêtée que via --force
  • Erreurs de timeout dans les journaux

Causes :

  • Guest Tools non installés ou ne fonctionnent pas
  • L'OS ne répond pas aux événements ACPI
  • Processus bloqués dans l'OS invité

Solution :

  1. Installez/vérifiez Guest Tools (cause principale)

  2. Vérifiez l'état des Guest Tools

    Sur l'hôte XCP-ng, vérifiez la version des drivers PV :

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

    Vérifiez l'actualité des drivers :

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

  3. Utilisez les commandes d'arrêt correctes

    Arrêt doux (nécessite Guest Tools) :

    xe vm-shutdown uuid=<UUID_VM>
    

    Arrêt forcé (équivalent à appuyer sur le bouton d'alimentation) :

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

Arrêt brutal (équivalent à débrancher le cordon d'alimentation, à utiliser uniquement en dernier recours) :

xe vm-destroy uuid=<UUID_VM>

Conseils généraux de diagnostic

Lorsque des problèmes surviennent, vérifiez toujours les journaux.

Dans l'OS invité (Linux) vérifiez les événements récents :

journalctl -xe

Vérifiez les messages du noyau :

dmesg | tail -50

Affichez le journal système (basé sur RHEL) :

tail -f /var/log/messages

Affichez le journal système (basé sur Debian) :

tail -f /var/log/syslog

Sur l'hôte XCP-ng affichez le journal principal :

tail -f /var/log/xensource.log

Vérifiez les messages de l'hyperviseur Xen :

xl dmesg

Vérifiez les événements système :

journalctl -xe

Création d'un rapport de diagnostic sur l'hôte XCP-ng :

xen-bugtool -y

Le résultat sera enregistré dans /var/opt/xen/bug-report/

Note

Des informations détaillées sur la configuration et l'administration de XCP-ng sont disponibles dans la documentation officielle.

Note

XCP-ng Forum - forum communautaire pour obtenir de l'aide.

Commande d'un serveur avec XCP-ng via l'API

Pour installer un serveur avec RouterOS en utilisant l'API, suivez les instructions.


Une partie du contenu de cette page a été créée ou traduite à l'aide d'IA.