« Proxmox Linux (VM IOMMU analyse-hardware) » : différence entre les versions
Apparence
| (6 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 16 : | Ligne 16 : | ||
== Informations système == | == Informations système == | ||
<syntaxhighlight lang="bash">sudo dmidecode -t system</syntaxhighlight> | <syntaxhighlight lang="bash" copy>sudo dmidecode -t system</syntaxhighlight> | ||
Affiche : | Affiche : | ||
| Ligne 35 : | Ligne 35 : | ||
== Informations BIOS / UEFI == | == Informations BIOS / UEFI == | ||
<syntaxhighlight lang="bash">sudo dmidecode -t bios</syntaxhighlight> | <syntaxhighlight lang="bash" copy>sudo dmidecode -t bios</syntaxhighlight> | ||
Affiche : | Affiche : | ||
| Ligne 72 : | Ligne 72 : | ||
== Informations mémoire RAM == | == Informations mémoire RAM == | ||
<syntaxhighlight lang="bash">sudo dmidecode -t memory</syntaxhighlight> | <syntaxhighlight lang="bash" copy>sudo dmidecode -t memory</syntaxhighlight> | ||
Affiche : | Affiche : | ||
| Ligne 116 : | Ligne 116 : | ||
== Vérifier le chargement microcode Intel/AMD == | == Vérifier le chargement microcode Intel/AMD == | ||
<syntaxhighlight lang="bash">journalctl -k | grep microcode</syntaxhighlight> | <syntaxhighlight lang="bash" copy>journalctl -k | grep microcode</syntaxhighlight> | ||
Permet de voir : | Permet de voir : | ||
| Ligne 130 : | Ligne 130 : | ||
== Vérifier IOMMU / VT-d == | == Vérifier IOMMU / VT-d == | ||
<syntaxhighlight lang="bash">dmesg | grep -e DMAR -e IOMMU</syntaxhighlight> | <syntaxhighlight lang="bash" copy>dmesg | grep -e DMAR -e IOMMU</syntaxhighlight> | ||
Exemple attendu : | Exemple attendu : | ||
| Ligne 154 : | Ligne 154 : | ||
== Liste des périphériques PCI == | == Liste des périphériques PCI == | ||
<syntaxhighlight lang="bash">lspci -nn</syntaxhighlight> | <syntaxhighlight lang="bash" copy>lspci -nn</syntaxhighlight> | ||
Affiche : | Affiche : | ||
| Ligne 176 : | Ligne 176 : | ||
== Affichage simplifié == | == Affichage simplifié == | ||
<syntaxhighlight lang="bash">for d in /sys/kernel/iommu_groups/*/devices/*; do | <syntaxhighlight lang="bash" copy>for d in /sys/kernel/iommu_groups/*/devices/*; do | ||
echo "$(basename $(dirname $d)) → $(lspci -nns ${d##*/})" | echo "$(basename $(dirname $d)) → $(lspci -nns ${d##*/})" | ||
done</syntaxhighlight> | done</syntaxhighlight> | ||
Dernière version du 8 mai 2026 à 17:41
Proxmox / Linux - Virtualisation matérielle, IOMMU et analyse hardware
Ce guide regroupe plusieurs commandes utiles pour :
- analyser le matériel d’un serveur Linux / Proxmox,
- vérifier le support de la virtualisation,
- inspecter les groupes IOMMU,
- préparer du PCI Passthrough (NIC, GPU, NVMe, USB…),
- comprendre la topologie hardware.
Informations système SMBIOS / BIOS
Informations système
sudo dmidecode -t system
Affiche :
- constructeur,
- modèle de machine,
- version,
- UUID,
- informations SMBIOS système.
Utile pour :
- identifier un mini-PC OEM,
- vérifier la plateforme matérielle.
Informations BIOS / UEFI
sudo dmidecode -t bios
Affiche :
- fabricant BIOS,
- version,
- date firmware,
- support UEFI,
- fonctionnalités ACPI.
Permet de :
- vérifier l’ancienneté du firmware,
- identifier un BIOS AMI/UEFI moderne.
Informations carte mère
sudo dmidecode -t baseboard
Affiche :
- constructeur carte mère,
- modèle,
- version,
- contrôleurs onboard.
Utile pour :
- identifier la plateforme exacte,
- vérifier SATA/USB/iGPU onboard.
Informations mémoire RAM
sudo dmidecode -t memory
Affiche :
- taille RAM,
- type (DDR4/DDR5),
- vitesse,
- slots mémoire,
- capacité maximale supportée.
Très utile pour :
- planifier un upgrade RAM,
- vérifier Single/Dual Rank,
- identifier ECC ou non.
Virtualisation CPU
Vérifier le support VT-x / AMD-V
lscpu | grep Virtualization
Exemple :
Virtualization: VT-x
Indique :
- Intel VT-x,
- ou AMD-V.
Nécessaire pour :
- KVM,
- VMs Proxmox,
- virtualisation matérielle.
Microcode CPU
Vérifier le chargement microcode Intel/AMD
journalctl -k | grep microcode
Permet de voir :
- les mises à jour microcode CPU chargées au boot,
- les correctifs sécurité processeur,
- la version microcode active.
IOMMU / VT-d / PCI Passthrough
Vérifier IOMMU / VT-d
dmesg | grep -e DMAR -e IOMMU
Exemple attendu :
DMAR: Intel(R) Virtualization Technology for Directed I/O
Confirme :
- VT-d actif,
- IOMMU actif,
- support PCI Passthrough disponible.
Nécessaire pour :
- passthrough NIC,
- GPU passthrough,
- NVMe passthrough,
- USB controller passthrough.
Analyse PCIe
Liste des périphériques PCI
lspci -nn
Affiche :
- GPU,
- NIC,
- SATA,
- NVMe,
- USB controllers,
- IDs PCI.
Très utile pour :
- identifier les devices passthrough,
- récupérer les IDs PCI.
Analyse rapide des groupes IOMMU
Affichage simplifié
for d in /sys/kernel/iommu_groups/*/devices/*; do
echo "$(basename $(dirname $d)) → $(lspci -nns ${d##*/})"
done
Permet de :
- voir rapidement les périphériques présents dans les groupes IOMMU.
Utile pour :
- identifier si plusieurs devices sont groupés ensemble.
Analyse complète des groupes IOMMU
Affichage détaillé
for g in /sys/kernel/iommu_groups/*; do
echo "IOMMU Group ${g##*/}"
for d in $g/devices/*; do
lspci -nns ${d##*/}
done
echo
done
Commande essentielle pour :
- vérifier l’isolation PCIe,
- préparer du PCI Passthrough.
Exemple
IOMMU Group 14
02:00.0 Ethernet controller
IOMMU Group 15
03:00.0 Ethernet controller
Cela signifie :
- chaque NIC possède son propre groupe IOMMU,
- passthrough individuel possible.
Pourquoi les groupes IOMMU sont importants
Le PCI Passthrough nécessite :
- une isolation matérielle correcte.
Si plusieurs devices sont dans le même groupe :
- ils doivent souvent être passthrough ensemble.
Si chaque device possède son propre groupe :
- passthrough individuel possible.
Cas d’usage courants
| Usage | Nécessite IOMMU |
|---|---|
| GPU Passthrough | Oui |
| NIC Passthrough | Oui |
| NVMe Passthrough | Oui |
| USB Controller Passthrough | Oui |
| OPNsense WAN dédié | Oui |
Commandes complémentaires utiles
Voir le driver utilisé par les NICs
lspci -nnk | grep -A3 Ethernet
Exemple :
Kernel driver in use: igc
ou :
Kernel driver in use: vfio-pci
Voir les bridges Linux Proxmox
bridge link
Voir le mapping NIC ↔ PCI
ls -l /sys/class/net
Très utile pour :
- mapper une interface Linux (
nic1) - vers son périphérique PCI (
03:00.0).