HL-PRC-023 — Proxmox VE — résolution du blocage d’interface réseau Intel e1000e

HOMELAB
Infrastructure auto-hébergée

PROCÉDURE TECHNIQUE

Résolution du blocage matériel de l’interface réseau Intel e1000e sur Proxmox VE

Remédiation du dysfonctionnement « Detected Hardware Unit Hang », désactivation des déchargements matériels (TSO/GSO/GRO), fiabilisation d’ASPM et rétablissement du quorum Corosync.

Référence
HL-PRC-023
Version
1.0
Date d’édition
02/11/2026
Auteur
Administrateur système et réseaux
Classification
Interne
Statut
Validé

Sommaire

Résolution du blocage matériel de l’interface réseau Intel e1000e sur Proxmox VE — HL-PRC-023

1 Objet

Cette procédure formalise les opérations d’investigation technique, de remédiation d’urgence et de fiabilisation pérenne d’une interface réseau physique Gigabit basée sur un contrôleur Intel exploitant le pilote noyau e1000e (interface physique nic0, adresse PCI 0000:00:1f.6) au sein d’un nœud d’hypervision Proxmox Virtual Environment 9.2.11 (pve1). L’intervention répond à l’incident d’instabilité critique survenu sur le nœud où l’interface réseau subit des décrochages cycliques toutes les deux secondes, caractérisés par le message noyau explicite e1000e: Detected Hardware Unit Hang. Cette défaillance matérielle entraîne des micro-coupures continues du lien réseau, l’inaccessibilité du serveur de sauvegarde Proxmox Backup Server (pbs-pve3 sur 10.10.10.12:8007, erreur HTTP 500 / No route to host) ainsi que la rupture brutale du quorum de la grappe Corosync (cfs-lock: no quorum!), paralysant la réplication des machines virtuelles et les tâches planifiées du cluster. À l’issue des actions prescrites, les fonctions d’accélération matérielle et de veille énergétique sont neutralisées, les paramètres d’amorçage du noyau Linux sont consolidés, le lien réseau est stabilisé sans réinitialisation de l’anneau d’émission (TX ring), et le quorum de grappe est rétabli nominalement.

La difficulté principale traitée réside dans la neutralisation d’une anomalie structurelle bien documentée affectant les contrôleurs réseau intégrés grand public et professionnels Intel (notamment séries I217, I218 et I219) sous les noyaux Linux récents. Lors de l’émission de paquets volumineux avec déchargement de segmentation TCP (TSO/GSO) ou lors de micro-transitions d’alimentation sur le bus PCIe (Active State Power Management – ASPM) et la couche physique Ethernet (Energy Efficient Ethernet – EEE), la file d’attente d’émission matérielle subit une désynchronisation fatale entre le pointeur de tête (TDH) et le pointeur de fin de file (TDT). Le chien de garde du pilote (watchdog) détecte que les descripteurs ne sont plus libérés alors que des paquets sont en attente d’envoi (next_to_watch.status <0>), provoquant une réinitialisation violente de la carte toutes les deux secondes. Ces micro-coupures répétées fragmentent le trafic UDP du protocole Corosync, déclenchant une perte de quorum par partitionnement réseau alors même que le voyant physique de l’interface demeure allumé. La présente procédure détaille l’application d’un correctif à chaud sans interruption globale, sa persistance dans la configuration réseau Debian /etc/network/interfaces, l’injection des directives de stabilisation dans le chargeur d’amorçage GRUB, ainsi que la validation de la remise en service opérationnelle des flux de grappe et de sauvegarde.

2 Périmètre et prérequis

Périmètre

Couvert : audit des journaux système et noyau (dmesg, journalctl) sur l’hôte physique pve1 ; désactivation à chaud des déchargements matériels TCP Segmentation Offload (TSO), Generic Segmentation Offload (GSO) et Generic Receive Offload (GRO) via l’utilitaire ethtool sur l’interface nic0 ; neutralisation de la mise en veille de la couche physique Energy Efficient Ethernet (EEE) ; persistance de ces configurations dans le descripteur réseau /etc/network/interfaces ; injection des directives de désactivation de la veille PCIe (pcie_aspm=off) et de gestion d’énergie du pilote (e1000e.SmartPowerDownEnable=0) dans le chargeur d’amorçage GRUB ; redémarrage contrôlé du nœud physique ; vérification de l’absence d’erreurs de descripteurs TX ; contrôle du rétablissement du quorum Corosync et réactivation des accès de stockage vers Proxmox Backup Server.

