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

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

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 rublique 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] ;

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 :

utiliser l'éditeur nano pour modifier le contenu du fichier /etc/wsl.conf

# nano /etc/wsl.conf

le fichier /etc/wsl.conf doit avoir le contenu suivant :

[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 :

#!/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 :

[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

créez le fichier /etc/resolv.conf pour indiquer l'adresse IP du serveur de nom de votre choix

nameserver 8.8.8.8

La mmise à 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éez ce fichier /etc/resolv.conf pour indiquer l'adresse IP du serveur DNS de votre choix.

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

Ajouter 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 en tant que root (ou utilisez sudo):

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émarrer la distribution pve et se connecter 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 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

Retour accueil Installer Proxmox avec WSL

Installer Proxmox avec WSL