Table des matières
Installation de Proxmox avec WSL
Installation de la distribution Debian de WSL avec le nom pve
- installer WSL et la distribution Debian en la renommant pve en tant qu'administrateur 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% ] Debian GNU/Linux a été installé. L’opération demandée est réussie. Les modifications ne seront pas effectives avant que le système ne soit réamorcé.
- redémarrage de Windows si c'est la première installation de WSL
- vérifier la présence de la distribution pve (distribution installée mais stoppée):
PS/> wsl -l -v
Modifier la configuration de WSL
Créez / modifiez le fichier de configuration WSL de l'utilisateur (%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] :
[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
- définissez le compte utilisateur sio et son mot de passe Sio1234*
- passer root et changer le mot de passe car il devra être utilisé pour se connecter à l'interface d'administration de Proxmox
# Passer en root $ sudo -i # Définir le mot de passe du compte root. Nécessaire pour se logger à 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érifier dans le fichier /etc/wsl.conf la présence de la ligne suivante dans la rublique boot:
[boot] systemd=true
Depuis Powershell, fermez puis relancer la distribution WSL Debian
PS> wsl.exe --shutdown PS> wsl -d pve
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
Modification manuelle du fichier /etc/hosts (ou bien voir ci-après pour une modification automatique)
- 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 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 172.28.38.112/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 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
- activer le service
chmod +x /usr/local/bin/pvepreup.sh systemctl daemon-reload systemctl enable pvepreup systemctl status pvepreup
Tests
- tester si votre configuration est correcte à l’aide de la commande hostname :
# 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
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
apt install postfix
Installer Proxmox
Lancer l'installation depuis un shell root
apt install -y proxmox-ve open-iscsi chrony
Recommended: Remove the os-prober Package The os-prober package scans all the partitions of your host to create dual-boot GRUB entries. But the scanned partitions can also include those assigned to virtual machines, which one doesn't want to add as boot entry.
If you didn't install Proxmox VE as dual boot beside another OS, you can safely remove the os-prober package:
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:
PS> wsl --shutdown # If you need to reboot PS> wsl -d pve --user 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
Créer un pont (bridge) vmbr0 avec du NAT pour les conteneurs LXC et les VM
Il est nécessaire de créer des ponts (bridge) ou switch virtuel pour la connexion réseau des conteneurs LXC et des VM de Proxmox.
Proxmox permet alors de réaliser des infrastructures réseaux basées sur plusieurs VLAN en associant un pont (bridge) distinct à chaque VLAN.
Pour permettre à des conteneurs LXC ou des VM d'accéder au réseau local et ensuite à Internet, vous devez créer un bridge avec le plan d'adressage de votre choix et configurer du NAT avec iptables :
Créer un bridge vmbr0 dans Proxmox en configurant du NAT avec iptables
Accéder aux conteneurs LXC et aux VM depuis l'hôte Windows
Les conteneurs LXC et les VM qui utilisent un pont (bridge) avec du NAT, accèdent au réseau local et à Internet.
Pour que ces conteneurs LXC et VM soient accessible depuis votre hôte Windows, ajoutez une route statique persistante à Windows en tant qu'administrateur en utilisant les informations suivantes :
- l'adresse IP de la distribution pve (pour exemple 172.28.32.112) : ce sera la passerelle pour accéder au réseau des conteneurs LXC et des VM.
- l'adresse de réseau du pont (bridge) (pour exemple vmbr0 avec l'adresse réseau 10.0.0.0/24)
route -p add 10.0.0.0/24 172.28.32.112
Debogage
# 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