Hors périmètre : remplacement matériel de la carte mère ou adjonction d’une carte réseau fille dédiée PCIe (ex. Intel I350 ou Mellanox) ; mise à jour du microcode Intel Management Engine (ME) au niveau du BIOS/UEFI constructeur ; modification de l’unité maximale de transmission (MTU) au-delà du standard 1500 octets ; restructuration globale de la topologie réseau du cluster ou du plan de pontage virtuel vmbr0.

Prérequis

• Accès privilégié direct : session de terminal ouverte en compte root sur le nœud pve1 via console physique, IPMI/iKVM ou session SSH sécurisée, sans recours à la commande sudo.

• Disponibilité des utilitaires d’administration : présence des utilitaires ethtool, pvecm, pvesm, sed et update-grub sur le système d’exploitation de base Debian.

• Sauvegarde préalable des fichiers d’infrastructure : conservation d’une copie miroir des fichiers /etc/network/interfaces et /etc/default/grub avant toute édition en place.

• Disponibilité des partenaires de grappe : nœuds de virtualisation pve2 et pve3 en ligne et joignables sur le sous-réseau d’administration pour valider la reformation du quorum.

Note Version validée. Procédure rédigée et validée sur le lab le 02/11/2026 sous Proxmox Virtual Environment 9.2.11 (Debian 13.7, noyau Linux PVE 6.8/7.0). Les commandes, paramètres, chemins de fichiers et diagnostics d’erreur sont strictement conformes au matériel et aux configurations réelles de la grappe de virtualisation.

3 Rôles et responsabilités

RôleResponsabilité
AdministrateurAnalyse les journaux noyau, applique les ajustements ethtool à chaud, configure la persistance sous /etc/network/interfaces et GRUB, orchestre le redémarrage et valide le quorum.
Détenteur des secretsGarde sous séquestre les clés de chiffrement privilégiées du cluster Corosync et veille à l’intégrité des accès d’infrastructure sans divulgation d’identifiants.
ExploitantConsigne l’incident dans le registre d’exploitation du homelab, supervise l’absence de récidive du blocage dans Zabbix et certifie la reprise des sauvegardes PBS.

Note Homelab individuel. Dans le contexte d’un environnement de laboratoire administré par un intervenant unique, l’ensemble de ces prérogatives est exercé par l’Administrateur système et réseaux. La séparation formelle des rôles garantit la rigueur méthodologique et la traçabilité des actions d’exploitation.

4 Procédure de remédiation et de fiabilisation du pilote e1000e

Paramètres de la procédure

ParamètreDescriptionValeur de référenceContrainte
NODE_NAMENom d’hôte du serveur d’hypervision concernépve1Nœud de grappe actif
IFACE_NAMEIdentifiant de l’interface réseau physique Gigabitnic0Pilote e1000e actif
PCI_ADDRESSEmplacement matériel du contrôleur sur le bus PCIe0000:00:1f.6Bus interne carte mère
PBS_TARGETCible de stockage Proxmox Backup Server distante10.10.10.12:8007Service pbs-pve3 sur pve3
COROSYNC_NETPlan d’adressage IP dédié au cluster et au management10.10.10.0/24VLAN 10 d’administration
INTERFACES_FILEDescripteur de configuration réseau Debian/etc/network/interfacesSyntaxe ifupdown
GRUB_FILEFichier des paramètres par défaut du chargeur d’amorçage/etc/default/grubGénération grub.cfg

Attention Substitution des paramètres. Les commandes présentées dans les étapes suivantes incorporent directement les valeurs de référence réelles du laboratoire (pve1, nic0, 10.10.10.12). En cas d’application sur un nœud d’infrastructure différent ou sur une interface physique alternative (ex. eth0, eno1), substituer scrupuleusement les désignations avant exécution.

