[vSAN] CLOM (Cluster-level object manager)

vSAN的四大Component - CMMDS、DOM、CLOM、LSOM

這四個組件從最底層與物理硬碟交互到最上層協同各個Cluster裡的Nodes,彼此各司其職。本篇將介紹的是vSAN CLOM。

vSAN CLOM(Cluster-level object manager)

vSAN CLOM負責根據Policy產生Object Configuration,並將Object裡的Component放在Cluster下適當的ESXi Node裡面。DOM和CLOM之間的溝通緊密無間,且是雙向的。

vSAN CLOM的主要特性

vSAN CLOM具有以下主要特性:

  • 物件放置:CLOM負責根據定義的儲存策略進行物件的初始放置。它決定物件的組件應該位於vSAN集群中的哪個ESXi主機上。
  • 策略執行:CLOM確保數據物件的分佈遵從用戶定義的儲存策略。這些策略可以包括關於數據冗餘、條帶化和緩存的規則。
  • 負載平衡:CLOM監控vSAN集群的容量和性能,並在必要時重新分佈數據物件以保持平衡。這可能涉及將物件的組件移動到vSAN集群內的其他ESXi主機。
  • 重新配置:如果儲存策略發生變化,或者如果從vSAN集群中添加或移除主機,CLOM將重新配置數據物件的分佈以適應新的條件。
  • 錯誤處理:如果出現任何錯誤或故障,CLOM會與分佈式物件管理器(DOM)進行通信,以處理情況並確保數據的可用性和完整性。

DOM和CLOM的溝通

DOM負責傳送帶有Policy info的請求給CLOM,而CLOM則負責回傳結果或是Error message給DOM。兩者之間透過一個專用的vmkernel protocal進行溝通。

CLOM的性能和任務

CLOM的首要任務是確定Object最初的擺放位置,然後再根據DOM給的Policy決定Component要放在哪裡。此外,CLOM也要負責balance的問題,當一個ESXi Node或是Disk裡的使用容量或是Components過多時,需要做平衡,並遷移Component到較為空閒的Node。

CLOM的daemon

在vSAN cluster裡,每個vSAN node都會運作一個clomd的daemon,負責確認每個vSAN node裡DOM的configuration是否合乎標準,同時還需要與CMMDS相互溝通。

CLOM的特性

CLOM是在ESXi userspace層實現的,具有以下特性:

  • 負責編排Object和Component
  • 保證Object的編排能滿足Policy的需求
  • 當Policy或Configuration或環境變了,也需要調整Object和Component的編排需求