Outils pour utilisateurs

Outils du site


proxmox

Proxmox

Gestionnaire de VM (Virtual Machine) et de CT (ConTainer) via une interface web, qui à défaut d'être sexy est rudement efficace.

Les VM sont gérées par KVM et les CT par LXC. C'est donc du natif Linux, avec des solutions intégrées au noyau, qui est proposé.

Proxmox est un programme qui peut s'installer par dessus une Debian. Cependant, la finalité (héberger des VM et des CT) fait qu'il est plus pertinent d'avoir une machine dédiée à cetet activité. C'est pourquoi Proxmox est également proposé sous forme de distribution Linux : cela installe Debian et Proxmox déjà configuré en même temps.

Proxmox repos

Proxmox propose des dépôts, il y a les dépôts entreprise, dont l'accès nécessite une souscription. Le contenu (à vérifier) semble être un ensemble de paquets applicatifs courants, dont la stabilité est éprouvée.

Il est possible sinon de se contenter de dépôts pve-no-subscription qui contient notamment les paquets Proxmox à jour.

## fichier /etc/apt/sources.list.d/pve-no-subscription.list
 
## PVE 8 sur DEBIAN BOOKWORM
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription

Docker

Proxmox n'offre pas de solution native pour gérer les containers Docker. Le mieux est de passer par une VM, qui se chargera d'héberger un ou des containers Docker.

Nesting

J'ai eu plusieurs soucis avec des CT qui ne fonctionnaient plus correctement après des maj de l'hôte. Il ya une fonction appelée nesting qui résout bcp de problèmes, elle semble activée par défaut dans Proxmox 8.

Sinon on la trouve dans les options des CT, sur la ligne Features, il faut renseigner nesting=1

Doublons (hostname, ip, MAC)

On peut avoir 2 containers avec le même nom (hostname). Pratique si on souhaite réinstaller un nouveau container qui aura la même fonction qu'un déjà existant, et qu'il faudrait maj ou réinstaller tout en conservant l'ancien online le temps de l'installation.

On peut modifier l'ip en live d'un CT. Attention, il semble possible d'avoir 2 CT avec la même ip, de quoi foutre le bazar sur le réseau !

On lit aussi sur internet qu'en clonant des VM (et peut-être aussi des CT) qu'on peut se trouver également avec des doublons de MAC address. Heureusement, on peut changer la MAC depuis l'interface web.

PCI Passthrough

source 1, source 2, source 3

On peut vouloir passer à des VM des contrôleurs hardware de son PC sans que ceux-ci soient virtualisés. Par exemple, un GPU, ou alors un contrôleur SATA pour laisser Truenas accéder directement aux HDD et pouvoir gérer du ZFS proprement, accéder aux fonctions SMART, etc.

Sur des config à base d'intel, des activations manuelles sont à prévoir.

Bios

Dans le bios/uefi, il faut que les options VT-d et VT-x soient activées

Linux : grub

Il faut dire au kernel de Linux que les fonctions IOMMU doivent être activées. ça se passe dans /etc/default/grub

GRUB_CMDLINE_LINUX="intel_iommu=on"

Puis, il faut mettre à jour le grub : update-grub, puis reboot

Linux : systemd

## PAS TESTE ##

ça se passerait dans /etc/kernel/cmdline, où il faut ajouter intel_iommu=on.
Puis ensuite update-initramfs -u, puis reboot.

passthrough

Une autre option du kernel peut être ajoutée si le matériel la supporte (comment vérifier ?) : iommu=pt

Vérifications

Le moyen le plus simple est d'essayer d'ajouter un pci passthrough et voir si l'interface de Proxmox rouspète ou non.

Mais on peut aussi taper qques lignes de commandes, voir https://pve.proxmox.com/wiki/PCI_Passthrough#Verify_IOMMU_is_enabled

bindmount pour un CT LXC

On peut partager un dossier de l'hôte à un container LXC, ça se passe en CLI sur l'hôte :

# Editer le fichier /etc/pve/lxc/xxx.conf et rajouter
#    xxx = ID du container
mp0: /mnt/shared_bindmount,mp=/shared
 
# NOTE : /mnt/shared_bindmount correspond au dossier sur l'hôte
# NOTE : mp=/shared correspond au point de montage sur le CT

Cela peut être utile pour contourner les restrictions de montage d'un dossier SMB/NFS dans un container LXC unprivileged, voir lxc_smb

proxmox.txt · Dernière modification : 2024/08/13 18:59 de luc