Inventaire technique et diagnostic du blocage

Composant / ÉlémentCaractéristique opérationnelleRôle / Localisation
Puce contrôleur EthernetIntel Ethernet Connection I219-V / I219-LMContrôleur Gigabit intégré carte mère
Bus PCI et périphérique0000:00:1f.6 (Vendor:Device 8086:15b8)Bus PCIe interne sud de la carte mère
Module noyau Linuxe1000e (in-tree Linux Kernel)Pilote réseau officiel noyau Proxmox
Signature du blocageDetected Hardware Unit Hang (TDH 21, TDT 8d)Désynchronisation anneau d’émission TX
Fréquence de réinitialisationIntervalles réguliers de 2 secondesDéclenchement du chien de garde watchdog
Conséquence sur la grappecfs-lock 'file-replication_cfg' error: no quorum!Isolement Corosync et blocage des jobs
Conséquence sur la sauvegarde500 Can't connect to 10.10.10.12:8007Rupture de connectivité vers pbs-pve3

Étapes

1. Consulter les journaux système et caractériser le blocage matériel

Avant toute intervention, il est primordial de confirmer la signature exacte de l’incident au sein du journal des événements du noyau. L’apparition répétée du message Hardware Unit Hang toutes les deux secondes atteste que l’anneau de transmission est bloqué et réinitialisé en boucle par le watchdog du pilote e1000e.

Recherche des occurrences d erreur du pilote e1000e dans le journal noyau
dmesg -T | grep -E "e1000e.*Hardware Unit Hang" | tail -n 15

Contrôle des paramètres actuels du pilote et des statistiques matérielles
ethtool -i nic0
ethtool -S nic0 | grep -E "tx_hung|rx_no_buffer_count"

La sortie de dmesg doit faire apparaître les lignes nic0: Detected Hardware Unit Hang avec les registres TDH et TDT. La commande ethtool -i nic0 confirme que le pilote en service est bien e1000e.

2. Désactiver à chaud les déchargements matériels TSO, GSO, GRO et le mode EEE

Le déchargement de segmentation TCP (TSO/GSO) délègue le découpage des trames au contrôleur matériel Intel. Sur les puces I219, ce traitement combiné à la mise en veille énergétique Ethernet (EEE) sature le buffer DMA d’émission. Désactiver ces fonctions à chaud via ethtool confie la segmentation au processeur hôte et élimine instantanément le blocage sans nécessiter de redémarrage immédiat.

Désactivation immédiate des accélérations d émission et de réception
ethtool -K nic0 tso off gso off gro off

Désactivation de la mise en veille de la couche physique Energy Efficient Ethernet
ethtool –set-eee nic0 eee off

Vérification de la prise en compte immédiate des réglages de déchargement
ethtool -k nic0 | grep -E "(tcp-segmentation-offload|generic-segmentation-offload|generic-receive-offload):"

Les lignes inspectées doivent afficher explicitement tcp-segmentation-offload: off, generic-segmentation-offload: off et generic-receive-offload: off. Dès cet instant, les messages Hardware Unit Hang cessent d’apparaître dans le flux dmesg.

3. Pérenniser la configuration d’interface dans /etc/network/interfaces

Sous Debian / Proxmox VE, les modifications appliquées par ethtool sont volatiles et disparaissent lors du redémarrage du système ou du rechargement de la pile réseau. L’injection de directives post-up au niveau de la strophe physique de nic0 garantit leur application systématique lors du montage de l’interface, préalablement à son rattachement au commutateur virtuel vmbr0.

Attention Intégrité du fichier interfaces. Toute anomalie de syntaxe dans /etc/network/interfaces peut isoler l’hyperviseur du réseau local. Réaliser impérativement une sauvegarde du fichier avant toute édition.

Création d une copie miroir de sauvegarde de la configuration réseau
cp /etc/network/interfaces /etc/network/interfaces.bak

Contrôle de la définition existante de l interface physique nic0
grep -A 3 "iface nic0" /etc/network/interfaces

