Aller au contenu

« Proxmox Linux (VM IOMMU analyse-hardware) » : différence entre les versions

De Marmits Wiki
Page créée avec « = 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 == <syntaxhighlight lang="bash">sudo... »
 
Ligne 271 : Ligne 271 :
== Voir le driver utilisé par les NICs ==
== Voir le driver utilisé par les NICs ==


<syntaxhighlight lang="bash">lspci -nnk | grep -A3 Ethernet</syntaxhighlight>
<syntaxhighlight lang="bash" copy>lspci -nnk | grep -A3 Ethernet</syntaxhighlight>
Exemple :
Exemple :


<syntaxhighlight lang="text">Kernel driver in use: igc</syntaxhighlight>
<syntaxhighlight lang="text" copy>Kernel driver in use: igc</syntaxhighlight>
ou :
ou :


<syntaxhighlight lang="text">Kernel driver in use: vfio-pci</syntaxhighlight>
<syntaxhighlight lang="text" copy>Kernel driver in use: vfio-pci</syntaxhighlight>


-----
-----
Ligne 283 : Ligne 283 :
== Voir les bridges Linux Proxmox ==
== Voir les bridges Linux Proxmox ==


<syntaxhighlight lang="bash">bridge link</syntaxhighlight>
<syntaxhighlight lang="bash" copy>bridge link</syntaxhighlight>


-----
-----
Ligne 289 : Ligne 289 :
== Voir le mapping NIC ↔ PCI ==
== Voir le mapping NIC ↔ PCI ==


<syntaxhighlight lang="bash">ls -l /sys/class/net</syntaxhighlight>
<syntaxhighlight lang="bash" copy>ls -l /sys/class/net</syntaxhighlight>
Très utile pour :
Très utile pour :



Version du 8 mai 2026 à 17:39

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).