Proxmox 主機與虛擬機全部斷網問題排查與解決記錄

Proxmox 主機與虛擬機全部斷網問題排查與解決記錄

關鍵詞:Proxmox、e1000e、板載網卡、斷網、網絡橋接、Hardware Unit Hang、網卡掛死


背景

近期在使用 Proxmox VE 管理服務器時,遇到一個奇怪的問題:每當在某個虛擬機中執行某些操作,主機與所有虛擬機會突然斷網,遠程無法訪問。但回家接上顯示器發現,主機其實并未死機,系統仍在正常運行。

問題反復出現,重啟后可恢復,但一旦操作重復,現象再次出現。


初步判斷

現象歸納:

內容
系統平臺Proxmox VE(基于 Debian)
主板網卡板載 Intel 網卡(驅動為 e1000e
網絡結構Proxmox 橋接網絡(vmbr0enp0s25
觸發條件Rocket.Chat 服務啟動或執行 Workspace 注冊操作
故障表現主機與虛擬機全部斷網,但系統無死機現象

深入排查過程

1. 查看系統日志

使用 journalctldmesg 查詢網絡接口相關信息:

journalctl --since "2025-05-20 15:00" --until "2025-05-20 19:00" > proxmox_net.log
發現如下報錯反復出現:
e1000e 0000:00:19.0 enp0s25: Detected Hardware Unit Hang:TDH                  <d5>TDT                  <fb>next_to_use          <fb>next_to_clean        <d4>...

2. 研判日志含義

e1000e 是 Intel 板載網卡常用的驅動之一,特別是 I217 / I218 / I219 系列芯片。
此類報錯表示網卡在發送數據過程中,硬件 DMA 通道或描述符環發生了死鎖/卡頓,系統層無法恢復,導致網卡功能徹底喪失。


結論:網卡驅動“硬件掛起”導致橋接中斷

結合日志和復現步驟,可以判斷:

  • 板載網卡 e1000e 在突發流量場景下,存在 已知穩定性問題
  • 掛起后不會自動恢復,導致主機與所有橋接的虛擬機全部斷網;
  • 此問題與 Proxmox 無關,而是Linux 內核 + 網卡驅動層面的問題。

解決方案與應對措施

一、立即止血:Watchdog 自動恢復網絡

創建自動檢測網絡并恢復的腳本 /usr/local/bin/net_watchdog.sh

#!/bin/bash
LOG="/var/log/net_watchdog.log"
IFACE="enp0s25"
GATEWAY="192.168.1.1"ping -c 1 -W 2 $GATEWAY > /dev/null 2>&1
if [ $? -ne 0 ]; thenecho "$(date): 網絡斷開,重啟 $IFACE" >> $LOGip link set $IFACE downsleep 2ip link set $IFACE upsystemctl restart networking
fi

加入定時任務(每分鐘執行一次):

crontab -e
* * * * * /usr/local/bin/net_watchdog.sh

二、配置內核參數,禁用節能模式并調整中斷方式

編輯 /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet pcie_aspm=off e1000e.IntMode=1"

更新 grub 并重啟:

update-grub
reboot

解釋:

  • pcie_aspm=off 關閉 PCIe 電源節能模式;
  • e1000e.IntMode=1 強制使用中斷模式,規避多核中斷 bug。

三、長期根治方案:更換獨立網卡

板載 e1000e 網卡在某些場景下難以徹底修復。最穩定可靠的做法是:

選購一塊 Intel 專業級獨立網卡:
  • Intel I210-T1(千兆,單口,強烈推薦)

安裝方式:

  1. 主機關機,插入 PCIe 插槽;
  2. 啟動系統后識別為新網卡(如 enp3s0);
  3. 修改 /etc/network/interfaces,將 vmbr0 綁定到新網卡;
  4. 重啟網絡服務或重啟主機。

經驗教訓:虛擬化環境中,橋接網絡對物理網卡的穩定性要求極高。板載網卡雖方便但不一定可靠,獨立網卡 + 硬件隔離是保障長期穩定運行的關鍵。

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81825.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81825.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81825.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringBoot整合MQTT實戰:基于EMQX構建高可靠物聯網通信,從零到一實現設備云端雙向對話

一、引言 隨著物聯網(IoT)技術的快速發展&#xff0c;MQTT(Message Queuing Telemetry Transport)協議因其輕量級、低功耗和高效的特點&#xff0c;已成為物聯網設備通信的事實標準。本文將詳細介紹如何使用SpringBoot框架整合MQTT協議&#xff0c;基于開源MQTT代理EMQX實現設…

zData X zStorage 為什么采用全閃存架構而非混閃架構?

點擊藍字 關注我們 最近有用戶問到 zData X 的存儲底座 zStorage 分布式存儲為什么采用的是全閃存架構而非混閃架構&#xff1f;主要原因還是在于全閃存架構在性能和可靠性方面具有更顯著的優勢。zData X 的上一代產品 zData 的早期版本也使用了SSD盤作為緩存的技術架構&#x…

Fiddler抓包教程->HTTP和HTTPS基礎知識

1.簡介 有的伙伴可能會好奇&#xff0c;不是講解和分享抓包工具,怎么這里開始講解HTTP和HTTPS協議了。這是因為你對HTTP協議越了解&#xff0c;你就能越掌握Fiddler的使用方法&#xff0c;反過來你越使用Fiddler&#xff0c;就越能幫助你了解HTTP協議。 Fiddler無論對開發人員…

虛擬機NAT模式獲取不到ip

虛擬機NAT模式獲取不到ip 如圖所示 解決方案&#xff1a; 先查看NetworkManager是否啟動 systemctl status NetworkManager如果沒啟動就啟動一遍 使用DHCP手動獲取一遍ip sudo dhclient ens33成功得到ip 這是后遇到了另一個問題&#xff0c;ip釋放后&#xff0c;不能自動…

Sass 基礎用法速覽

Sass 基礎用法速覽 目錄 Sass 基礎用法速覽1. 什么是 Sass&#xff1f;2. 安裝 Sass2.1 使用 npm 安裝&#xff08;推薦&#xff09;2.2 使用 Dart Sass&#xff08;官方推薦&#xff09;2.3 使用 GUI 工具 3. Sass 基本用法3.1 編譯 Sass 4. Sass 語法詳解4.1 變量4.2 嵌套4.3…

洛谷B3840 [GESP202306 二級] 找素數

題目描述 小明剛剛學習了素數的概念&#xff1a;如果一個大于 1 的正整數&#xff0c;除了 1 和它自身外&#xff0c;不能被其他正整數整除&#xff0c;則這個正整數是素數。現在&#xff0c;小明想找到兩個正整數 A 和 B 之間&#xff08;包括 A 和 B&#xff09;有多少個素數…

idea部署本地倉庫和連接放送遠程倉庫

1.下載git&#xff0c;安裝好后任意地方又鍵會出現兩個帶git的東西 2.點擊bash here的那個&#xff0c;召喚出git的小黑窗&#xff0c;輸入 git config --global user.name "你自己取名" git config --global user.email "你自己輸入你的郵箱" 3.打開id…

C++(20): 文件輸入輸出庫 —— <fstream>

目錄 一、 的核心功能 二、核心類及功能 三、核心操作示例 1. 文本文件寫入&#xff08;ofstream&#xff09; 2. 文本文件讀取&#xff08;ifstream&#xff09; 3. 二進制文件操作&#xff08;fstream&#xff09; 四、文件打開模式 五、文件指針操作 六、錯誤處理技巧…

elementUI 循環出來的表單,怎么做表單校驗?

數據結構如下&#xff1a; diversionParamList: [ { length: null, positionNumber: null, value: null, } ] 思路&#xff1a;可根據 index 動態綁定 :props 屬性值&#xff0c;校驗規則寫在:rules <div class"config-item" v-for"(item, index) in form.…

x-cmd install | Pillager:Go 語言打造的敏感信息文件系統掃描利器

目錄 Pillager 的獨特優勢安裝Pillager 的應用場景Pillager 的核心功能 還在為文件系統中潛在的敏感信息泄露而擔憂嗎&#xff1f;Pillager 是一款由 Go 語言編寫的強大工具&#xff0c;旨在幫助你輕松掃描文件系統&#xff0c;發現隱藏的密鑰、密碼、API 令牌等敏感信息。 Pil…

大模型(2)——提示工程(Prompt Engineering)

文章目錄 一、提示工程的核心概念為什么需要提示工程&#xff1f; 二、提示設計的基本原則三、實用提示工程技巧1. 角色設定法2. 示例引導法&#xff08;Few-Shot Learning&#xff09;3. 分階段提問4. 負面約束5. 溫度&#xff08;Temperature&#xff09;控制 四、不同任務類…

環境搭建

一個簡單的請求在加入spring security之前的樣子, 在瀏覽器中輸入地址就可以直接訪問 <!--引入spring security依賴--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>&…

院校機試刷題第六天:1134矩陣翻轉、1052學生成績管理、1409對稱矩陣

一、1134矩陣翻轉 1.題目描述 2.解題思路 很簡單的模擬題&#xff0c;甚至只是上下翻轉&#xff0c;遍歷輸出的時候先把最下面那一行輸出即可。 3.代碼 #include <iostream> #include <vector> using namespace std;int main() {int n;cin >> n;vector&l…

軟件架構風格系列(5):數據共享架構

數據共享架構&#xff1a;如何讓數據在系統間自由“流淌”&#xff1f; 引言 在企業數字化轉型的浪潮中&#xff0c;“數據孤島”成為橫在業務創新面前的大山&#xff1a;營銷系統的用戶畫像無法同步到客服系統&#xff0c;供應鏈的庫存數據難以為銷售決策提供支撐…… 此時&…

SAP-13-內表與工作區

內表 作用&#xff1a; 內表是 ABAP 程序中一種非常重要的數據結構&#xff0c;它類似于數據庫表&#xff0c;用于在程序運行時存儲和處理數據。與數據庫表不同的是&#xff0c;內表存在于程序的內存中&#xff0c;數據的讀寫速度比從數據庫中讀取要快很多。它可以存儲多條具有…

dali本地安裝和使用

Dali&#xff08;Distance-matrix ALIgnment&#xff09;是一種廣泛使用的蛋白質結構比對工具&#xff0c;主要用于比較蛋白質三維結構之間的相似性。它通過計算蛋白質結構之間的距離矩陣來評估結構之間的相似性&#xff0c;并生成比對結果。 1. 安裝 wget http://ekhidna2.b…

Unreal 從入門到精通之SceneCaptureComponent2D實現UI層3D物體360°預覽

文章目錄 前言SceneCaptureComponent2D實現步驟新建渲染目標新建材質UI控件激活3DPreview鼠標拖動旋轉模型最后前言 我們在(電商展示/角色預覽/裝備查看)等應用場景中,經常會看到這種3D展示的頁面。 即使用相機捕獲一個3D的模型的視圖,然后把這個視圖顯示在一個UI畫布上,…

2024CCPC遼寧省賽 個人補題 ABCEGJL

Dashboard - 2024 CCPC Liaoning Provincial Contest - Codeforces 過題難度 B A J C L E G 銅獎 4 953 銀獎 6 991 金獎 8 1664 B&#xff1a; 模擬題 // Code Start Here string s;cin >> s;reverse(all(s));cout << s << endl;A&#xff1a;很…

Java基礎 Day17

一、遞歸 方法直接或者間接調用本身 將大問題, 層層轉化為一個與原問題相似的、規模更小的問題來解決 二、異常 程序在編譯或執行過程中&#xff0c;出現的非正常的情況 (錯誤) 語法錯誤不是異常 1、閱讀異常信息 從下往上看&#xff1a;發生異常的位置、異常名稱、發生異…

hook原理和篡改猴編寫hook腳本

hook原理&#xff1a; hook是常用于js反編譯的技術&#xff1b;翻譯就是鉤子&#xff0c;他的原理就是劫持js的函數然后進行篡改 一段簡單的js代碼 &#xff1a;這個代碼是順序執行的 function test01(){console.log(test01)test02() } function test02(){console.log(02)tes…