Ajout des directives post-up de fiabilisation ethtool sous iface nic0
sed -i '/iface nic0 inet manual/a \ post-up /usr/sbin/ethtool -K nic0 tso off gso off gro off\n post-up /usr/sbin/ethtool –set-eee nic0 eee off' /etc/network/interfaces

Validation visuelle de la configuration injectée
grep -A 4 "iface nic0" /etc/network/interfaces

Le fichier /etc/network/interfaces doit comporter sous iface nic0 inet manual les deux lignes post-up /usr/sbin/ethtool -K nic0 tso off gso off gro off et post-up /usr/sbin/ethtool –set-eee nic0 eee off.

4. Désactiver la veille PCIe ASPM et la gestion d’énergie du pilote dans GRUB

Les pannes de l’anneau d’émission sont également provoquées par les transitions d’état basse consommation du bus PCI Express (Active State Power Management – ASPM). Lorsque le lien PCIe passe en état de veille L1/L0s, le contrôleur ne traite plus les interruptions d’émission dans les délais impartis. L’injection des options noyau pcie_aspm=off et e1000e.SmartPowerDownEnable=0 au niveau du chargeur d’amorçage assure un maintien permanent du lien PCIe en état d’éveil complet.

Sauvegarde préalable du fichier de configuration GRUB
cp /etc/default/grub /etc/default/grub.bak

Affichage des arguments noyau actuels
grep "GRUB_CMDLINE_LINUX_DEFAULT" /etc/default/grub

Injection des directives de stabilisation ASPM et pilote e1000e
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="pcie_aspm=off e1000e.SmartPowerDownEnable=0 /' /etc/default/grub

Mise à jour de la configuration de démarrage GRUB
update-grub

La commande update-grub doit régénérer le fichier /boot/grub/grub.cfg sans erreur et confirmer l’intégration des nouvelles images noyau.

5. Redémarrer le serveur et contrôler la persistance matérielle et noyau

Le redémarrage contrôlé de l’hôte d’hypervision valide la bonne prise en compte des paramètres de ligne de commande noyau par le chargeur d’amorçage et certifie que les directives réseau post-up sont convenablement appliquées lors de l’initialisation de systemd.

Redémarrage ordonné de l hôte pve1
systemctl reboot

Après reconnexion SSH : vérification des paramètres de la ligne de commande noyau
cat /proc/cmdline | grep -E "pcie_aspm=off|SmartPowerDownEnable=0"

Contrôle des attributs réels de l interface après le démarrage
ethtool -k nic0 | grep "tcp-segmentation-offload:"
ethtool --show-eee nic0 | grep "EEE status:"

La ligne de commande active sous /proc/cmdline doit comporter les options injectées. La commande ethtool doit confirmer tcp-segmentation-offload: off et EEE status: disabled.

6. Rétablir et valider le quorum Corosync et la connectivité Proxmox Backup Server

Une fois l’interface réseau physique stabilisée, il convient de certifier que le nœud pve1 a rejoint le consensus de la grappe Proxmox VE, que le quorum Corosync est rétabli et que les liaisons de stockage vers l’instance PBS hébergée sur pve3 sont pleinement fonctionnelles.

Contrôle de l état du quorum de la grappe Proxmox
pvecm status

Contrôle de l accessibilité et du statut du stockage distant PBS
pvesm status --storage pbs-pve3

Vérification de l absence de verrous résiduels sur les fichiers de tâches
systemctl status pvescheduler pvestatd

La commande pvecm status doit afficher Quorate: Yes avec les 3 nœuds votants actifs. Le stockage pbs-pve3 doit présenter le statut active, et les démons pvescheduler et pvestatd doivent fonctionner sans rapporter d’erreur de quorum ou de délai dépassé.

Retour arrière

