Proxmox setup de base

Proxmox setup de base

Nicolas Schmid Lv3

Configurations à effectuer avant d’utiliser Proxmox dans un homelab

Dépôts APT Community

Pour utiliser Proxmox sans abonnement, supprimer les dépôts Enterprise inutiles :

1
2
rm /etc/apt/sources.list.d/ceph.sources
rm /etc/apt/sources.list.d/pve-enterprise.sources

Ajouter ensuite le dépôt APT Community :

1
nano /etc/apt/sources.list.d/pve-no-subscription.sources

Contenu :

1
2
3
4
5
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg

Mettre ensuite le système entièrement à jour :

1
apt update && apt full-upgrade -y && apt autoremove -y && apt autoclean

Optimisation ZFS sous Proxmox

Désactiver atime

Désactiver atime afin d’éviter l’écriture inutile des timestamps d’accès à chaque lecture :

1
zfs set atime=off rpool

Upload des ISO

Si l’upload ne fonctionne pas via la WebUI, il est possible de copier directement les ISO dans le répertoire suivant :

1
/var/lib/vz/template/iso

PCI Passthrough & VFIO

Toutes les étapes nécessaires pour passer proprement un périphérique PCI Express à une machine virtuelle.

Activer l’IOMMU via cmdline

Modifier les paramètres de démarrage :

1
nano /etc/kernel/cmdline

Contenu du fichier avec l’IOMMU activé :

1
root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction

Rafraîchir le bootloader :

1
proxmox-boot-tool refresh

Activer l’IOMMU via GRUB

Modifier les paramètres de démarrage :

1
nano /etc/default/grub

Contenu du fichier avec l’IOMMU activé :

1
2
3
4
5
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`( . /etc/os-release && echo ${NAME} )`
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt"

Mettre à jour GRUB :

1
update-grub

Activer les modules VFIO

Sous Proxmox VE 9.2 :

1
nano /etc/modules-load.d/modules.conf

Contenu :

1
2
3
4
5
6
7
8
9
# /etc/modules is obsolete and has been replaced by /etc/modules-load.d/.
# Please see modules-load.d(5) and modprobe.d(5) for details.
#
# Updating this file still works, but it is undocumented and unsupported.

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

Associer les périphériques PCIe au module VFIO

Cette étape permet de forcer l’utilisation des pilotes VFIO au démarrage et d’empêcher le chargement des pilotes par défaut.

Identifier les identifiants PCI :

1
lspci -nn

Exemple avec une carte graphique NVIDIA et plusieurs SSD NVMe Samsung :

1
2
3
4
5
6
7
8
99:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU116 [GeForce GTX 1660 SUPER] [10de:21c4] (rev a1)
99:00.1 Audio device [0403]: NVIDIA Corporation TU116 High Definition Audio Controller [10de:1aeb] (rev a1)
99:00.2 USB controller [0c03]: NVIDIA Corporation TU116 USB 3.1 Host Controller [10de:1aec] (rev a1)
99:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU116 USB Type-C UCSI Controller [10de:1aed] (rev a1)

2d:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller PM9C1a (DRAM-less) [144d:a80d]
2e:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller PM9C1a (DRAM-less) [144d:a80d]
2f:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller PM9C1a (DRAM-less) [144d:a80d]

Ajouter les identifiants dans la configuration VFIO.

⚠️ Attention : dans cet exemple, tous les SSD NVMe possèdent le même identifiant (144d:a80d). Ils seront donc tous associés au pilote VFIO.

1
nano /etc/modprobe.d/vfio.conf

Contenu :

1
options vfio-pci ids=10de:21c4,10de:1aeb,10de:1aec,10de:1aed,144d:a80d

Redémarrer Proxmox puis vérifier le pilote utilisé :

1
lspci -k

Exemple :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
99:00.0 VGA compatible controller: NVIDIA Corporation TU116 [GeForce GTX 1660 SUPER] (rev a1)
Subsystem: ASUSTeK Computer Inc. Device 8752
Kernel driver in use: vfio-pci
Kernel modules: nvidiafb, nouveau, nova_core

99:00.1 Audio device: NVIDIA Corporation TU116 High Definition Audio Controller (rev a1)
Subsystem: ASUSTeK Computer Inc. Device 8752
Kernel driver in use: vfio-pci
Kernel modules: snd_hda_intel

99:00.2 USB controller: NVIDIA Corporation TU116 USB 3.1 Host Controller (rev a1)
Subsystem: ASUSTeK Computer Inc. Device 8752
Kernel driver in use: vfio-pci
Kernel modules: xhci_pci

99:00.3 Serial bus controller: NVIDIA Corporation TU116 USB Type-C UCSI Controller (rev a1)
Subsystem: ASUSTeK Computer Inc. Device 8752
Kernel driver in use: vfio-pci
Kernel modules: i2c_nvidia_gpu

2d:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9C1a (DRAM-less)
Subsystem: Samsung Electronics Co Ltd Device a801
Kernel driver in use: vfio-pci
Kernel modules: nvme

2e:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9C1a (DRAM-less)
Subsystem: Samsung Electronics Co Ltd Device a801
Kernel driver in use: vfio-pci
Kernel modules: nvme

2f:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9C1a (DRAM-less)
Subsystem: Samsung Electronics Co Ltd Device a801
Kernel driver in use: vfio-pci
Kernel modules: nvme

Blacklister les pilotes inutiles

Pour une carte graphique NVIDIA passée en VFIO, ces pilotes ne sont généralement plus nécessaires :

1
nano /etc/modprobe.d/blacklist.conf

Contenu :

1
2
3
blacklist nouveau
blacklist nvidia
blacklist nvidiafb

Reconstruire l’initramfs :

1
rebuild initramfs

Optimisations réseau VirtIO

Quelques recommandations pour atteindre les meilleures performances réseau avec des VM utilisant VirtIO ou du passthrough VFIO :

  1. Utiliser le pilote VirtIO et éviter les autres modèles de cartes réseau.
  2. Configurer le Multiqueue à 8 ou 16 selon le nombre de cœurs du CPU hôte.
  3. Utiliser un MTU 9000 sur les bridges et interfaces réseau, particulièrement pour NFS et iSCSI.
  4. Augmenter les buffers TCP maximum :
1
2
3
4
net.core.rmem_max=134217728
net.core.wmem_max=134217728
net.ipv4.tcp_rmem=4096 87380 134217728
net.ipv4.tcp_wmem=4096 65536 134217728
  1. Configurer le serveur NFS avec 32 threads au lieu du mode automatique.
  • Title: Proxmox setup de base
  • Author: Nicolas Schmid
  • Created at : 17.06.2026 07:36:00
  • Updated at : 17.06.2026 08:00:52
  • Link: https://doc.spacesdata.net/2026/06/17/Proxmox-setup-de-base/
  • License: This work is licensed under CC BY-NC-SA 4.0.