Lors de l'installation de la distribution Debian, WSL sera installé s'il n'est pas encore configuré dans votre ordinateur Windows.
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'
PS/> wsl -l -v NAME STATE VERSION * pve Stopped 2
Créez puis modifiez le fichier de configuration WSL de votre compte utilisateur Windows (%UserProfile%\.wslconfig) pour :
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:
[wsl2] networkingMode = NAT kernelCommandLine = systemd.unified_cgroup_hierarchy=1 cgroup_no_v1=all
wsl -d pve
# 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é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
Important : une configuration incorrecte de la configuration IP de la distribution ne permettra pas d'accéder à l'interface Web de Proxmox
Voici le contenu actualisé du fichier /etc/wsl.conf qui contient déjà une section [boot] pour activer systemd :
[boot] systemd=true [network] hostname = pve generateHosts = false generateResolvConf = false
# 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
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
#!/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
[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
chmod +x /usr/local/bin/pvepreup.sh systemctl daemon-reload systemctl enable pvepreup systemctl status pvepreup
# 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.
nameserver 8.8.8.8
# hostname pve # hostname --ip-address 172.28.38.112
apt update && apt upgrade -y apt install -y apt-transport-https python3-requests lsb-release
echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
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
apt update && apt full-upgrade
apt install -y proxmox-default-kernel systemctl reboot
PS> wsl -d pve --user root
L'installation et la configuration de Postfix est nécessaire pour pouvoir ensuite installer Proxmox :
apt install postfix -y systemctl restart postfix
apt install -y proxmox-ve open-iscsi chrony
apt remove -y os-prober
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
[Unit] ConditionVirtualization=!container
[Unit] ConditionVirtualization=container
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
Exemple avec l'adresse IP de la distribution qui serait 172.28.38.112/20 :
172.28.38.112 pve pve
nameserver 8.8.8.8
# log journalctl -xe # les services systemctl status pve-cluster
wsl --export pve C:\chemin\vers\pve.tar
wsl --unregister pve
wsl --import nouveaupve C:\nouvel\emplacement C:\chemin\vers\pve.tar