Situation constatéeAction corrective
Perte totale de connectivité réseau après modification de /etc/network/interfacesAccéder au serveur via la console physique ou IPMI/KVM, restaurer la copie de sauvegarde (cp /etc/network/interfaces.bak /etc/network/interfaces) et recharger la pile réseau avec ifreload -a ou systemctl restart networking.
Refus d’amorçage ou instabilité noyau suite aux options ASPM dans GRUBSélectionner l’option de démarrage précédente dans le menu GRUB, restaurer le fichier par défaut (cp /etc/default/grub.bak /etc/default/grub), puis réexécuter update-grub.
Dégradation de débit réseau constatée sur flux massifs inter-VMSi la désactivation de TSO sature le CPU hôte lors de transferts multi-gigabits, réactiver temporairement avec ethtool -K nic0 tso on gso on et planifier l’installation d’une carte réseau PCIe dédiée serveur (Intel I350 ou X520).

Pièges connus

Symptôme exactCause techniqueRésolution validée
e1000e: Detected Hardware Unit Hang (TDH 21, TDT 8d)Désynchronisation interne du buffer DMA d’émission lors de flux TCP volumineux combinés à la gestion d’énergie ASPM / EEE.Désactiver TSO, GSO, GRO et EEE via ethtool, rendre la directive persistante sous /etc/network/interfaces et ajouter pcie_aspm=off dans GRUB.
replication: cfs-lock 'file-replication_cfg' error: no quorum!Le battement régulier de l’interface nic0 toutes les 2 secondes bloque les pulsations UDP Corosync, rompant le consensus de grappe.Stabiliser le pilote réseau ; le quorum se reforme automatiquement dès que les échanges UDP reprennent de façon continue.
pbs-pve3: error fetching datastores – 500 Can't connect (No route to host)La pile réseau noyau désactive momentanément les routes ARP et les sockets TCP lors de la réinitialisation de nic0.La stabilisation de la carte supprime les réinitialisations matérielles et rétablit instantanément les connexions TCP 8007 vers le stockage PBS.

5 Intégration réseau

Identité et adressage du nœud d’hypervision

Élément d’identitéValeur d’exploitationCommentaire / Rôle
Nom d’hôte (Hostname)pve1Premier nœud de la grappe de virtualisation
Adresse IP de gestion10.10.10.11 /24Interface logique d’administration sur VLAN 10
Interface physiquenic0 (0000:00:1f.6)Contrôleur intégré Gigabit Intel I219
Commutateur virtuel PVEvmbr0 (pont Linux)Pont d’agrégation réseau reliant nic0 aux VM
Passerelle par défaut10.10.10.1Pare-feu de routage périmétrique Juniper SRX300
Serveur DNS primaire10.10.10.10Résolveur DNS local d’infrastructure Technitium

Flux réseau associés et dépendances de grappe

Protocole / PortSourceDestinationFinalité d’exploitation
UDP 5405-5407pve1 (10.10.10.11)pve2, pve3 (10.10.10.0/24)Trafic de consensus et synchronisation Corosync
TCP 8007pve1 (10.10.10.11)pve3 (10.10.10.12)Flux de sauvegarde et d’API Proxmox Backup Server
TCP 8006Postes d’administrationpve1 (10.10.10.11)Console Web GUI d’administration Proxmox VE
TCP 22Postes d’administrationpve1 (10.10.10.11)Accès sécurisé en ligne de commande SSH
TCP 60000-60050pve1 (10.10.10.11)pve2, pve3 (10.10.10.0/24)Canaux de migration à chaud de machines virtuelles

6 Durcissement et sécurité

• Préservation du quorum et prévention du split-brain : la stabilité de la liaison réseau physique est vitale pour Corosync ; éviter absolument les micro-coupures qui conduisent à un isolement artificiel du nœud et risquent de générer des corruptions d’accès concurrents.

• Sauvegarde systématique des configurations d’amorçage : toute modification sur /etc/network/interfaces ou /etc/default/grub doit être précédée d’une copie miroir pour prévenir tout blocage de démarrage lors d’interventions d’urgence.

• Maîtrise de la charge CPU hôte : la désactivation de TSO reporte la segmentation des paquets sur les cœurs CPU du processeur hôte. Sur un lien Gigabit (1 Gbps), ce surcoût CPU reste faible ; il rétablit la stabilité du lien sans garantie absolue d’absence de récidive matérielle.

