Un article simpliste mais suffisant pour installer une instance de Proxmox Virtual Envrionment sur un hôte Debian 12. J’ai juste traduit et raccourci la documentation officielle, et ajouté quelques trucs trouvés ça et là.
Doc : pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_12_Bookworm
Attention, sauvegardez quand même votre système avant car le noyau sera remplacé par celui de Proxmox et je ne sais pas si cela peut avoir une influence sur vos services déjà en cours d’exécution.
Aller, on y va de but en blanc. Moi je fais tout en root donc je ne le précise plus.
-Déjà configurer son Debian en IP fixe. Je ne détaille pas ici.
-Modifier fichier /etc/hosts en virant ou commentant la ligne en jaune, puis en ajoutant une ligne contenant l’IP de l’interface réseau souhaitée :
127.0.0.1 localhost
#127.0.1.1 nom.du_serveur.local nom
192.168.0.190 nom.du_serveur.local nom
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
-La commande suivante doit retourner l’adresse IP de l’interface :
hostname --ip-address
192.168.0.190
-Ajout du repository proxmox au fichier sources.list
echo « deb [arch=amd64] download.proxmox.com/debian/pve bookworm pve-no-subscription » > /etc/apt/sources.list.d/pve-install-repo.list
-Ajout de la clé du repo proxmox (en root ou sudo):
wget enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
-Verifier la clé ( la commande doit retourner ça 7da6fe34168adc6e479327ba517796d4702fa2f8b4f0a9833f5ea6e6b48f6507a6da403a274fe201595edc86a84463d50383d07f64bdde2e3658108db7d6dc87 :
sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
-Update repo et système :
apt update && apt full-upgrade
-Installer le kernel Proxmox qui va remplacer celui d’origine :
apt install proxmox-default-kernel
systemctl reboot
-Installer les packages ProxMox VE :
apt install proxmox-ve postfix open-iscsi chrony
->Des questions concernant votre serveur de mail seront posées. Si vous n’en avez pas, choisissez Local seulement, et laissez le nom d’hôte qui a dû s’afficher ensuite. Je n’ai pas testé autrement perso.
-Supprimer le kernel Debian :
apt remove linux-image-amd64 ‘linux-image-6.1*’
-Update de Grub :
update-grub
-Désinstaller le paquet suivant :
apt remove os-prober
-Créer un fichier /etc/chrony/sources.d/ntp-server.sources (peut avoir un autre nom mais garder l’extension .sources), et ajouter les serveur de temps avec le paramètre iburst, sur lesquels les VM seront syncro :
server time.google.com iburst
server time1.google.com iburst
server time2.google.com iburst
server time3.google.com iburst
server time4.google.com iburst
-Recharger les sources :
chronyc reload sources
-Redémarrer chrony :
systemctl restart chrony
-Créer un pont réseau nommé vmbr0. Pour cela éditer le fichier /etc/network/interfaces. On va configurer un pont et lui donner les paramètres IP de notre interface principale, puis le lier à l’interface principale (chez moi eno1). Notez que vous aviez peut-être vos serveurs DNS dedans mais ils n’y sont plus, ils sont maintenant dans /etc/resolv.conf. Voila à quoi ressemble maintenant mon fichier /etc/network/interfaces :
auto lo
iface lo inet loopback
iface eno1 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.0.190/24
gateway 192.168.0.1
bridge-ports eno1
bridge-stp off
bridge-fd 0
->Constatez que les paramètres d’origine ont été complètement supprimés. C’est normal, il faut les remplacer par ceux-là.
-Personnellement cela m’a fait un objet « bridge » buggé au niveau de l’interface web dans le menu Réseau. Je l’ai donc plus tard supprimé depuis l’interface web et recréé depuis l’interface web avec ces paramètres (vous pouvez voir plus bas comment accéder à l’interface web) :
-Créer / Linux Bridge
-Nom : vmbr0
-IPv4/CIDR : 192.168.0.190/24
-Passerelle IPv4 : 192.168.0.1
-Port du pont : eno1
Je ne sais pas pourquoi cela a buggé chez moi, j’ai pourtant suivi la doc officielle. Mais bon maintenant ça marche, faites gaffe donc.
Desactiver la popup de souscription
De base sans souscription payante la connexion à l’interface WEB affiche une popup indiquant qu’il n’y a pas de subscription. On va désactiver la popup.
[EDIT] Malheureusement cette modification s’annule toute seule, peut-être lors de mises à jour.
-Sauvegarder et éditer le fichier :
cd /usr/share/javascript/proxmox-widget-toolkit/
cp proxmoxlib.js proxmoxlib.js.bak
nano cp proxmoxlib.js
-Chercher la ligne :
.data.status.toLowerCase() !== ‘active’) {
->Et supprimer le point d’exclamation « !«
-Enregistrez le fichier.
-Redémarrer Proxmox :
systemctl restart pveproxy.service
Utiliser l’interface WEB
On peut maintenant se connecter à l’interface via navigateur :
-Choisir authentification PAM et se connecter avec le compte root du système.
Créer un volume de stockage « Repertoire »
On peut utiliser un repertoire du système comme espace de stockage dans proxmox. Pas obligé d’avoir un disque entier dédié.
-Créer d’abord le dossier souhaité sur le système avec un mkdir, du genre :
mkdir /mnt/data/proxmox
-On peut créer des sous dossiers pour les différents types de données que proxmox peut stocker, ou tout mettre direct dans le repertoire proxmox.
-Répertoires séparés :
->Il faut des dossiers différents pour les images systèmes, les images ISO, fichiers de sauvegarde, conteneurs etc…
-On peut taper une commande dans le genre pour tous les créer :
mkdir /mnt/data/proxmox/{disk,iso,conteneurs_mdl,sauvegarde,conteneurs,extraits}
-Dans proxmox, aller dans Centre données / Stockage / Ajouter / Répertoire.
-Dans ID mettez le nom disk
-Dans Repertoire mettez le chemin /mnt/data/proxmox/disk
-Dans Contenu, sélectionner la ligne associée.
-Faites la même chose avec les autres répertoires.
-> Si vous ne souhaitez qu’un dossier pour tout type de fichier, dans ID vous mettez le nom que vous voulez, dans Repertoire vous mettez /mnt/data/proxmox et dans Contenu vous sélectionnez tous les types.
->Vous trouvez les repertoires créer sous Centre de données / Votre hôte.
->Vous pouvez alors par exemple cliquer sur ISO et uploader une ISO d’install.
->Quand vous créerez une VM, vous pourrez trouver l’ISO dans le repertoire iso, choisir le repertoire disk pour les disques virtuels et ainsi de suite.