====== 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 =====
Création / modification du fichier
%UserProfile%\.wslconfig
^ Paramètre ^ Valeur par défaut de WSL ^ Valeur utilisée pour WSL ^
|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 ====
Le fichier de configuration WSL de l'utilisateur (%UserProfile%.wslconfig) doit contenir la ligne suivante dans la section [wsl2] :
[wsl2]
networkingMode = 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
* depuis la distribution WSL, instruction pour connaîter l'adresse IP de l'hôte Windows (passerelle de la distribution)
ip route show | grep -i default | awk '{ print $3}'
* l'accès à une application de la distribution se fait depuis l'hôte Windows avec l'adresse localhost ou de l'adresse IP de la distribution.
==== 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 v**1 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 ^
|systemd | support de systemd | garder le support de systemd|
|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.conf**contient 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: 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 ======
* [[reseau:cloud:proxmox:installwsl|Installer Proxmox avec WSL]]