Table des matières
Guide : installer Proxmox VE dans WSL
Installation de la distribution Debian de WSL avec le nom pve
Lors de l'installation de la distribution Debian, WSL sera installé s'il n'est pas encore configuré dans votre ordinateur Windows.
- installer la distribution Debian en la renommant pve depuis l'invite de commande cmd ou Powershell :
PS/> wsl --install -d debian --name pve Installation en cours : Sous-système Windows pour Linux [= 3,0% ] Téléchargement : Debian GNU/Linux Installation : Debian GNU/Linux L’opération demandée est réussie. Les modifications ne seront pas effectives avant que le système ne soit réamorcé. La distribution a été installée. Il peut être lancé via 'wsl.exe -d pve'
- Un redémarrage de Windows est nécessaire s'il s'agit de la première installation de WSL.
- Vérifiez la présence de la distribution pve (la distribution est installée mais stoppée) :
PS/> wsl -l -v NAME STATE VERSION * pve Stopped 2
Modifier la configuration de WSL
Créez puis modifiez le fichier de configuration WSL de votre compte utilisateur Windows (%UserProfile%\.wslconfig) pour :
- définir le mode réseau de WSL en NAT (configuration par défaut) ;
- forcer WSL2 à passer entièrement aux cgroups v2
Utilisez l’éditeur en ligne de commande nano pour modifier le contenu des fichiers.
Le fichier .wslconfig doit contenir dans la section [wsl2] avec les deux lignes suivantes:
- .wslconfig
[wsl2] networkingMode = NAT kernelCommandLine = systemd.unified_cgroup_hierarchy=1 cgroup_no_v1=all
Configurer la distribution pve
- Démarrez la distribution pve.
wsl -d pve
- Lors du premier lancement de la distribution, vous devez créer un compte utilisateur et son mot de passe :
- créez le compte utilisateur sio ;
- avec le mot de passe Sio1234*
- Passez root pour changer le mot de passe de ce compte car il devra être utilisé pour se connecter à l'interface d'administration de Proxmox VE.
# Passer en root $ sudo -i # Définir le mot de passe du compte root nécessaire pour s'authentifier dans l'interface Web d'administration de Proxmox. passwd # Vérifier la version de Debian pour connaître quelle version récente de Proxmox est installable # cat /etc/os-release # VERSION="12 (bookworm)" Se rendre à l'URL du Wiki de PVE (https://pve.proxmox.com/wiki/FAQ#faq-support-table) et prenez connaissance de la version à installer. Pour Debian 12 c'est PVE 8.x.
Vérifier l'activation de systemd (cela est fait défaut)
Vérifiez dans le fichier /etc/wsl.conf la présence de la ligne suivante dans la rubrique boot:
# cat /etc/wsl.conf [boot] systemd=true
Configuration réseau
Important : une configuration incorrecte de la configuration IP de la distribution ne permettra pas d'accéder à l'interface Web de Proxmox
- Configurer WSL2 :
- pour ne pas réécrire le fichier /etc/hosts ainsi que le fichier /etc/resolv.conf à chaque démarrage de la distribution, ajoutez les lignes ci-dessous au fichier /etc/wsl.conf de la distribution pve en créant une rubrique [network] ;
- pour personnalisez également le nom de la distribution afin de l'appeler pve en mettant à jour le fichier /etc/hosts.
Voici le contenu actualisé du fichier /etc/wsl.conf qui contient déjà une section [boot] pour activer systemd :
- wsl.conf
[boot] systemd=true [network] hostname = pve generateHosts = false generateResolvConf = false
Modification manuelle du fichier /etc/hosts (une modification automatique sera ensuite configurée)
- prenez connaissance de l'adresse IP de la distribution (pour exemple 172.28.38.112/20) :
# ip a 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:23:ef:de brd ff:ff:ff:ff:ff:ff inet 172.28.38.112/20 brd 172.28.47.255 scope global eth0
- mettre à jour le fichier /etc/hosts en ajoutant une entrée pour votre adresse IP de votre distribution pve car le nom d’hôte de votre machine doit pouvoir être résolu via /etc/hosts. Pour cela il faut remplacer l’adresse 127.0.1.1 présente par défaut par l'adresse IP de votre distribution. Par exemple, si votre PC Windows se nomme PC-perso avec l'adresse IP de la distribution 172.28.38.112/20, pour utiliser le nom pve, votre fichier /etc/hosts pourrait ressembler à :
127.0.0.1 localhost #127.0.0.1 PC-perso. PC-perso 172.28.38.112 pve pve # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Modification automatique du fichier /etc/hosts
- Création du fichier /usr/local/bin/pvepreup.sh avec le contenu suivant :
- pvepreup.sh
#!/bin/bash ip4addr=`ip -4 a show eth0 | awk '/inet .* scope global/ {split($2,out,"/");print out[1]}'` awk "/^127\.0\.0\.1.*`hostname`/ {next} /`hostname`/ {\$1 = \"$ip4addr\"} // {print}" /etc/hosts > /etc/hosts.new && mv /etc/hosts.new /etc/hosts
- création du fichier /etc/systemd/system/pvepreup.service :
- pvepreup.service
[Unit] Description=Fix /etc/hosts before starting PVE Before=pve-cluster.service After=network.target DefaultDependencies=no Before=shutdown.target Conflicts=shutdown.target [Service] ExecStart=/usr/local/bin/pvepreup.sh KillMode=mixed TimeoutStopSec=10 Type=oneshot [Install] WantedBy=multi-user.target
- activez le service
chmod +x /usr/local/bin/pvepreup.sh systemctl daemon-reload systemctl enable pvepreup systemctl status pvepreup
Tests
- Tout d'abord, depuis Powershell, arrêtez et redémarrez la distribution pve en ouvrant une session directement avec le compte root.
# exit # fermer la session root $ exit # fermer la session sio PS> wsl --shutdown # arrêter la distribution PS> wsl -d pve --user root # démarrer la distribution et ouvrir une session avec le compte root
La mise à jour automatique du fichier /etc/resolv.conf ayant été désactivée dans WSL (generateResolvConf = false dans le fichier /etc/wsl.conf), il est nécessaire de créer ce fichier /etc/resolv.conf pour indiquer l'adresse IP du serveur DNS de votre choix.
- Créez le fichier /etc/resolv.conf pour indiquer l'adresse IP du serveur de nom de votre choix
nameserver 8.8.8.8
- Testez si votre configuration est correcte à l’aide de la commande hostname (l'adresse IP doit être celle de votre distribution pve) :
# hostname pve # hostname --ip-address 172.28.38.112
Installer les prérequis
apt update && apt upgrade -y apt install -y apt-transport-https python3-requests lsb-release
- Ajoutez le dépôt de Proxmox VE
echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
- Ajoutez la clé du dépôt de Proxmox VE :
apt install -y wget wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg # verifier la clé sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg 7da6fe34168adc6e479327ba517796d4702fa2f8b4f0a9833f5ea6e6b48f6507a6da403a274fe201595edc86a84463d50383d07f64bdde2e3658108db7d6dc87 /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
Mettre à jour le référentiel et le système
apt update && apt full-upgrade
Installer le noyau Proxmox VE
apt install -y proxmox-default-kernel systemctl reboot
- ouvrez à nouveau une session dans la distribution pve avec le compte root :
PS> wsl -d pve --user root
Installer et configurer de Postfix
L'installation et la configuration de Postfix est nécessaire pour pouvoir ensuite installer Proxmox :
- installation de Postfix ;
- choisissez comme configuration Local only ;
- gardez le nom de domaine pve proposé.
apt install postfix -y systemctl restart postfix
Installer Proxmox VE
- Lancez l'installation de Proxmox VE :
apt install -y proxmox-ve open-iscsi chrony
- Il est recommandéde supprimer le paquet logiciel os-prober quand le dual-boot n'est pas géré :
apt remove -y os-prober
Permettre l'utilisation des conteneurs LXC
Proxmox détecte qu'il est virtualisé et ne permet pas la création de conteneurs LXC.
Pour le permettre, modifiez la condition suivante dans le fichier /lib/systemd/system/lxcfs.service
- remplacez
[Unit] ConditionVirtualization=!container
- par
[Unit] ConditionVirtualization=container
Vérifiez que tout fonctionne
Redémarrez la distribution pve et connectez-vous avec le compte root depuis PowerShell:
# exit # fermer la session PS> wsl --shutdown # arrêter la distribution PS> wsl -d pve --user root # démarrer la distribution et ouvrir une session avec le compte root
Proxmox devrait fonctionner. L’interface utilisateur Web est accessible à l’adresse https://localhost:8006.
Pour un accès en SSH, déposez votre clé publique dans /root/.ssh/authorized_keys.
L'adresse IP de la distribution pve est dans le plan d'adressage 172.28.32.0/20 de WSL en mode réseau NAT.
Exemple :
# ip a 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:a5:6c:be brd ff:ff:ff:ff:ff:ff inet 172.28.38.112/20 brd 172.28.47.255 scope global eth0
Debogage
- Vérifiez la présence de la ligne suivante dans le fichier /etc/hosts de la distribution pve afin d'avoir une entrée pour l'adresse IP de la distribution associée au nom pve.
Exemple avec l'adresse IP de la distribution qui serait 172.28.38.112/20 :
172.28.38.112 pve pve
- Vérifiez que le fichier /etc/resolv.conf contient une ligne pour indiquer l'adresse IP du serveur de nom de (DNS) votre choix
nameserver 8.8.8.8
- Consultez les logs :
# log journalctl -xe # les services systemctl status pve-cluster
Exporter / importer / renommer la distribution pve
- Exporter la distribution
wsl --export pve C:\chemin\vers\pve.tar
- Désenregistrer l'ancienne distribution :
wsl --unregister pve
- Importer la distribution avec un nouveau nom :
wsl --import nouveaupve C:\nouvel\emplacement C:\chemin\vers\pve.tar