Hyperviseur Proxmox

Proxmox est une solution libre d'hyperviseur capable d'héberger des machines virtuelles complètes (avec virtualisation des composants) et des containers utilisant directement les ressources matérielles de la machine.

Création d'une machine virtuelle ou d'un container

La création des machines nécessite de renseigner les points suivants :

Numéro de machine : c'est l'identifiant numérique de la machine pour Proxmox

Nom de la machine : c'est le hostname de la machine

Mot de passe pour le compte root

template ou cd/dvd : modèle de container ou iso du système d'exploitation de la machine virtuelle

rootdisk/storage : dossier de stockage des fichiers sur le serveur

Carte réseau :

Name : le nom de la carte tel qu'il sera vu par le SE

Bridge : permet de déterminer comment la machine accède au réseau (par défaut, vmbr0)

IP/Masque et Passerelle

Gérer les machines virtuelles depuis le shell

La commande pct permet de gérer les conteneurs.

Entrer dans un conteneur (sans connaître le mot de passe root)

pct enter <id_conteneur>

Démarrer le conteneur

pct start <id_conteneur>

stopper le conteneur

pct stop <id_conteneur>

Cloner un conteneur

pct clone <id_conteneur> <id_nouveauconteneur>

Détruire un conteneur

pct destroy <id_conteneur>

Duplication de machines virtuelles

* Paramétrez votre machine originale.

* Réalisez une sauvegarde de votre machine, une fois toutes les mises à jour effectuées.

I.Deployez votre machine originale à un serveur distant

a. Envoyez le fichier de votre machine au serveur distant :

scp /var/lib/vz/dump/vzdump-qemu-'ID de la machine' 'NomUtilisateurduServeurDistant'@'IpServDest':/var/lib/vz/dump/

b.Restaurez la machine sur le serveur distant

Aller dans le disque local , sélectionnez l'image de votre machine et cliquez sur restore puis renommez si vous avez la nécessité de le faire.

II.Deployez votre machine originale au serveur local

a. Sélectionnez la machine originale , à côté de 'Shutdown', vous avez 'More' , cliquez dessus et cliquez sur clone.

Contributeurs Moukimou Tsifanavi / Rimbault Sullivan.

Importer/Exporter des machines virtuelles depuis ou vers un serveur Proxmox

Exporter/Sauvegarder une machine virtuelle

Dans l'interface Proxmox, ouvrir la machine à sauvegarder

Cliquer sur Backup Now

Récupérer le fichier de sauvegarde avec FileZilla dans le dossier /var/lib/vz/template/backup/ (ou autre endroit selon l'installation de Proxmox)

Importer/Restaurer une machine virtuelle

Réinjecter le fichier avec FileZilla au nouvel emplacement (dans le dossier /var/lib/vz/template/backup/ par défaut)

Dans l'interface du Proxmox, retrouver le fichier de sauvegarde dans l'emplacement des backups, puis cliquer sur Restore.

Création d'un utilisateur et paramétrez ces rôles dans le groupe auquel il appartient

Contributeurs : Rimbault Sullivan , Tsifanavi Moukimou.

I.Exemple

Créer l'utilisateur

Compte: Administrateur

adduser Administrateur password Administrateur New password :

Paramétrer les rôles

pveum acl modify / --group "Groupedel'utilisateur concerné" --role "Role à mettre"

Voici quelques rôles utilisateur pour le Proxmox:

Administrator: has all privileges
NoAccess: has no privileges (used to forbid access)
PVEAdmin: can do most things, but miss rights to modify system settings (Sys.PowerMgmt, Sys.Modify, Realm.Allocate).
PVEAuditor: read only access
PVEDatastoreAdmin: create and allocate backup space and templates
PVEDatastoreUser: allocate backup space and view storage
PVEPoolAdmin: allocate pools
PVESysAdmin: User ACLs, audit, system console and system logs
PVETemplateUser: view and clone templates
PVEUserAdmin: user administration
PVEVMAdmin: fully administer VMs
PVEVMUser: view, backup, config CDROM, VM console, VM power management.

Exemple pveum acl modify / --group "groupeEtudiants" --role PVEVMAdmin

Pour qu'un compte puisse assurer une gestion complète des machines virtuelles, on lui attribuera les rôles :

PVEAdmin PVEVMAdmin PVEPoolAdmin PVEDatastoreUser PVETemplateUser

Activer l'option "Nested"

Cette option peut être nécessaire lorsque certains services ne démarrent pas sur les VMs (par exemple mysql sous Debian 10).

echo "options kvm-intel nested=Y" > /etc/modprobe.d/kvm-intel.conf

Il faut ensuite redémarrer le serveur Proxmox.

Monter le disque d'une MV

Il est possible d'accéder au contenu du disque d'une machine virtuelle même lorsqu'elle n'est pas démarrée. On pourra ainsi modifier des fichiers, récupérer du contenu, etc.

pct mount <numero_MV>

On accède alors au contenu dans /var/lib/lxc/<numero_MV>/rootfs

L'ensemble des commandes PCT est accessible ici

Gérer les clusters de Proxmox

Un cluster Proxmox de base permet de gérer plusieurs instances depuis une connexion unique sur n'importe quel nœud. Il n'y a pas de tolérance de panne mais la possibilité de migrer des machines d'un nœud à un autre.

Sortir les noeuds d'un cluster

ATTENTION Les manipulations pourraient détruire l'ensemble des contenus des noeuds. Sauvegarder l'ensemble et procéder en assurant la possibilité de revenir en arrière

On agit sur le noeud principal sur lequel est définit le cluster.

On éteint les services

systemctl stop pve-cluster systemctl stop corosync

on relance la gestion des fichiers du cluster

pmxcfs -l

on déplace les configurations de l'outil Corosync

mkdir /tmp/corosync mv /etc/corosync/* /tmp/corosync

on arrête le gestionnaire de fichier et on redémarre le cluster

killall pmxcfs systemctl start pve-cluster

on supprime les autres noeuds

pvecm delnode <nom_du_noeud_a_supprimer>

on réduit le nombre de noeuds attendu par le cluster

pvecm expected 1

on supprime ou déplace les informations des noeuds supprimés (à faire sur chaque noeud)

mv /etc/pve/nodes/<nom_du_noeud_supprimé /tmp