PMX - Configuration en SelfHosting

by Tyleo Dv. Delaware

Share

Prérequis

Machine (SelfHosting)

Ces pré requis sont défini pour une configuration en Auto-hébergement. Ceci n'est pas applicable en entreprise ou l'on préférera des processeurs super-threadés tel que des Intel Xeon 3/5 ou E comme sur les DELL PowerEdge ou HP Proliant.

Type Recommandations
CPU Intel Core i3 ou Celeron J ou superieur, 2cores min. (4threads min.)
RAM 8Gb min. 16Gb+ recommandé, DDR4 (DIMM ou SODIMM) cadence a 1333mhz min.
Disques 256Go et/ou 1To+ pour l'OS et les datas
Arch 64Bits uniquement avec support X86_32
OS Debian 12 / SparkyLinux 7.X
Bootload UEFI et BIOS Legacy gérés

Avant de commencer

PROXMOX fourni une procédure qui n'est adapté qu'aux entreprise. La procédure que j'édite sur cette page est adapté au SelfHosting en dehors de l'entreprise ou dans un HomeLab ou CloudLab (pro ou non).

Ces méthodes sont utilisées dans mon infrastructure et sont réfléchies pour le maintien futur de celle-ci :) donc je vous conseille de la suivre pour votre homelab/cloudlab :D !

Ca commence ici...

1️⃣ Préparation de l'Hôte

Si ce n'est pas fait, choisissez entre deux de ces OS et installez le en formatage complet du système, la LVM Debian respecte bien mieux le stockage local mais préférez le mode EXT4/Une partition :

2️⃣ Configuration de l'Hôte

S'assurer que le nom d'hôte est indiqué dans /etc/hosts tel que :

127.0.0.1       localhost
192.168.100.5       monhotepmx.local

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Vous pouvez ainsi tester avec la commande hostname --ip-address qui confirme que l'IP locale est reconnue.

3️⃣ Installation de PMX/PVE 8

Installer le Dépôt APT Gratuit (sans licence)

  1. Executez ces commandes ajoute le dépôt à l'APT (aprés sudo su -) :
echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-hypervisor.list

Injecter la clé GPG pour ce dépôt

  1. Faire cette commande pour injecter la clé GPG de Proxmox dans APT :
    wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
  2. Puis faire la commande apt update pour mettre à jour l'index.

Mettre à jour le système

  1. Envoyer la mise à jour de l'OS+Packages :
apt update && apt upgrade -y

Installer le Kernel PVE et Redémarrer

  1. Installer le Kernel PVE :
apt install proxmox-default-kernel -y
  1. Redémarrer l'OS :
systemctl reboot

Installer les packages PVE

  1. Installer les paquets :
apt install proxmox-ve postfix open-iscsi chrony

Cela installe :

Nettoyer les Kernel Debian

  1. Pour éviter des surprises, nous nettoyons les kernels de Debian avec la commande suivante :
apt remove linux-image-amd64 'linux-image-6.1*' -y
  1. Mettre à jour le Grub :
update-grub
  1. Retirer OS-Prober (sécurité) :
apt remove os-prober -y

Tester l'installation

  1. Naviguer sur https://your-ip-address:8006/ pour tester l'interface web. Le port ne devrais pas être changé. L'exposition web est possible (Schéma HTTPS, Port 8006) mais devrais être fait qu'aprés avoir renforcer les éléments suivants :

4️⃣ Configurer le réseau virtuel de base

PROXMOX ne gère, par défaut, pas le réseau virtuel local. Sur du SelfHosting, il est préféré d'avoir un (ou plusieurs) réseau(x) local(aux) et d'exposer les applications ou interfaces web cockpit via une gateway NPM (Reverse Proxy) installé sur l'Hôte. Voici comment créer vmbr0 en tant que réseau virtuel NAT interne :

  1. Naviguer dans /etc/network
  2. Copier le fichier interfaces vers interfaces.bak (avec cp)
  3. Le fichier ressemble d'abord a ceci (ou équivalent) :
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
  1. Ajouter l'interface virtuelle vmbr0 initiale (qui porte l'IP principale et fera passer notre premier réseau virtuel NAT)(En changeant les valeurs pour votre réseau local) :
auto vmbr0
iface vmbr0 inet static
	address 192.168.100.5/24 # Mettre /30 pour une IP publique de CloudProvider comme OVHCloud par exemple
	gateway 192.168.100.1 # Livebox-BBox-SFR : X.X.X.1 / Freebox : X.X.X.254 / CloudProvider : Faire ip a avant et trouver "gateway"
	bridge-ports eno1
	bridge-stp off
	bridge-fd 0
#$ 192.168.100.5 | Commentaire Visible sur PMX
  1. Créer votre premier réseau virtuel NAT local, l'IP devrais être 10.X.X.X/24, mais il est possible de créer un /16 par exemple. Ici on préfère un /24 (256 IPs) sur vmbr1 dirigé vers vmbr0 :
auto vmbr1
iface vmbr1 inet static
	address 10.0.0.1/24
	bridge-ports none
	bridge-stp off
	bridge-fd 0
	post-up echo 1 > /proc/sys/net/ipv4/ip_forward
	post-up iptables -t nat -A POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE
	post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE
#$ 10.0.0.0/24 | Premier réseau Virtuel NAT
  1. Activer les réseaux, en fait c'est simple a faire sans reboot, il suffit, dans l'interface web, sur la partie "Networks" ou "Réseaux" de l'Hôte, de modifier le commentaire sur chaque vmbr, puis cocher "auto" sur l'interface principal. Puis faire "Appliquer la configuration" en haut. Cela active vmbr0,vmbr1 et filtre l'interface principale.

5️⃣ Configurer le stockage

Ce schéma est conçu pour une installation personnelle, auto hébergé ou cloud hébergé.
le /data peut être positionné sur un disque externe (non conseillé), interne direct (NVME) ou interne système. Le meilleure montage étant interne direct (disque autonome de 1To par exemple).

Schéma de montage/dossiers

Montage Usage Service Concerné
/data Montage principal Général
/data/pmx Dossier de stockage de l'hyperviseur PMX
/data/pmx/ct-data Dossier pour les disques de conténaires CT/LXC PMX - CT
/data/pmx/ct-mods Dossier pour les modèles de conténaires CT/LXC PMX - CT
/data/pmx/vm-data Dossier pour les disques des machines virtuelles PMX - VM
/data/pmx/vm-iso Dossier pour les fichiers ISO PMX - VM
/data/pmx/ct-backup Sauvegarde Locale pour CT PMX - CT
/data/pmx/vm-backup Sauvegarde Locale pour VM PMX - VM
/data/store Dossier des données des CT (voir page dédié pour utiliser ce dossier) Stockage Données Applis Invités CT-VM
/data/host Dossier des données d'applications sur l'hôte si besoin (comme un proxy NPM) Stockage Données Applis Hôte

Paramétrage dans PVE

Pour limiter l'usage des stockages a leurs usages réels, il faut définir les type de données autorisés sur chacun des stockages créés dans PVE.

Créer un stockage

Aprés avoir faire Ajouter > Directory :


Dans l'exemple, il s'agit de CT-DATA, ou il faut limiter le stockage a "Conteneur". Cela permet de ne permettre que le stockage des disques des CT. Voici comment configurer tout les stockages du schéma, les 6 stockages :

Stockage Autorisations
ct-data Conteneur
ct-mods Modèle de conteneur
ct-backup VZDump
vm-data Image disque
vm-iso Image ISO
vm-backup Fichier de sauvegarde