數據存儲產業服務平臺

Symmetrix動態緩存分區技術(DCP)原理與配置

Symmetrix動態緩存分區技術(Dynamic Cache Partition)是一種可供用戶配置的高級緩存設置選項。它的作用是對Symmetrix的全局分布式緩存區域進行劃分,并且將Symmetrix中不同磁盤設備根據分配策略應用到不同的緩存分區。滿足不同的數據訪問需求,優化陣列整體性能。本文介紹了DCP的原理和配置方法。

Dynamic Cache Partition原理與應用場景:

首先要解釋一下DCP功能的主要作用,了解Symmetrix的人可能都知道,Symmetrix的緩存是全陣列共享的,所有鏈接到陣列的主機和應用都會用到共享緩存資源。(關于Symmetrix的緩存機制,參考文章:Symmetrix緩存技術解讀)由于這種共享緩存機制存在,在多應用與多主機鏈接的環境下,有可能發生一種情況:一個緩存利用率比較大的應用,多數情況下這種應用會是隨機讀到比例較高應用(針對不同應用的IO訪問類型,參考文章:關于不同應用程序存儲IO類型的描述)為了滿足更高的緩存隨機讀命中率,基于Symmetrix緩存算法,Symmetrix陣列會把最新讀取的數據載入到緩存。但是,由于這類應用的數據訪問特點,被緩存的數據可能只被讀一次,而這部分只被讀取一次的數據卻占用了比較多緩存區域。某些情況下,為了釋放緩存空間,還會強行刷新了另外一個對性能要求較高的應用的緩存區域。因為緩存的刷新是以區域為單位,而緩存中數據的存放則為更小的單位,就是一個區域包含了多個緩存存儲單元,被多個應用說用到。從而導致這個應用“盜取“了其他高性能需求的應用的緩存區域,導致后者不能在使用陣列緩存中受益,整體性能受到影響。

在早期的Symmetrix陣列中,解決這個問題的方法是設置一種叫做LRU (Least Recently Used)Group的方式,加入到相應LRU Group中的磁盤設備會優先刷新自己所包含的緩存,從而不影響到其他LRU Group中的緩存區域。從而起到隔離那些緩存用量不是很高效的應用程序。而在VMAX以后的Enginuity版本,引入了動態緩存分區技術DCP。作為一個更強大的可配置的功能,DCP提供了更加高效的隔離緩存機制,使得應用可以在所配置的存區域內使用緩存區域,而不會影響到其他應用所對應的緩存區域。

默認情況Symmetrix VMAX中過所有的磁盤設備都會使用默認的Cache Partition,使用DCP功能的用戶可以額外創建7個Cache Partition,然后將Device加入到這些Partition中。用戶可以配置固定的緩存區域大小,也可以設置特殊情況下,配置某個磁盤設備在高負載的情況下借用其他緩存區域中的分區,從而提供了更多的緩存可操作性。

Dynamic Cache Partition配置方法:

DCP的可配置選項可以分為五種:

Minimum、Target、Maximum緩存比例定義了所配置的Cache Partition占所有緩存大小的百分比。配置了三個選項以后,Cache Partition的緩存用量就會介于Minimum和Maximum之間。而Target選項則定義的推薦的緩存用量值,也定義了上文中所提到的借用其他區域的緩存區域的觸發閥值。當Cache Partition有額外用來滿足I/O需求時,且緩存用量達到Target閥值,DCP會啟用借用其他區域的緩存,但是總量不會超過Maximum設置。

而整個陣列層面,所有Cache Partition的Target值總和為100%。如果三個值相等,那這個Cache Partition則為固定大小。

Donation Time值用來決定一個Cache Partition內的緩存區域,被其他Cache Partition借用之前,保留的時長。就是說,一個Cache Partition中的某個區域沒有執行過任何I/O操作的時間達到Donation Time值,這個區域則可以作為被其他Cache Partition“借用”的候選。越高的Donation Time值決定了緩存區域會被當前的Cache Parition使用越久,減少被其他Cache Partition借用的概率。

每一個Cache Partition還可以設置針對當前分區的Write Pending Limit設置(Write Pending內容參考文章:Symmetrix緩存的Write Pending)。配置的區間是Maximum分區大小的40%-80%。

用戶可以使用Solutions Enabler(版本7.4以上)命令symqos來進行DCP的配置,主要的命令如下:啟用和關閉DCP的命令是:

symqos -cp -sid SymmID enable | disable

檢查DCP是否被啟用的命令為,在命令輸出中檢查Cache Partitioning欄的狀態:

symcfg list –v

創建Cache Partition的命令是:

symqos -cp -name PartitionName -sid SymmID create -target TargetPercent -min MinimumPercent -max MaximumPercent -wp WritePendingLimit -time DonationTime

例如,在Symmetrix陣列尾號為1234中創建一個名為TestPartition的Cache Partition,并且設置Target值為10%,Minmum為5%,Maximum為40%,Wrtite Pending為50%,Donation Time為10秒。使用命令:

symqos -cp -name TestPartition -sid 1234 -target 10 -min 5 -max 40 -wp 50 -time 10 create

將Device添加到Cache Partition的命令為:

symqos -cp -name PartitionName -sid SymmID add dev SymDevName

例如,將Device 310添加到名為TestP到Cache Partition,使用命令:

symqos -cp -name TestP -sid 310 add dev 001

將Device 002到012十個Device添加到名為TestP的Cache Partition,使用命令:

symqos -cp -name TestP -sid 310 -devs 002:012 addall

本文作者為EMC中文技術社區(https://community.emc.com/go/chinese)技術版主。如果您對本文有任何疑問和不同見解,也歡迎到EMC中文支持論壇參與討論。

未經允許不得轉載:存儲在線-存儲專業媒體 » Symmetrix動態緩存分區技術(DCP)原理與配置
精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走