• Contrôle des accès privilégiés : l’administration des paramètres matériels et réseau bas niveau s’opère exclusivement sous session root authentifiée par clé cryptographique protégée.

Dettes techniques

Point techniqueImpact potentielÉtat / Arbitrage
Utilisation d’une puce Intel grand public (I219) en hypervisionSensibilité accrue aux instabilités de microcode et aux anomalies de gestion d’énergie sous Linux.Accepté en homelab ; prévoir à moyen terme une carte réseau PCIe serveur dédiée (Intel I350).
Liaison Corosync unique mutualisée avec le trafic de donnéesTout incident sur nic0 isole le cluster Corosync faute de second anneau redondant (Ring 1).Dette acceptée liée au port physique unique ; à traiter par l’adjonction d’un second lien physique dédié.
Version de microcode Intel ME non mise à jourRisque résiduel de comportement anormal de l’interface lors de mises à niveau majeures du noyau Linux.À planifier lors de la prochaine fenêtre de maintenance du BIOS de la carte mère de pve1.

7 Vérifications finales

Contrôle opérationnelCritère d’acceptation mesurableStatut
Désactivation de l’accélération TSOethtool -k nic0 | grep "tcp-segmentation-offload:" retourne explicitement "off"☐
Désactivation de l’accélération GSOethtool -k nic0 | grep "generic-segmentation-offload:" retourne explicitement "off"☐
Désactivation du mode veille EEEethtool –show-eee nic0 retourne explicitement "EEE status: disabled"☐
Persistance /etc/network/interfaces validéegrep -E "tso off" /etc/network/interfaces confirme la présence de la directive post-up☐
Paramètres noyau ASPM appliquéscat /proc/cmdline contient les chaînes "pcie_aspm=off" et "e1000e.SmartPowerDownEnable=0"☐
Disparition des erreurs dans dmesgdmesg | grep -i "Detected Hardware Unit Hang" ne retourne aucun nouvel événement☐
Rétablissement du quorum Corosyncpvecm status affiche "Quorate: Yes" avec 3 nœuds votants actifs et connectés☐
Accès au stockage distant PBS rétablipvesm status affiche le datastore "pbs-pve3" avec le statut "active"☐
Démons Proxmox opérationnels sans erreursystemctl is-active pvescheduler pvestatd retourne "active" sans erreur cfs-lock☐

8 Références et historique des révisions

Documentation éditeur

• Proxmox Server Solutions GmbH : Proxmox VE Administration Guide 9.x — Cluster Network Configuration, Corosync requirements and network bridging.

• Linux Kernel Organization : Intel Gigabit Ethernet (e1000e) Driver Subsystem — Driver architecture, watchdog mechanism and Hardware Unit Hang workarounds (2026).

• Intel Corporation : Intel Ethernet Connection I219 Datasheet and Specification Update — Silicon errata on TX DMA descriptor handling and ASPM L1 sub-states (2026).

• Debian Project : Debian Network Configuration Manual — Interface post-up directives and ethtool hardware acceleration tuning.

Documents associés

• HL-PRC-001 : Mise en service du pare-feu Juniper SRX300 (passerelle 10.10.10.1 du VLAN 10).

• HL-PRC-002 : Configuration du commutateur Cisco SF302-08PP (brassage physique des liens Gigabit de la grappe).

• HL-PRC-003 : Mise en service de la grappe Proxmox à trois nœuds (architecture pve1, pve2, pve3).

• HL-PRC-009 : Proxmox Backup Server sur hôte Proxmox VE (contexte du stockage pbs-pve3 sur pve3).

• HL-PRC-010 : Zabbix Agent — Supervision des nœuds Proxmox VE (remontée des alertes de lien réseau).

• HL-PRC-013 : Déverrouillage et reprise d’intégrité d’un conteneur LXC sur Proxmox VE.

Historique des révisions

VersionDateAuteurModifications
1.002/11/2026Administrateur système et réseauxCréation de la procédure suite à l’incident de blocage cyclique Hardware Unit Hang du pilote e1000e sur pve1.
Défiler vers le haut