1. 程式人生 > >14【華為HCIE-Storage】Cache讀寫鏡像&一高低水位&二寫盤&三讀寫策略&四讀機制

14【華為HCIE-Storage】Cache讀寫鏡像&一高低水位&二寫盤&三讀寫策略&四讀機制

HCIE storage hostman

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

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

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

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

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


1. Cache技術(讀\寫\鏡像&一高低水位&二寫盤&三讀寫策略&四讀機制)

Cache即高速緩存,是存儲系統中用於緩存主機數據,提高陣列性能及可靠性的部件。Cache主要用來緩存主機數據,使主機在進行數據讀寫時不用每次都對硬盤進行操作,從而提高系統的讀寫性能。同時存儲陣列通常使用雙主控,且采用雙控雙活技術,雙控制器都存在相同大小相同規格的Cache,使得數據在本端控制器Cache和對端控制器Cache都有緩存,即兩個控制器的寫Cache數據通過相互鏡像實現備份,確保數據的安全和完整,提高了系統的可靠性。

① 讀cache

讀Cache:作用為緩存讀數據

在有主機讀請求下發時, Cache會先將磁盤中數據讀到內存中,並啟動預取,根據數據的連續性將磁盤中後續可能會被主機讀到的數據預取到Cache中,增加後續主機請求的讀命中概率。

② 寫cache

寫Cache:作用為緩存寫數據

在有主機寫請求下發時, Cache會先將數據寫到內存的固定區域中,並返回給主機寫完成,後續Cache會將這部分數據整合後統一寫到硬盤中,借此提高主機寫的效率。

③ 鏡像cache

鏡像Cache:作用為緩存寫數據並在對端控制器Cache保存這部分數據的鏡像,在有主機鏡像寫請求下發時, Cache會將這部分數據分別寫到本端控制器的內存及對端控制器的內存,保證兩端數據的一致性。

實際上,本端的鏡像Cache就是對端寫Cache的鏡像,是對端寫Cache的備份。這樣的結構充分保證了系統的高可用性

技術分享圖片

技術分享圖片

Cache鏡像技術是通過鏡像通道實現的。可采用SAS、 PCI-E或FC作為鏡像通道。 由於在物理上采用了兩條鏡像通道,使系統在可靠性上得到了進一步的提升,即使其中一條通道出現故障也不會影響業務,保證業務的連續性。

④ 高低水位

Cache中高低水位是指Cache中存儲臟數據的最高限制值和最低限制值;


技術分享圖片

默認高水位80,低水位20;

刷盤線程每隔1S啟動一次;

高水位不宜設置太高,如果高水位的值太高,頁面緩沖就小,如果前端IO流量突然增加,會產生IO波動和時延增大的現象,從而影響寫性能;

低水位不宜設置太低

,如果低水位設置的值太低,會導致後端將緩存數據頻繁寫入硬盤,降低寫性能;

高低水位的間距不宜太小,如果取值間距太小,不能很好利用後端帶寬;

⑤ 寫盤

l 寫機制:回寫、透寫;


技術分享圖片

技術分享圖片

a. 回寫

回寫分為:回寫鏡像、回寫不鏡像

鏡像與不鏡像的差別在於:當一個寫IO從A控制器下發, 當到達A控制器的Cache之後, 是否需要將該IO再寫入到B控制器的Cache作備份;

如果采用了回寫鏡像的方式, 由於進行了額外的兩個控制器之間的交互以及數據的傳輸, 因此總體的性能表現不會比回寫不鏡像的方式好。

應用服務器下發數據回寫請求時,數據塊寫入本端存儲系統Cache後,本端存儲系統就將寫IO結果返回給應用服務器,再將數據塊寫入異構存儲系統中。

b. 透寫

應用服務器下發數據透寫請求時,數據塊寫入本端存儲系統緩存,再從本端cache寫入對端cache,當數據塊寫入磁盤成功後,寫IO結果才返回給應用服務器。

⑥ Cache讀寫策略(三策略)

讀策略:cache的讀數據策略,系統提供三種讀策略:常駐、默認、回收

寫策略:cache的寫數據策略,系統提供三種寫策略:常駐、默認、回收

a. 常駐

讀取數據或寫入數據以最低優先級淘汰,盡量保證常駐在內存中;

應用場景:適合部分業務對性能要求很高並且數據量不大的情況。例如在數據庫應用中的日誌LUN。

b. 默認

讀取數據或寫入數據以默認優先級淘汰,按照正常算法進行;

應用場景:常規場景下適用。

c. 回收

讀取數據或寫入數據以最高優先級淘汰,盡快將內存數據刷盤釋放;

使用場景:適合大塊數據讀寫,並且一般情況下之讀寫一次的場景。例如歸檔業務場景。

⑦ Cache預取機制(四機制)

l 預取機制:智能預取、固定預取、可變預取、不預取;

a. 智能預取

對主機讀請求進行連續判斷,如果是連續的請求,則將當前讀請求後面的一段數據從硬盤讀預取到Cache中,提高讀Cache命中率。

應用場景:適合單個數據流的讀應用,或無法判斷讀應用是否順序的情況。例如文件讀寫。

b. 固定預取

在讀取數據時,不考慮主機IO請求中讀取長度,按照配置的預取長度將數據預取到Cache中;

應用場景:適合大小固定的順序讀應用。例如多用戶流媒體點播,用戶使用相同碼流。

c. 可變預取

在讀取數據時,按照主機IO請求中的讀取長度的倍數將數據預取到Cache中。

應用場景:適合大小不固定的順序讀應用,或多用戶並發讀但無法判定預讀量的應用。例如用戶多媒體點播。

d. 不預取

按照主機IO請求中的預取長度直接從硬盤讀取數據,即不使用預取功能。

應用場景:不預取策略適合隨即讀取小數據塊應用。例如數據庫應用。

14【華為HCIE-Storage】Cache讀\寫\鏡像&一高低水位&二寫盤&三讀寫策略&四讀機制