Proxmox 網路裡有一些從來沒有人設定過的部分

有人搜尋 Proxmox 拓撲視覺化工具,聽起來像是想要裝飾。其實不是。客體、橋接器與實體連接埠之間的關係是按客體分別儲存的,所以想看清一個橋接器,唯一的方法就是逐一打開每個客體。

AtlasPVE ·

本條目涵蓋以下問題

  • proxmox 網路拓撲視覺化
  • proxmox 網路架構圖
  • proxmox 網路地圖
  • proxmox 哪些 vm 在哪個 bridge 上
  • proxmox 叢集網路架構圖

在搜尋框輸入 proxmox network,跳出的建議之一就是 topology visualizer(拓撲視覺化工具)。大家想找的是自己環境的一張圖,很容易把這解讀成想要裝飾。但這不是裝飾,而是資料形狀的問題。

為什麼這個問題一再被問起

想看到的關係是:客體,接著是橋接器,接著是實體連接埠。Proxmox VE 把前半段存放在每個客體的設定中:這個客體有一個網路裝置,該裝置連接到一個具名的橋接器。後半段則存放在主機的網路設定中:這個橋接器有這些連接埠。

兩半都記錄得很精確,也都沒有隱藏。但兩者之間的串接並沒有存放在任何地方,也沒有任何畫面去做這件事。所以哪些客體在這個橋接器上這個問題的答案,並不以檢視畫面的形式存在。它以一項工作的形式存在:打開每個客體,讀一行,在腦中逐一累計。

三個客體還好。三十個就要花掉一個下午,而需要花掉一個下午的問題,就是不會有人去問的問題。

圖上的部分比設定檔還多

這就是一張圖比仔細閱讀設定更有價值的原因。運作中的主機有些網路元件是自己出現的。

在一台用來驗證這件事的小型主機上,有兩個橋接器是手動設定的。運作中的系統卻有第三個,因為某個客體的網路介面啟用了防火牆而自動建立。沒有人寫它,沒有人為它命名,而且它只在那個客體執行時存在。

同一台主機上還有七個虛擬網路線端點,把執行中的客體連到橋接器。它們同樣不出現在任何設定檔中。客體啟動時建立,停止時消失。

所以誠實的描述是:網路有一個由人撰寫的靜態部分,以及一個由系統圍繞它建構的即時部分。只讀設定,看到的是計畫。只讀運作中的介面,看到的是一串沒有來龍去脈的名稱。兩者都不是全貌。

一張圖能立刻看出的事

同一台主機有兩個橋接器和十一個客體網路介面,全部接在同一個橋接器上。第二個橋接器存在、已設定、處於啟用狀態,卻沒有承載任何東西。

這沒有什麼不對。它可能是刻意的,為一個尚未到來的網路預留。重點更窄:沒有任何畫面指出這件事。它的空置只有從上方俯瞰才看得見,而且會一直隱形,直到有一天有人把它改名、移除,或以為它正在使用而在上面繼續建構。

空的東西不會觸發警示。它們只會悄悄改變人們對自己機器的認知。

清單無法回答的三個問題

這個橋接器上有什麼?橋接器清單只說明它們存在,並不說明誰在使用它們。

這個客體的流量實際上從哪個實體連接埠出去?客體指向一個橋接器。橋接器指向一個連接埠,或一個 bond,而 bond 又指向兩個連接埠。這條鏈要查兩到三次,而拔掉一條網路線時,關鍵正是這條鏈。

停用這個介面會讓什麼壞掉?這是維護之前大家都會問、卻用猜的來回答的問題。它是同一個串接,只是反過來讀。

Proxmox VE 實際提供了什麼

比本文的語氣可能暗示的還要多,值得精確說明,而不是誇大其詞。

每個節點都有網路檢視,列出介面、橋接器、bond 與 VLAN,並區分目前生效的設定與只寫下、等待下次重新載入的設定。每個客體的硬體檢視會顯示它的網路裝置,以及每個裝置連接的橋接器。對於想要定義網路而不是拼湊網路的人,還有一個軟體定義網路區段,提供區域與虛擬網路。

這些都很精確。但沒有任何一個把這段關係的兩端放在同一個畫面上。

Atlas 做什麼,不做什麼

Atlas 會畫出這個串接。客體、它們連接的橋接器、底下的連接埠,全部在一張圖中呈現,而不是一次看一個客體,連只在運作時才存在的部分也包含在內。

它不做的是設定網路。它不會建立橋接器,不會把客體移到另一個網路,也不會阻止任何人設計出奇怪的配置。糟糕配置的圖,仍然是糟糕的配置,只是畫得更清楚。

它的價值比乍看之下更窄,值得直白說明:它把一個需要費力才能回答的問題,變成一個看一眼就能回答的問題。容易問的問題就會有人問,而從來沒人問的問題,正是意外藏身之處。

資料來源

Proxmox 官方文件。內容為英文,且在此主題上以官方文件為準。

相關條目

這項工作在 Atlas 中是什麼樣子?

前往產品頁面