虛擬機器實際上位在哪一顆實體磁碟上?

清單檢視會顯示某台虛擬機器使用 local-lvm,卻不會顯示另外八台虛擬機器也使用同一顆實體磁碟。而決定單一故障代價的,正是後面這一句。

AtlasPVE ·

本條目涵蓋以下問題

  • proxmox vm 在哪顆硬碟
  • proxmox vm 磁碟位置
  • proxmox 儲存區 對應 實體磁碟
  • proxmox 網路拓撲 視覺化
  • proxmox 找出 vm 的實體磁碟

問起虛擬機器的磁碟位在哪裡,介面會很快回答:local-lvm。這個答案沒有錯,卻不是真正需要的答案。local-lvm 是一個名稱,而名稱不會說明哪一件硬體會停止轉動。

真正值得問的是背後那個問題:如果今晚有一顆實體磁碟故障,會有多少台虛擬機器跟著倒下?

這條鏈有五個環節

虛擬機器並不是直接位在磁碟上。它位在一條鏈的末端,而每一個環節都可能讓答案出乎意料。

虛擬機器在自己的設定中宣告一個虛擬磁碟。像 scsi0: local-lvm:vm-100-disk-0,size=32G 這樣的一行,指名的是儲存區,而不是硬體。

虛擬磁碟是一個檔案或一個區塊裝置。是哪一種取決於儲存區類型,而這個差異決定了快照是低成本還是根本做不到。

儲存區是主機儲存設定中的一筆項目。它是一個指向其他東西的標籤。兩個標籤可以指向同一個底層物件,看似分開的兩台虛擬機器,正是這樣最後共用了同一個故障點。

儲存池或磁碟區群組是多顆實體磁碟組合在一起的地方,或是單獨一顆磁碟假裝成儲存池的地方。

實體磁碟是唯一真的會壞掉的環節。

清單檢視顯示的是第一個與第三個環節。風險則存在於第二、第四與第五個環節。

這個答案為何比看起來更重要

以一個常見的配置為例:八台虛擬機器,全都在 local-lvm 上,主機有四顆磁碟。看起來負載分散在四顆磁碟上。實際上是否如此,完全取決於磁碟區群組是怎麼建立的。

如果那四顆磁碟是以等量分割組合、沒有任何備援,那麼一顆磁碟故障就會帶走全部八台虛擬機器。如果它們是兩兩鏡像,一顆磁碟故障什麼都不會失去,可以從容地更換。同樣八台虛擬機器,同樣的儲存區名稱,同樣的畫面,後果卻完全相反。

虛擬機器清單中沒有任何資訊能區分這兩種情況。必須沿著這條鏈走一遍。

這條鏈藏身的地方

精簡佈建。一台虛擬機器可能顯示分配了 32 GB,實際只佔用 4 GB。把分配的大小加總起來,可能超過實體容量,卻不會出現任何警告。一切運作正常,直到儲存池真的滿了,然後失敗的是所有虛擬機器,而不只是那台成長的虛擬機器。

同一儲存池上的快照。快照能防範虛擬機器內部的失誤,卻無法防範其下的磁碟故障。存放在與虛擬機器同一儲存池上的快照,會與虛擬機器一起消失。

兩個標籤,一個裝置。一個目錄型儲存區指向某個路徑,而那個路徑恰好與某個區塊型儲存區位在同一個磁碟區群組上。介面中有兩筆項目,實體上卻是同一個命運。

開機磁碟。在許多主機上,系統磁碟與第一個虛擬機器儲存區是同一個裝置。這樣可以運作,也很常見,但這意味著單一故障會同時帶走虛擬機器,以及原本應該管理它們的那套系統。

備份無法回答的問題

有備份,是另一個問題的好答案。備份回答的是還原需要多久,而不是有多少台虛擬機器需要還原。

這是兩個不同的數字,代價也分開計算。從備份還原一台虛擬機器要花一個晚上。還原八台要花一整個週末,而且是一個什麼都無法運作的週末。

沿著這條鏈走一遍,就能得到第二個數字。在需要之前就知道它是值得的,因為磁碟已經壞掉時,就無法再測量了。

手動讀取這條鏈

每一個環節都可以從主機上讀取,而且值得至少做一次,讓這個結構變得熟悉。

虛擬機器的設定會指名它的儲存區。主機的儲存設定會說明那是什麼類型的儲存區,以及它指向哪裡。若是磁碟區群組,群組清單會顯示哪些實體裝置屬於它。若是 ZFS 儲存池,儲存池狀態會顯示其中的裝置,更重要的是顯示它們的排列方式:是彼此鏡像,還是只是並排放置。

最後這個細節決定了一切,而它也是離虛擬機器清單最遠的那一個。

Atlas 的做法

Atlas 在同一個畫面上畫出整條鏈,從虛擬機器一路到實體磁碟,因此只要沿著一條線就能回答這個問題,不必開啟五個畫面,再在腦中把它們拼湊起來。

地圖會顯示虛擬機器、它的處理器與記憶體份額、它的虛擬磁碟、這些磁碟所在的儲存區、儲存池,以及最底層的實際硬體。當八台虛擬機器最終落在同一顆實體磁碟上時,八條線會明顯地匯聚在一起。不必先起疑,就能發現這件事。

排列方式也會畫出來,而不只是成員關係:鏡像的一對磁碟與兩顆獨立磁碟看起來不同,因為兩者之間的差別,就是從容更換與失去一個週末之間的差別。

這條鏈是即時讀取的,而不是只畫一次,因此上個月新增的儲存區也會出現在地圖上,不需要有人記得去更新圖表。

資料來源

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

相關條目

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

前往產品頁面