Configuration de l'environnement WSL pour Proxmox

L'installation de Proxmox est faite

en utilisant la distribution Debian de WSL ;

en modifiant le fichier %UserProfile%.wslconfig qui définit l'environnement WSL de l'utilisateur. Cela a une incidence sur toutes les distributions mises en oeuvre par l'utilisateur ;

en modifiant le fichier /etc/wsl.conf spécifique à la distribution Debian utilisée pour installer Proxmox.

Configuration de l'environnement WSL de l'utilisateur

Modification du fichier %UserProfile%.wslconfig :

Paramètre	Valeur par défaut de WSL	Valeur utilisée pour WSL
systemd	support de systemd	garder le support de systemd
Accès réseau	Mode d'accès réseau est NAT (autres modes réseau : Aucun ; Mirrored ; virtioProxy)	NAT
cgroups	mode hybride support des cgroups v1 et cgroups v2)	forcer l'utilisation des cgroups v2

Mode d'accès réseau NAT

L'hôte Windows dispose d'un nouvelle carte virtuelle qui servira de passerelle aux distributions. Cette carte ressemble à :

PS> ipconfig
Carte Ethernet vEthernet (WSL (Hyper-V firewall)) :
Suffixe DNS propre à la connexion. . . :
Description. . . . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter
Adresse physique . . . . . . . . . . . : 00-15-5D-2C-A1-12
DHCP activé. . . . . . . . . . . . . . : Non
Configuration automatique activée. . . : Oui
Adresse IPv6 de liaison locale. . . . .: fe80::ce37:51cb:f536:f230%27(préféré)
Adresse IPv4. . . . . . . . . . . . . .: 172.28.32.1(préféré)
Masque de sous-réseau. . . . . . . . . : 255.255.240.0
Passerelle par défaut. . . . . . . . . :

La distribution reçoit une adresse IP. Pour connaître l'adresse IP de la distribution Debian depuis l'hôte Windows

PS> wsl -d debian hostname -I

Configurer WSL pour utiliser cgroups v2

Les conteneurs LXC de Proxmox utilisent les cgroups. Par défaut, WSL2 fonctionne en mode hybride, c'est-à-dire qu'il prend en charge à la fois les cgroups v1 et les cgroups v2.

Proxmox utilise les cgroups v2 et la configuration par défaut de WSL2 empêche l'utilisation de noVNC pour les conteneurs LXC. Cela affiche le message d'erreur suivant :

Connection failed (Error 500: can't open '/sys/fs/cgroup/blkio//lxc/100/blkio.throttle.io_service_bytes_recursive' - No such file or directory)

Pour forcer WSL2 à passer entièrement aux cgroups v2 (utilisation de noVNC avec les conteneurs LXC ; meilleure intégration avec Systemd ; utilisation des fonctionnalités spécifiques à cgroup v2), il faut modifier le fichier de configuration WSL de l'utilisateur (%UserProfile%wslconfig) en ajoutant ou en modifiant la ligne suivante dans la section [wsl2] :

[wsl2]
kernelCommandLine = systemd.unified_cgroup_hierarchy=1 cgroup_no_v1=all

Configuration de l'environnement de la distribution Debian utilisée pour Proxmox

Modification du fichier /etc/wsl.conf de la distribution Debian :

Paramètre	Valeur par défaut pour la distribution Debian	Valeur utilisée pour la distribution Debian
nom de l'hôte	l'hôte Proxmox reprend l nom du PC	Donner le nom pve (Proxmox Virtual Environment) à l'hôte Proxmox
Accès réseau	WSL utilise NAT pour les distributions	garder le mode NAT de WSL
Adressage IP	WSL modifie l'adresse IP et le serveur DNS à chaque démarrage de la distribution	Désactiver la réécriture de l'adresse IP et du serveur DNS à chaque démarrage de la distribution

Vérifier l'activation de systemd (cela est fait défaut)

WSL prend en charge le gestionnaire de système/service systemd depuis la version 0.67.6+

Pour activer systemd, modifier le fichier /etc/wsl.conf de la distribution avec les droits root, pour ajoutez ces lignes :

[boot]
systemd=true

Fermez ensuite la distribution WSL (wsl.exe –shutdown depuis PowerShell), et redémarrez l'instance WSL.

systemd doit maintenant être en cours d’exécution et cela se vérifie à l’aide de la commande suivante qui affiche l’état des services. :

systemctl list-unit-files --type=service

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, en ajoutant ces lignes au fichier /etc/wsl.conf de la VM Debian avec la création d'une rubrique [network].

pour personnaliser le nom de la distribution afin de l'appeler pve (Proxmox Virtual Environment). Il sera nécessaire de mettre à jour le fichier /etc/hosts en conséqudnce (voir plus loin dans le document).

Le fichier /etc/wsl.confcontient déjà une section [boot] pour activer systemd :

[network]
hostname = pve
generateHosts = false
generateResolvConf = false

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

nameserver 8.8.8.8

prenez connaissance de l'adresse IP de la distribution (ici 192.168.165.155/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:71:da:df brd ff:ff:ff:ff:ff:ff
inet 192.168.165.155/20 brd 192.168.175.255 scope global eth0

mettre à jour le fichier /etc/hosts en ajoutant une entrée pour votre adresse IP du poste 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 adresse IP de la distribution est 192.168.165.155/20 et pour utiliser le nom pve, votre fichier /etc/hosts pourrait ressembler à :

127.0.0.1 localhost
#127.0.0.1 PC-perso. PC-perso
192.168.165.155 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

tester si votre configuration est correcte à l’aide de la commande hostname :

# hostname
pve
# hostname --ip-address
192.168.165.155 # should return your IP address here

Retour accueil Installer Proxmox avec WSL

Installer Proxmox avec WSL