這樣清新脫俗講解RAID技術(shù)的方式你見(jiàn)過(guò)咩?
最近發(fā)現(xiàn)某國(guó)外網(wǎng)友制作的一張
RAID講解圖
不得不佩服這位網(wǎng)友的奇思妙想
幾個(gè)飲水機(jī)和桶
就把復(fù)雜問(wèn)題生動(dòng)形象地化解了
▼▼▼
>>>>
1. Standalone:
第一張圖很好理解,我們?nèi)粘J褂玫腜C就采用這樣的數(shù)據(jù)讀取方式。數(shù)據(jù)存放在一塊硬盤(pán)里,且只有一塊硬盤(pán),那么自然我們的數(shù)據(jù)只能從該硬盤(pán)中讀取。
>>>>
2. Hot swap:
第二張圖也不難理解,看地上那個(gè)水桶。所謂Hot swap概念上來(lái)說(shuō)類(lèi)似于熱備份。它的數(shù)據(jù)讀取方式類(lèi)似于Standalone,唯一不同的是,有一塊備用的硬盤(pán)在時(shí)刻準(zhǔn)備著。一旦正在使用的硬盤(pán)出現(xiàn)了問(wèn)題,那么備用硬盤(pán)就要及時(shí)更換上,以免造成損失。但這樣的方式也存在著一些弊端,比如硬盤(pán)更換需要時(shí)間,這對(duì)很多企業(yè)來(lái)說(shuō)是致命的。
>>>>
3. Cluster:
第三個(gè)圖是什么意思呢?Cluster是集群的意思。你可以看作兩臺(tái)獨(dú)立的PC, 用戶(hù)可以到左邊的飲水機(jī)來(lái)取得數(shù)據(jù),也可以到右邊的飲水機(jī)來(lái)獲得數(shù)據(jù),但是這樣比較浪費(fèi)硬件資源,在企業(yè)級(jí)里不可能讓多臺(tái)服務(wù)器提供同樣數(shù)據(jù)和同樣服務(wù)的。
>>>>
4. RAID 0:
通常稱(chēng)為帶區(qū),是利用帶區(qū)數(shù)據(jù)映射技巧的特定性能。它的優(yōu)勢(shì)就是數(shù)據(jù)的讀寫(xiě)速度較快,但是沒(méi)有冗余功能,如果一個(gè)磁盤(pán)(物理)損壞,則所有的數(shù)據(jù)都無(wú)法使用。
>>>>
5. RAID 1:
是一種稱(chēng)為“磁盤(pán)鏡像”的容錯(cuò)配置。數(shù)據(jù)在被寫(xiě)到其中一塊硬盤(pán)的同時(shí),也被復(fù)制到另一塊硬盤(pán)中。這樣的方式可以防止硬盤(pán)損壞帶來(lái)的數(shù)據(jù)丟失,但是即使是2塊硬盤(pán),其存儲(chǔ)的空間也相當(dāng)于只有一塊硬盤(pán)的大小。而且I/O傳輸速率卻無(wú)法得到改善,也就是飲水機(jī)的出水口并沒(méi)有變大或者變多。
>>>>
6. RAID 5:
分布式奇偶校驗(yàn)的獨(dú)立磁盤(pán)結(jié)構(gòu),常使用緩沖技術(shù)來(lái)降低性能的不對(duì)稱(chēng)性。采取RAID 5的方式,I/O傳輸速率會(huì)得到大大的提高,而且一塊硬盤(pán)壞了也沒(méi)有關(guān)系,還有備用的其他硬盤(pán)。RAID 5的另一個(gè)好處是它允許“熱插拔”,這意味著如果陣列中的某磁盤(pán)出現(xiàn)故障,該磁盤(pán)可以與新磁盤(pán)交換而無(wú)需關(guān)閉服務(wù)器或NAS,也不必中斷正在訪(fǎng)問(wèn)服務(wù)器或NAS的用戶(hù)。
>>>>
7. RAID 0+1:
這就是我們常說(shuō)的RAID 10,也就是是RAID 1和0的組合。它結(jié)合了RAID 1的鏡像和RAID 0的帶區(qū)??商峁﹥?yōu)性能,但也很昂貴,需要兩倍于其他RAID級(jí)別的磁盤(pán)。
1
魚(yú)還是熊掌?
傳統(tǒng)用戶(hù)的容量與性能煩惱
看完上面的圖和講解,有關(guān)RAID的概念是不是就一目了然了?其實(shí)除了上面這些,RAID還有其他一些形態(tài),比如RAID 2、RAID 4、RAID 7等,不過(guò)經(jīng)過(guò)這么多年的發(fā)展,RAID的形態(tài)已經(jīng)基本固定了,主流的形式有這么幾種:RAID 10、RAID 5、RAID 6(與RAID 5類(lèi)似)。
從性能的角度,由于寫(xiě)懲罰的影響,RAID 10 的寫(xiě)性能通常優(yōu)于RAID 5和RAID 6,因此對(duì)于性能關(guān)鍵型應(yīng)用,客戶(hù)希望底層采用RAID 10的方式。然而從磁盤(pán)利用率的維度,RAID 10的可用容量只有50%,卻也是不合算的(見(jiàn)下圖)。
因此面對(duì)這種魚(yú)和熊掌的難題,通??蛻?hù)會(huì)采用以下辦法:
➤ 假設(shè)客戶(hù)一共購(gòu)買(mǎi)了11塊大小相同的硬盤(pán)(如600G 15K,標(biāo)稱(chēng)隨機(jī) IOPS 180),為了獲得更好的寫(xiě)入性能,取6塊硬盤(pán)構(gòu)建RAID10的組合,寫(xiě)入IOPS 540,掛載給數(shù)據(jù)庫(kù)應(yīng)用,容量利用率50%,也就是1.8TB(此處忽略1024和1000的磁盤(pán)容量計(jì)數(shù)差別)。剩下的5塊硬盤(pán)構(gòu)建RAID5的組,以獲取更多的容量,寫(xiě)入IOPS 225,容量2.4TB,掛載給備份應(yīng)用。
這種方式實(shí)現(xiàn)了性能與容量的平衡,但也有一些缺陷,由于切分了很多磁盤(pán)組,磁盤(pán)組之間的IO資源是無(wú)法共享的。因此作為應(yīng)對(duì)方案出現(xiàn)了資源池化的技術(shù)。
池化RAID的優(yōu)點(diǎn)顯而易見(jiàn)?;氐角懊娴睦?,數(shù)據(jù)庫(kù)可能在白天比較忙,備份通常在晚上工作,兩者有一個(gè)時(shí)間差,但任何一個(gè)應(yīng)用都可以使用11塊硬盤(pán)的IOPS。即使采用空間利用率高的RAID5,也有495的隨機(jī)IOPS,基本保證數(shù)據(jù)庫(kù)應(yīng)用。也有些用戶(hù)希望追求極限IOPS,因?yàn)檫@個(gè)時(shí)候的延遲會(huì)較小,他們就采用RAID 10的策略,隨機(jī)IOPS可以達(dá)到990,數(shù)據(jù)庫(kù)應(yīng)用跑的很爽,晚上跑備份也很快,只是容量會(huì)犧牲一些。
現(xiàn)在大家可以看到,磁盤(pán)塊級(jí)虛擬化解決了數(shù)據(jù)孤島的問(wèn)題,均衡了所有的前端IO到磁盤(pán)。是不是看起來(lái)很完美?其實(shí)這種方式依然不能在性能和容量之間求得一個(gè)很好的平衡(無(wú)論RAID 5還是RAID 10還是會(huì)犧牲一些容量或性能)。
//
而這個(gè)問(wèn)題最終被戴爾易安信SC系列獨(dú)創(chuàng)的RAID分層技術(shù)給有效解決了,魚(yú)和熊掌可以得兼!
//
2
RAID分層
讓性能與容量齊飛
簡(jiǎn)而言之,RAID分層技術(shù)就是把來(lái)自主機(jī)的數(shù)據(jù)以RAID 10的方式寫(xiě)入磁盤(pán),然后利用內(nèi)部機(jī)制,在線(xiàn)完成數(shù)據(jù)到RAID 5的轉(zhuǎn)換,實(shí)現(xiàn)實(shí)際占用空間的節(jié)約。
要知道,RAID 10和RAID 5在隨機(jī)寫(xiě)方面性能差異明顯,但讀性能是基本相當(dāng)?shù)模捎眠@種技術(shù),讀寫(xiě)性能都能達(dá)到較優(yōu)狀態(tài)。另一方面,由于把磁盤(pán)空間從RAID 10轉(zhuǎn)換為RAID 5,整體空間利用率有所提升,真正實(shí)現(xiàn)了容量和性能的平衡。
此時(shí)聰明的讀者立馬想到了一個(gè)問(wèn)題,這樣做好是好,但畢竟需要一個(gè)數(shù)據(jù)遷移的過(guò)程,會(huì)不會(huì)影響前端應(yīng)用的性能呢?
答案是不會(huì)的,因?yàn)橄到y(tǒng)通常在比較空閑的時(shí)候去做這件事情,例如晚上。就算系統(tǒng)24小時(shí)都繁忙,這個(gè)任務(wù)的優(yōu)先級(jí)也是比較低的,以不影響前端主機(jī)IO為前提,并且在極端情況下,客戶(hù)還可以選擇不采用這種策略,例如將某些卷設(shè)成讀寫(xiě)均為RAID 10,并非都是強(qiáng)制的。
而且在RAID 10轉(zhuǎn)化為RAID 5的過(guò)程中,系統(tǒng)還把另外兩個(gè)重要功能實(shí)現(xiàn)了,數(shù)據(jù)保護(hù)與數(shù)據(jù)縮減。這是SC系列真正巧妙的地方,所謂一箭三雕。
3
一箭三雕
遷移的過(guò)程就把大事小事都辦了
數(shù)據(jù)是企業(yè)重要的核心資產(chǎn),卻總是面臨各種各樣的風(fēng)險(xiǎn),例如某些心態(tài)不好的員工惡意刪除關(guān)鍵數(shù)據(jù)庫(kù)資料,或者無(wú)意間在一個(gè)錯(cuò)誤的路徑下輸入了一條rm -rf,都會(huì)對(duì)數(shù)據(jù)產(chǎn)生破壞,進(jìn)而影響系統(tǒng)的正常運(yùn)行,我們會(huì)在新聞里面看到類(lèi)似的事件,還有類(lèi)似勒索病毒讓你的文件無(wú)法打開(kāi)。
通常這個(gè)時(shí)候,我們都迫切希望有一個(gè)時(shí)光隧道,能夠快速回到故障前的狀態(tài),重新找回原來(lái)的一切。SC存儲(chǔ)天生就具有這種功能,稱(chēng)之為數(shù)據(jù)回放,默認(rèn)的情況下至少保留7天,一旦發(fā)生故障,穿越到最近的時(shí)間點(diǎn),就能找回你的數(shù)據(jù)。如果你的數(shù)據(jù)非常重要,還可以把回放的間隔設(shè)置的很短,并且結(jié)合指針調(diào)整的技術(shù),做到細(xì)微的性能影響。
在進(jìn)行數(shù)據(jù)分層,保存回放的同時(shí),如果客戶(hù)需要,SC存儲(chǔ)還能做一件事情,數(shù)據(jù)去重與壓縮。壓縮和去重的好處大家都明白,但性能的疑慮又產(chǎn)生了,畢竟需要切片,計(jì)算特征值,比對(duì)等等一系列的事情。這點(diǎn)SC存儲(chǔ)比較務(wù)實(shí),去重壓縮的目的是為了縮減空間,找一個(gè)空閑的時(shí)間慢慢做。數(shù)據(jù)先寫(xiě)入RAID 10,然后在轉(zhuǎn)換成RAID 5的時(shí)候把這個(gè)事情一起做了。
講到這里大家都明白了,數(shù)據(jù)遷移是有開(kāi)銷(xiāo),但如果在遷移的時(shí)候把數(shù)據(jù)保護(hù),數(shù)據(jù)縮減這些功能一起實(shí)現(xiàn)了,那這點(diǎn)開(kāi)銷(xiāo)就會(huì)顯得非常有價(jià)值。而且從SC存儲(chǔ)十多年的客戶(hù)沉淀看,并沒(méi)有因此而導(dǎo)致任何的副作用。
回到剛開(kāi)始我們的討論,由于采用了獨(dú)特的RAID技術(shù),SC系列的旗艦產(chǎn)品SC9000能夠在延遲小于1ms的情況下實(shí)現(xiàn)200萬(wàn)的IOPS;而且采用了RAID分層,壓縮去重等數(shù)據(jù)縮減技術(shù),又大大了節(jié)約了磁盤(pán)空間,降低了總體擁有成本。數(shù)據(jù)回放(快照)在性能影響小的情況下保留了用戶(hù)的多個(gè)數(shù)據(jù)副本,保護(hù)了用戶(hù)數(shù)據(jù)的邏輯故障。而且為了提升可用性,SC系列能夠?qū)崿F(xiàn)原生的存儲(chǔ)雙活,用存儲(chǔ)節(jié)點(diǎn)冗余的方式避免了設(shè)備的單點(diǎn)故障。
此外,傳統(tǒng)存儲(chǔ)的擴(kuò)容和升級(jí)換代也是一個(gè)讓用戶(hù)頭疼的問(wèn)題,很多情況下用戶(hù)需要申請(qǐng)停機(jī)窗口,把老存儲(chǔ)的數(shù)據(jù)遷移到新的存儲(chǔ)上,再重新啟動(dòng)業(yè)務(wù)。而SC系列擁有的在線(xiàn)遷移的功能,能夠在新老存儲(chǔ)節(jié)點(diǎn)間在線(xiàn)遷移數(shù)據(jù),而不影響前端的業(yè)務(wù)運(yùn)行。在可管理性方面,SC系列存儲(chǔ)有基于HTML5的Web管理方式,DSM軟件專(zhuān)有管理方式,CloudIQ云管理方式,除了日常的維護(hù)之外,還能夠提供咨詢(xún)建議,實(shí)現(xiàn)人工智能的運(yùn)維。
SC存儲(chǔ)助您數(shù)據(jù)安全無(wú)憂(yōu)
在我走訪(fǎng)的SC客戶(hù)時(shí),經(jīng)常會(huì)聽(tīng)到客戶(hù)有這樣的感慨:原來(lái)還有這樣的功能啊,早知道上一次我們就不需要從備份里面恢復(fù)數(shù)據(jù)了。
是的,作為一款軟件定義的存儲(chǔ)產(chǎn)品,SC系列的功能是非常多的,并且依然在不斷豐富中,滿(mǎn)足您各種工作負(fù)載的需求,助您安全無(wú)憂(yōu)的管理核心數(shù)據(jù)!
▲點(diǎn)戴爾易安信SC系列
相關(guān)閱讀推薦:三年多啦,那么多IT人還沒(méi)有搞定這個(gè)問(wèn)題