1. 程式人生 > >40、【華為HCIE-Storage】--GlobalCache

40、【華為HCIE-Storage】--GlobalCache

HCIE Storage hostman

------------------------------------重要說明------------------------------------

以下部分內容來網絡,部分自華為存儲官方教材

具體教材內容請移步華為存儲官網進行教材下載

網絡引用內容無法找到原創,如有侵權請通知

------------------------------------重要說明------------------------------------

技術分享圖片

Global Cache使所有存儲服務器上的內存空間在邏輯組成一個統一內存資源池,緩存在任何一個存儲服務器上的數據, 在後續其它任何存儲服務器接收到訪問該數據請求時都可以在全局緩存中命中, 同時所有用戶數據在整個集群系統中只緩存一份並且不緩存校驗數據, 可以有效發揮緩存對系統性能的影響提高系統整體的性能。

① 全局緩存與數據讀取

技術分享圖片

① 主機E向Node C的客戶端發出數據讀請求。

② Node C的客戶端向分布式鎖服務器申請分條資源讀鎖。

③ 系統檢查所讀數據的緩存是否在全局緩存中以及緩存在哪個節點上,如圖顯示該文件分條資源在Node A節點上的緩存中。

④ Node C從Node A節點上的全局緩存中獲數據並返回(如果不在全局緩存中,則直接從各個節點上讀取該分條數據的所有條帶數據後構造出分條數據後再返回)。

分布式鎖管理( DLM) 是用於保證全局緩存有效運行, 保證全局緩存共享性、 一致性的基礎。 分布式鎖管理負責創建分布式鎖管理數據結構, 該數據結構包括共享資源鎖請求、 存儲共享資源的內存以及鎖類型等其它相關內容。 只要有進程對該有加鎖請求, 共享資源就始終存在, 如果沒有任何進程對該資源有加鎖請求,布式鎖管理器才能刪除該資源。 如果進程異常退出. 與該資源相關的鎖也就被異常退出. 與該資源相關的鎖也就被異常釋放。

② 全局緩存與數據寫入

技術分享圖片

① 主機E向Node C上客戶端發出數據寫請求。

② Node C的客戶端向分布式鎖服務器申請分條資源寫鎖。

③ Node C的客戶端申請加鎖成功後,Node C將用戶數據接收到本節點上的全局緩存中。

④ Node C的客戶端將該條帶數據根據該文加指定的保護級別進行分片處理,對所有分片後的源是數據通過Erasure Code進行計算生成校驗數據片,最後將包括校驗數據片在內的數據片寫到對應的節點上的保電內存中,寫個結點的保電內存成功後則本次寫操作成功。

40、【華為HCIE-Storage】--GlobalCache