PVE(Proxmox VE) 多網口的識別

| 前言: |
這是篇關於網卡(多個網口)在PVE系統內的識別分享貼,透過ethtool指令可以很方便地找出每個網口相對應的位置。
| 操作步驟: |
以Intel EXPI9402PTBLK 82571GB Network Adapter作範例安裝ethtool指令
apt update && apt install ethtool -yethtool 可用於查看網絡設備的驅動參數和硬件配置。看查網卡在PVE伺服器的裝置名稱
ip -c a
其中enp1s0f0和enp1s0f1是網卡的两個網口,對應的MAC地址分別為00:24:81:7e:ce:cb和00:24:81:7e:ce:ca
| 方法A |
透過ethtool識別在PVE系統內的裝置名稱和相對應網口位置。
輸入以下指令,查找第一個裝置名稱enp1s0f0的實體網口 (網口有指示燈)
ethtool --identify enp1s0f0
輸入以下指令,查找第二個裝置名稱enp1s0f1的實體網口 (網口有指示燈)
ethtool --identify enp1s0f1
| 方法B |
如果網卡不支援ethtool --identify指令(指示燈)作識別,可以使用以下方法。分別啟用两個網口enp1s0f0 和 enp1s0f1
ifup enp1s0f0
ifup enp1s0f1將上網線(Cat5e)分別插入到網卡(Intel EXPI9402PTBLK 82571GB)其中一個網口及上網線另一邊插入其他通電網口,如交換機、路由器、電腦等等。
這時輸入指令查看網口狀態
ethtool enp1s0f0
如圖示,Link detected: yes 代表找到的網口為enp1s0f0,
反之顯示為Link detected: no 即找到沒有插線的網口 enp1s0f1
| 設備位置 |
當要直通指定網口時,透過ethtool可以很容易地找到網口在PVE系統內的位置。
查看伺服器所有物理網卡及位置
lspci | grep -in 'eth'查看第一個網口enp1s0f0的位置
ethtool -i enp1s0f0查看第二個網口enp1s0f1的位置
ethtool -i enp1s0f1
圖示中,第一個網口enp1s0f0的位置是01:00.0,第二個網口enp1s0f1的位置是01:00.1。
最後在虛擬機內直通指定網卡或者網口

| 硬件直通及分組 |
BIOS中確保開啟硬體直通相關選項(VT-d & VMX)
在PVE的Terminal編輯grub文件
vi /etc/default/grub修改 GRUB_CMDLINE_LINUX_DEFAULT="quiet" 為
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction"
| 參數 | 描述 |
|---|---|
quiet | 用於在系統啟動時隱藏大部分啟動訊息,提供更簡潔的啟動過程。 |
intel_iommu=on | 啟用 Intel 的 IOMMU (Input-Output Memory Management Unit),允許虛擬機直接使用物理硬體。 |
iommu=pt | 啟用被動模式的 IOMMU,只為直通裝置啟用地址轉換,其餘裝置則以預設方式運作,減少性能損失。 |
pcie_acs_override=downstream,multifunction | 強制啟用 PCIe 的 ACS (Access Control Services),在不支援 ACS 的硬體上特別有用。 |
downstream | 啟用下游端口的隔離。 |
multifunction | 允許多功能設備的功能分離,對於某些設備(如 多網口網卡、GPU)需要進一步分離時很有用。 |
更新grub
update-grub| 結語: |
利用ethtool識別多網口的網卡真的非常方便。最後可以制作一張對應的表格,方便往後查找。
| 實體網卡 | MAC Address | PVE 裝置名稱 | 設備位置(用於直通) | VM內名稱 |
|---|---|---|---|---|
| 第一個網口 | 00:24:81:7E:CE:CB | enp1s0f0 | 01:00.0 | LAN |
| 第二個網口 | 00:24:81:7E:CE:CA | enp1s0f1 | 01:00.1 | WAN |
| 參考資料: |
| 相關貼文: |
