# Proxmox pour ARN > Proxmox Virtual Environnement est une solution de virtualisation libre (licence AGPLv3) basée sur l'hyperviseur Linux KVM, et offre aussi une solution de conteneurs avec LXC. Elle propose un support payant. [[https://fr.wikipedia.org/wiki/Proxmox_VE|Source]]. Promox, tout comme [Ganeti](/benevoles:technique:ganeti), permet la migration à chaud de machines virtuelles ce qui permet une disponibilité du service de virtualisation en cas de panne ou de maintenance. Proxmox simplifie grandement la gestion de machines virtuelles. ## Installation et création du cluster ### Ajout d'un nœud ## Commandes utiles ### Lister les VPS ``` manage-vps list ``` ### Obtenir les infos générales d'un VPS ``` manage-vps show VMID ``` ### Démarrer un VPS ``` manage-vps start VMID ``` ### Éteindre un VPS ``` manage-vps stop VMID ``` ### Redémarrer un VPS #### sur son disque ``` manage-vps reboot VMID ``` #### sur un disque de sauvetage (rescue) ``` manage-vps reboot VMID --rescue ``` #### sur une iso ``` manage-vps reboot VMID --iso ISO ``` ### Ajouter une iso ``` wget https://miroir.univ-lorraine.fr/debian-cd/12.6.0/amd64/iso-cd/debian-12.6.0-amd64-netinst.iso -P /var/lib/vz/template/iso -o bookworm.iso sync-nodes ``` ### Ajouter une image cloud-init ``` wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2 -P /var/lib/vz/images -o bookworm.qcow2 sync-nodes ``` ### Créer un VPS ``` manage-vps create VMID --name NOM --vcpu VCPU --ram RAM --disk DISQUE --suite SUITE --ipv4 IPV4/32 --ipv6 IPV6/128 --publickey "CLÉ PUBLIQUE" --user USER --firstname "PRENOM" --lastname "NOM" --email "MAIL" --secondary hwhost-4 ``` Exemple pour un vps à 7€/mois: ``` manage-vps create VMID --name vps-cdupont --vcpu 1 --ram 2048 --disk 15 --suite bookworm --ipv4 89.234.141.106/32 --ipv6 2a00:5881:8110:b00::1/128 --publickey "ssh-ed25519 AAAAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX camille@doe" --user jdoe --firstname "Camille" --lastname "Dupont" --email "camille@dupont.net" --secondary hwhost-4 ``` ### Importer un VPS depuis ganeti A faire sur l'hôte sur lequel on souhaite faire migrer la VM. ``` manage-vps import VMID --name NAME --ipv4 89.234.141.XXX/32 --user USER --firstname "PRENOM" --lastname "NOM" --email "MAIL" ``` ### Supprimer un VPS ``` manage-vps destroy VMID ``` ### Migrer un VPS à chaud sur un autre nœud PAS ENCORE DISPONIBLE (mais le bouton migrer suivi d'un reboot fonctionne) ### Faire évoluer les ressources d'un VPS #### RAM La taille est en Mo ``` manage-vps upgrade --ram 4048 ``` #### CPU ``` manage-vps upgrade --cpu 2 ``` #### Augmentation du disque La taille est en Go ``` manage-vps upgrade --disk 200 ``` ## TODO - Utiliser libguestfs pour personnaliser les images avec [virt-builder](https://www.libguestfs.org/virt-builder.1.html) - ~~Faire en sorte que les VM netplan fonctionnent~~ - Écrire la routine d'import de VM depuis ganeti - Automatiser le partage de route (soit via le snippets arn-set-routes.sh, soit via ospf ou ibgp) - Pouvoir créer des VM sur un nœud mais depuis un autre nœud - Pouvoir lister les VM de tous les nœuds - Raccorder COIN au cluster pour proposer le bouton provisionner - Ajouter d'autres boutons (redémarrer, rescue, iso, faire évoluer les ressources, stop, start, changer le mot de passe, changer la clé publique) - Renforcer le script pour couper l’exécution en cas d'échecs d'une commande (+ trap) - Vérifier les permissions des membres sur proxmox - Ajouter le support de la réplication - Documenter l'installation d'un nœud - Utiliser une zone et un Vnet (SDN) à la place d'une interface vmbr1 configurée manuellement sur chaque nœud - Revoir le réseau pour éviter de tout faire passer par le switch dédié au backbone - Relire des bouts de doc proxmox au cas où on a loupé des choses - Utiliser cicustom pour lancer un script finale (install yunohost)