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, 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.
Ici on prendra l'exemple de l'ajout du noeud hw4
A faire sur ns0.arn-fai.net
hwhost-4 A 89.234.141.134 hwhost-4 AAAA 2a00:5881:8100::134
! Cette configuration est temporaire, car on utilise le switch non manageable dédié du cluster pour accéder à internet, ce qui n'était pas prévu.
ip r a 2a00:5881:8100::134 via fe80::69:4 dev eth1 metric 1024 pref medium
sur hw2service networking restart
auto eno2 iface eno2 inet manual iface eno2 inet6 manual auto vmbr0 iface vmbr0 inet static address 192.168.11.4/24 gateway 192.168.11.2 bridge-ports eno2 bridge-stp off bridge-fd 0 post-up /sbin/ip a a 89.234.141.134 dev $IFACE iface vmbr0 inet6 static address fe80::69:4/112 gateway fe80::69:2 accept_ra 0 autoconf 0 dad-attemps 0 post-up /sbin/ip a a 2a00:5881:8100::134 dev $IFACE auto vmbr1 iface vmbr1 inet static address 169.254.42.1/32 bridge-ports none bridge-stp off bridge-fd 0 post-up /sbin/ip a a 10.254.42.1/32 dev $IFACE iface vmbr1 inet6 static address fe80::42:1/64 post-up /sbin/ip a a fc00::42:1/64 dev $IFACE
/etc/ssh/sshd_config
A partir d'ici il faudra se connecter via ssh avec le port 722.
Dans l'interface web:
hwhost-4 > Certificates
ACME
cliquer sur Add
hwhost-4.arn-fai.net
Edit
(account) et mettre arn-fai
puis Apply
Order certificates now
/etc/resolv.conf
search arn-fai.net nameserver 80.67.169.40 nameserver 185.233.100.101 nameserver 89.234.141.66
Ajouter
89.234.141.134 hwhost-4.arn-fai.net hwhost-4
Ajouter la config ssh
Host hwhost-2.arn-fai.net Port 2222 Host * User root Port 722
Valider les fingerprint sur l'ensemble des nœuds
ssh hwhost-3.arn-fai.net ssh hwhost-4.arn-fai.net
A faire sur un des nœuds déjà installé
sync-nodes
Remplacer aux alentour de la ligne 565 du fichier /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
.data.status.toLowerCase() !== "active") {
par
.data.status.toLowerCase() !== "active") {orig_cmd(); } else if ( false ) {
cat <<EOF >/etc/apt/sources.list.d/pve-enterprise.list # deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise EOF
cat <<EOF >/etc/apt/sources.list.d/pve-install-repo.list deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription EOF
echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/.*data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script apt --reinstall install proxmox-widget-toolkit
Source : https://github.com/tteck/Proxmox/blob/main/misc/post-pve-install.sh
Récupérer le nom du pool ZFS, en cliquant sur la machine du cluster de la //server view//, sous //Disks// puis //ZFS//
Désactiver les mises à jour des //metadata// pour les accès aux fichiers
sudo zfs set atime=off [Nom du pool de stockage]
sudo zfs set compression=off [Nom du pool de stockage]
options zfs zfs_arc_max=[Valeur]
Source : https://pve.proxmox.com/wiki/ZFS_on_Linux#sysadmin_zfs_limit_memory_usage
Modifier le fichier crontab
crontab -e
Ajouter les lignes
# Modification de la mise à l'échelle du processeur par le gouverneur "Conservative" @reboot (sleep 60 && echo "conservative" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor)
manage-vps list
manage-vps show VMID
manage-vps start VMID
manage-vps stop VMID
manage-vps reboot VMID
manage-vps reboot VMID --rescue
manage-vps reboot VMID --iso 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
wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2 -P /var/lib/vz/images -o bookworm.qcow2 sync-nodes
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
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"
manage-vps destroy VMID
PAS ENCORE DISPONIBLE (mais le bouton migrer suivi d'un reboot fonctionne)
La taille est en Mo
manage-vps upgrade --ram 4048
manage-vps upgrade --cpu 2
La taille est en Go
manage-vps upgrade --disk 200