做技術(shù)的朋友可能有過類似這樣的感覺——每天都會(huì)遇到新的問題,或者學(xué)到新的知識(shí)。然而一個(gè)人的時(shí)間和精力畢竟有限,不是所有的崗位都能做到總是親力親為,每人最擅長的領(lǐng)域也各不相同。為了使工程師自己踩過的坑、那些實(shí)用的心得體會(huì)也能給大家?guī)韼椭?,把?jīng)驗(yàn)記錄和分享出來就顯得尤為可貴,這就是我們開設(shè)《工程師筆記》專欄的目的。
SCv2000試用之RAID分層+快照
在上一篇《戴爾SCv2000評(píng)測:圖形向?qū)е子皿w驗(yàn)》中,我們以接近step by step的方式帶大家熟悉了一遍這款入門級(jí)陣列的初始化過程。在體驗(yàn)過配置的易用性之后,這次再來試用下它的高級(jí)功能,畢竟SCv2000也是一款是帶有Compellent家族血統(tǒng)的智能存儲(chǔ)。
首先,在Storage Center的設(shè)置中有幾個(gè)值得關(guān)注的選項(xiàng)。
注:Replay即戴爾SC系列的快照功能
如上圖,這里的首選項(xiàng)涉及創(chuàng)建卷時(shí)默認(rèn)的大小及名稱等,實(shí)際操作時(shí)都可以修改。默認(rèn)的Replay快照配置文件是“Daily”(每天一次)。“服務(wù)器 - 操作系統(tǒng)”一項(xiàng)可以選擇默認(rèn)的主機(jī)連接路徑優(yōu)化策略,初始設(shè)置“Other Singlepath”應(yīng)該是兼容性最好也最保守的。
關(guān)于首選項(xiàng)中的“存儲(chǔ)配置文件”,我們已經(jīng)在上一篇中給大家介紹過——關(guān)乎創(chuàng)建卷的RAID級(jí)別,這里就不再重復(fù)了。
上面這個(gè)菜單里,有讀/寫高速緩存的全局開關(guān),我們也可以在每個(gè)卷中單獨(dú)設(shè)置。Data Progression自動(dòng)分層存儲(chǔ)(包括RAID分層)的數(shù)據(jù)遷移調(diào)度開始時(shí)間,默認(rèn)為每天下午7點(diǎn),最長運(yùn)行時(shí)間12小時(shí),這些都是可以根據(jù)用戶實(shí)際業(yè)務(wù)忙/閑時(shí)段來調(diào)整的。另外,我們還可以選擇暫停Replay的創(chuàng)建或者過期(自動(dòng)刪除)。
RAID分層:節(jié)約容量而不犧牲性能
熟悉企業(yè)存儲(chǔ)的朋友應(yīng)該都知道,RAID 5/6由于寫懲罰較大因而隨機(jī)寫性能偏低;RAID 10性能均衡但空間浪費(fèi)率較多。一般存儲(chǔ)產(chǎn)品只能在二者之間取舍,無法兩全齊美,而戴爾SC的RAID分層則比較好地解決了這個(gè)問題。
下面我們來看看RAID分層是怎么實(shí)現(xiàn)的:
如上圖,我們?cè)跍y試中創(chuàng)建了一個(gè)100GB的卷,采用的存儲(chǔ)配置文件為“Balanced”跨RAID級(jí)別分層。SCv2000底層空間完全虛擬化打散為2MB頁面(數(shù)據(jù)塊),這臺(tái)樣機(jī)配置的是7200轉(zhuǎn)NL-SAS硬盤。
根據(jù)這個(gè)統(tǒng)計(jì)信息,我們寫入的大約15GB數(shù)據(jù)在RAID 10-DM分層占用了3倍的物理磁盤空間,RAID開銷為66.6%。正如上一篇中提到過的——“由于這臺(tái)機(jī)器是12塊4TB硬盤,高性能分層沒有用傳統(tǒng)的單鏡像盤RAID 10,而是雙重鏡像的RAID 10-DM(相當(dāng)于3副本),就是為了避免Rebuild時(shí)間窗口內(nèi)雙盤故障的風(fēng)險(xiǎn)”。
這時(shí)我們手動(dòng)創(chuàng)建一個(gè)Replay快照,這是觸發(fā)Data Progression RAID分層的前提。
在“創(chuàng)建Replay”的對(duì)話框中,可以選擇快照過期時(shí)間、描述,以及是否立即“從Replay創(chuàng)建卷”——也就是利用快照時(shí)間點(diǎn)數(shù)據(jù)狀態(tài)生成一個(gè)依賴指針的“虛擬”卷,后面我們會(huì)單獨(dú)測試這一功能。
當(dāng)Replay創(chuàng)建完成之后,我們觀察到柱狀圖的顏色變了,對(duì)照一下圖例就可以看出變化反映了什么。
為了方便接下來的測試,我們是將上文中“Data Progression開始時(shí)間”的設(shè)置做了修改,以便讓RAID分層轉(zhuǎn)換的動(dòng)作提前到來。
如上圖,在跨RAID級(jí)別分層中的數(shù)據(jù)一旦被快照凍結(jié),就意味著“需要重新平衡”。這里面遵循的一個(gè)重要原則,就是目標(biāo)RAID級(jí)別——RAID 6的讀性能不比RAID 10(DM)差,卻能夠顯著節(jié)約容量。而這種分層的前提機(jī)制,是一直將數(shù)據(jù)寫入到高性能分層,無論寫入新的邏輯數(shù)據(jù)塊還是覆蓋已有數(shù)據(jù)的塊都以RAID 10(DM)形式存放,所以寫性能也不會(huì)因此而受到影響。
戴爾SCv2000將驅(qū)動(dòng)器劃分成2MB條帶,并以此為單位創(chuàng)建RAID。除了SC9000、8000和SC4020等中高端型號(hào)支持在不同驅(qū)動(dòng)器(多種SSD、HDD)之間的自動(dòng)分層之外,Data Progression于相同性能驅(qū)動(dòng)器的層級(jí)內(nèi)部,還可以做不同RAID級(jí)別之間的轉(zhuǎn)換。這也是Compellent家族存儲(chǔ)的一個(gè)重要特色。
經(jīng)過重新平衡之后,我們看到原有的“活動(dòng)空間”已經(jīng)都轉(zhuǎn)換為RAID 6-10(8+2)級(jí)別,同時(shí)RAID開銷下降為20%。這里還給出了“總磁盤空間”相對(duì)RAID 10 DM節(jié)省了11.62GB。
我們使用Iometer在其生成的iobw.tst上短時(shí)運(yùn)行
(覆蓋)寫入測試,然后再將其拷貝生成一個(gè)新的副本。
創(chuàng)建Replay之后,如果向卷內(nèi)繼續(xù)寫入數(shù)據(jù),無論到新的數(shù)據(jù)塊還是覆蓋原有塊的內(nèi)容,都會(huì)以RAID 10 DM級(jí)別存放(如下圖)。RAID 6中的快照數(shù)據(jù)將保持不變,直至生成新的Replay,并到達(dá)下一次Data Progression數(shù)據(jù)遷移周期。
在演示過RAID分層的實(shí)現(xiàn)過程之后,我們繼續(xù)向大家介紹戴爾SC系列的快照功能。
Replay:利用元數(shù)據(jù)輕松實(shí)現(xiàn)快照
快照的一般用途是數(shù)據(jù)保護(hù)。首先面對(duì)本地邏輯錯(cuò)誤可以恢復(fù)至之前的歷史狀態(tài),進(jìn)而還可以利用快照實(shí)現(xiàn)本地、遠(yuǎn)程的增量異步復(fù)制。而許多存儲(chǔ)產(chǎn)品支持的快照數(shù)量較為有限,在打開快照后性能下降明顯,有的還需要單獨(dú)為快照預(yù)留存儲(chǔ)空間。
戴爾SC的Replay實(shí)現(xiàn)與傳統(tǒng)COFW(copy on first write)方式不同,得益于底層磁盤空間完全虛擬化、豐富的元數(shù)據(jù)支持,創(chuàng)建、過期(刪除)快照時(shí)都能在瞬間完成,支持較多的快照數(shù)量、任意掛載和無限的快照分支。分鐘級(jí)恢復(fù)點(diǎn)的Replay能夠達(dá)到持續(xù)數(shù)據(jù)保護(hù)(準(zhǔn)CDP)的效果。
除了數(shù)據(jù)保護(hù),以及歷史數(shù)據(jù)掛載用于測試/演練/分析等常規(guī)用途之外,我們?cè)谇懊嬉蔡岬搅?,戴爾SC的自動(dòng)分層存儲(chǔ)功能與Replay也是分不開的。
1 快照策略——一致性組
我們先創(chuàng)建一個(gè)新的Replay配置文件。在創(chuàng)建方法中有標(biāo)準(zhǔn)、并行和一致3個(gè)選項(xiàng),選擇“標(biāo)準(zhǔn)”將按順序分別對(duì)Replay關(guān)聯(lián)的卷創(chuàng)建Replays;“并行”將同時(shí)為與Replay關(guān)聯(lián)的所有卷創(chuàng)建Replays;“一致”則將短時(shí)凍結(jié)相關(guān)卷的IO,并為它們創(chuàng)建Replays。
一致性快照的好處是,我們可以為有依賴關(guān)系的數(shù)據(jù)卷(比如分別存放數(shù)據(jù)庫的data文件和log文件)創(chuàng)建嚴(yán)格同一時(shí)間點(diǎn)數(shù)據(jù)狀態(tài)的快照,以確保其有效可用。
在每個(gè)Replay配置文件中都可以添加多條規(guī)則,我們可以設(shè)定按照一定的頻率(每天/每周/每月)在特定時(shí)間生成快照,也可以在一個(gè)時(shí)間范圍內(nèi)按照固定的間隔生成快照。
參見這個(gè)下拉菜單,這里同樣可以設(shè)置Replay的過期時(shí)間。
當(dāng)我們將新建的“一致性”Replay配置文件應(yīng)用到2個(gè)卷上,除了自動(dòng)快照策略之外,如果點(diǎn)擊其中某個(gè)卷手動(dòng)創(chuàng)建快照時(shí),會(huì)出現(xiàn)上面的提示。
如上圖所示,“New Volume 1”和“New Volume 2”作為一致性組生成了3個(gè)自動(dòng)快照,還手動(dòng)創(chuàng)建了一個(gè)快照。
2 從Replay創(chuàng)建卷、分支快照無窮盡
位于Replay列表中最上面,凍結(jié)時(shí)間為“活動(dòng)”的就是指當(dāng)前卷的最新狀態(tài),下面的時(shí)間點(diǎn)則表示每一個(gè)快照。當(dāng)我們用右鍵點(diǎn)擊某個(gè)Replay時(shí),“過期”選項(xiàng)就相當(dāng)于將對(duì)應(yīng)的快照點(diǎn)刪除,另外也可以選擇“從Replay創(chuàng)建卷”。
在從Replay創(chuàng)建卷時(shí),同樣可以針對(duì)“虛擬”出來的LUN選擇快照策略,這個(gè)新產(chǎn)生的快照分支與源卷的快照互不影響。
如上圖,我們用2個(gè)不同時(shí)間點(diǎn)的Replay快照創(chuàng)建卷,與源卷掛載到同一主機(jī)。
這時(shí),可以看到源卷(D盤)和兩個(gè)歷史Replay卷的不同數(shù)據(jù)狀態(tài)。
如上圖,對(duì)于從Replay創(chuàng)建的“虛擬”卷,我們也可以利用其Replay(快照的快照)再創(chuàng)建卷,以此類推… 總之戴爾SC系列在快照功能上是很靈活豐富的,這得益于底層磁盤管理的完全塊級(jí)虛擬化。
3 應(yīng)用一致性——保障有效恢復(fù)
我們?cè)赪indows下嘗試安裝Replay Manager——快照管理器??梢钥吹匠嘶A(chǔ)服務(wù)之外,還有SQL Server、Exchange Server和Hyper-V的擴(kuò)展,它們的作用是生成應(yīng)用/虛擬機(jī)的數(shù)據(jù)一致性快照。
針對(duì)Windows文件系統(tǒng)和微軟應(yīng)用程序,戴爾SC系列的Replay Manager是通過調(diào)用VSS(卷影副本)來實(shí)現(xiàn)一致性快照的。
Replay Manager還有針對(duì)VMware的版本以及專為Oracle設(shè)計(jì)的APM(應(yīng)用保護(hù)管理器),可以有效實(shí)現(xiàn)對(duì)虛擬機(jī)、數(shù)據(jù)庫的快照保護(hù)。
統(tǒng)一管理、數(shù)據(jù)遷移路徑
在本文的最后一張圖中(點(diǎn)擊可放大),我們安裝了Enterprise Manager,在單一界面中可以集中管理多套戴爾Storage Center陣列,支持目前主流的SC9000/8000/4020等全線產(chǎn)品。我們注意到,這里還可以配置入門級(jí)SCv2000不具備的Live Volume(雙活)、Fluid FS文件存儲(chǔ)等增值功能方案。
另外,SCv2000支持將數(shù)據(jù)遷移到SCv4020以及更高端的陣列產(chǎn)品,為用戶提供了一個(gè)平滑的升級(jí)路徑。
結(jié)語
RAID分層和Replay快照是戴爾SCv2000比較有特色的兩大功能,在入門級(jí)SAN陣列的價(jià)位上,并不是所有產(chǎn)品都具備這些智能特性。而更重要的是,用好這些功能并不難,它們可以幫助用戶有效降低TCO并發(fā)揮更大的價(jià)值,重新定義存儲(chǔ)的經(jīng)濟(jì)性。