Virtualisation

PROXMOX - Quelques infos

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

proxmox_logo


Introduction



Proxmox Virtual Environment (PVE) est une solution de virtualisation libre basée sur l'hyperviseur Linux KVM, et offre aussi une solution de containers avec LXC.
C'est une solution de virtualisation de type "bare metal". La base du système est une distribution Debian. C'est un équivalent à la solution ESX de VMware.

Désactiver le message You do not have valid subscription



Par défaut, quand on est en mode communautaire, à chaque connexion, cette pop-up s'affiche :

subscription_proxmox


Cette pop-up est générée par du Javascript mais est réglé dans un fichier PERL : /usr/share/perl5/PVE/API2/Subscription.pm
Il suffit d'éditer ce fichier :
Chercher la ligne contenant ceci (environ à la ligne 117 sur Proxmox 7.3) :
Code PERL :
status => "notfound",

Et de placer la variable status à Active :
Code PERL :
status => "active",

Déconnectez-vous, et relancez pve-proxy :
Code BASH :
systemctl restart pveproxy.service

Rafraîchissez la page via Ctrl+F5 pour ignorer le cache du navigateur.
Reconnectez-vous et constatez que le message a disparu.

Astuce : Voici la commande onliner à lancer dans un shell si vous voulez (car à chaque mise à jour du paquet de proxmox, le fichier PERL sera réinitialisé) :

Code BASH :
sed -i.bak 's/notfound/active/g' /usr/share/perl5/PVE/API2/Subscription.pm && systemctl restart pveproxy.service


Mettre vos machines proxmox en NAT



Si vous êtes dans un contexte entreprise et que Proxmox est utilisé comme environnement de développement, vous pouvez vouloir ne pas user autant d'IP que vous avez de machines. L'IP de Proxmox est 10.21.27.97 dans mon cas (dans le réseau 10.21.27.0/24). 10.21.27.97 est l'IP du pont vmbr0 créé à l'installation.
Créez un deuxième pont réseau (vmbr1) sur une deuxième carte réseau de votre serveur. Mettez l'IP et le masque de votre choix. Ne saisissez pas de passerelle (Proxmox fera routeur)
Ici, je créé le pont vmbr1 depuis l'interface de Proxmox sur la carte eno3 de mon serveur HP, ce qui me génère ce fichier de config :
Code BASH :
auto vmbr1
iface vmbr1 inet static
    address  172.21.27.254
    netmask  255.255.255.0
    bridge-ports eno3
    bridge-stp off
    bridge-fd 0

On ajoute au fichier de config 2 instructions post-up pour activer le routage et le NAT :
Code BASH :
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '172.21.27.0/24' -o vmbr0 -j MASQUERADE

Éventuellement, une règle pour supprimer le NAT :
Code BASH :
post-down iptables -t nat -D POSTROUTING -s '172.21.27.0/24' -o vmbr0 -j MASQUERADE

Ensuite redémarrez le réseau (ou le serveur).
Il reste 2 choix à votre disposition pour que vos machines communiquent avec Internet et que vous puissiez vous y connecter depuis votre LAN :
1 - Ajouter une route dans votre routeur vers votre réseau Proxmox, avec comme passerelle Proxmox lui même.
Ici : 172.21.27.0/24 contacter 10.21.27.97
L'avantage c'est que vous joignez vos machines comme si elles étaient sur votre LAN. Vous n'avez pas aussi à créer un VLAN supplémentaire.
L'inconvénient c'est qu'il faut avoir la main sur le routeur, sauf si vous administrez votre routeur aussi.
2 - Faire que des redirections de ports sur Proxmox : http://proxmox:8080 redirige sur 172.21.27.100 port 80 par exemple :
Code BASH :
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 172.21.27.100:80

Pour supprimer les règles :
Code BASH :
 iptables -t nat -D PREROUTING -p tcp --dport 22100 -j DNAT --to-destination 172.21.27.100:22

L'avantage est que vous n'avez pas besoin de solliciter l'administrateur réseau, ni faire quoi que ce soit sur le routeur.
L'inconvénient est que si vous avez plusieurs serveurs web, vous devez jouer avec les ports, et que vous devez faire 1 règle par service à rediriger.
Dans mon cas, j'ai pris la solution numéro 1 car je n'ai pas envie de jouer avec les ports et je suis également l'administrateur du réseau de la société en plus d'y être l'administrateur système.
Quand vous créez une VM, utilisez le pont vmbr1 si vous voulez votre VM dans votre réseau privé Proxmox. vmbr0 crééra une VM sur le LAN.
Il reste évidemment à mettre un serveur DHCP sur Proxmox ou créer un conteneur avec un serveur DHCP si vous ne voulez pas utiliser que des IP Fixes.

Permettre les mises à jour de Proxmox



Un tutoriel a été rédigé ici : https://www.linuxtricks.fr/wiki/proxmox-activer-les-mises-a-jour-sans-licence-no-subscription

Ajouter des templates conteneurs



Il est possible d'ajouter des templates de conteneurs en plus sur Proxmox.
Les templates par défaut sont assez réduits.
Les templates supplémentaires au bon format se trouvent ici : http://download.proxmox.com/images/system/

Guest has not initialized the display en UEFI



Si l'affichage indique Guest has not initialized the display alors que la machine est en UEFI, modifier dans Hardware la valeur de Machine sur q35.