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的編排需求