iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0
自我挑戰組

VMware vSAN 儲存架構從看懂到看開系列 第 17

Day17 - DOM (Distributed Object Manager)

  • 分享至 

  • xImage
  •  

vSAN 的四大組件:CMMDS、DOM、CLOM、LSOM,從最底層與物理硬碟交互到最上層協同各個 Cluster 裡的 Nodes,各司其職。下圖展示了它們的大致交互邏輯,本文將介紹 vSAN 的 CMMDS。

https://ithelp.ithome.com.tw/upload/images/20240904/20130271tvsbLU2kPt.png

vSAN DOM(Distributed Object Manager)顧名思義,就是負責管理 Object 以及分散 Component。

Component 是由 LSOM 管理,會在下一篇提到。

舉例來說,最常見的 RAID-1 Policy 會將一個 Object 完整地複製一份,加上原本的,變成兩個 Components,並將這兩個 Components 分散在不同主機或不同 Fault Domain 上。再加上一個 Witness,當 Cluster 發生故障,例如一個 Node 網路出現問題時,Witness 會協調 I/O 請求應該訪問哪個 Component。

除了 RAID-1,還有更複雜的 RAID-5/6,也是通過 DOM 去協調應該到哪個 Node 存取 Component 資料。

每個 DOM Object 有兩個角色:DOM Client 和 DOM Owner。每個 ESXi Node 都有這兩個角色,每個 Object 會有一個專屬的 DOM Owner,而 DOM Client 則存在於每個 Object 所在的 Node 上。

總結

DOM 是在 ESXi kernel 層實現的,具有以下特性:

  • vSAN 的 Object 概念存在於 DOM 層,一般稱為 DOM Object。
  • DOM Object 根據 RAID Policy 產生 Component 並保證 Component 的數據一致性。
  • Component 的位置由 CLOM 管理,Component 內的內容由 LSOM 管理。
  • Object 中的 Witness 只有在 Cluster 發生異常時才有作用,作為決定要訪問哪個 Component 的仲裁者。
  • 負責接收 CLOM 和其他節點的 DOM 指令,並根據指令與 LSOM 交互。
  • 每個 vSAN ESXi Node 只有一個 DOM Client,所有外部 I/O 都與這個 DOM Client 對接,然後傳遞 I/O 給相應的 DOM Owner。
  • 每個 Object 都有一個 DOM Owner,負責決定應用程序傳來的 I/O 是否可以被執行。

更多vSAN相關的文章歡迎參閱我的部落格: https://kaichiachen.github.io/2023/09/21/vsan/ioworkflow_dom/


上一篇
Day16 - CMMDS (Cluster monitoring, membership, and directory service)
下一篇
Day18 - CLOM (Cluster-level object manager)
系列文
VMware vSAN 儲存架構從看懂到看開24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言