0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

存儲設備那點事:什么是RAID?RAID的等級

Linux閱碼場 ? 來源:未知 ? 作者:李倩 ? 2018-05-10 09:54 ? 次閱讀

引子

送人玫瑰,手有余香。這個時代需要分享,有交流,有碰撞,才有進步。今天我要分享的主題的是“存儲設備那點事”,這句話中需要高亮的關鍵詞是什么?是“存儲”?是“設備”?都不是,是“那點”。作為一個剛進入存儲行業(yè)不到兩年的小學生,能力有限水平一般,全靠房貸的壓力走到今天。存儲涉及方方面面,受到能力和篇幅的限制,實在難以言盡。本文主要目的是讓大家對存儲方面有些感性的認識,沒有很深入的技術細節(jié)。讀者中肯定會有行業(yè)前輩、技術大牛、開源社區(qū)達人、非洲部落的酋長,都保不齊的事,有不足之處還請多多批評指教。

說到存儲設備,各位有些人可能會想起這些:磁帶,軟盤,硬盤,U盤,以及早期街邊中年婦女兜售的光盤(都買過吧?隨著互聯(lián)網的發(fā)展,這個行業(yè)沒落了,唉!)。今天我們要說的存儲設備比這些略顯高級,但終究也沒有脫離它們。

我有一個1TB的移動硬盤,已經差不多裝滿了,最近有些擔憂,萬一哪次不小心摔在地上,可就報廢了,多年積攢的資料和回憶將付之東流,得想個辦法。那位說了,為啥不存在云盤?坦誠的講,我不太信任云盤服務商,不僅僅是局限于技術層面的不信任,誰在乎他們是不是背鍋的。又有人給建議,整個RAID吧。對,我們就從RAID說起。

什么是RAID?

RAID的洋文描述是Redundant Array of Independent Disks,國語通常翻譯成:獨立磁盤冗余陣列。打仗親兄弟,上陣父子兵,一個硬盤可能出現(xiàn)種種問題,RAID就是將一組硬盤通過各種組合,呈現(xiàn)出一個邏輯上的硬盤,彌補一些單個硬盤的缺陷(如IO性能,數(shù)據(jù)保護),這個邏輯上的硬盤從用戶角度看來和單個硬盤使用方式幾乎一樣,對用戶透明。

總結起來一句話:基友一生一起走,單身的痛苦不再有。

RAID的等級

RAID的等級就是硬盤以何種形式組合在一起,比如:RAID 0、RAID 1、RAID10、RAID 01、RAID 3、RAID 5、RAID 6等等,很多,相聲演員可以寫個貫口上臺表演了,這次就挑常見的說幾個。

RAID0

最簡單的RAID0由兩塊硬盤組成,如圖1所示,當用戶寫入數(shù)據(jù)的時候,例如數(shù)據(jù)塊A,實際上是將數(shù)塊A分為兩個部分,分別寫入Disk1和Disk2,B、C、D是同樣的操作??梢钥吹剑琑AID0并沒有解決前面我遇到的問題,Disk1或Disk2任何一塊盤壞了,保存的數(shù)據(jù)就會丟失,數(shù)據(jù)得不到保護。當然,優(yōu)點也是顯然的,數(shù)據(jù)并行的寫入兩塊盤,花費時間縮短了,理論上節(jié)省50%的時間,IO性能好。我們也可以使用更多的盤組成RAID0,那樣的話數(shù)據(jù)塊就會被分為更多分,并行寫入多塊盤,用時會更少。組成RAID0的各個硬盤地位是平等的,有任務兄弟們一起分擔,沒有誰的角色是特別的。

RAID1

你有我有全都有哇,哎嗨依兒呀,這就是那RAID1,不相信就往下看那。

只要2塊硬盤就可以組成一個RAID1,如圖2所示。RAID1的特點是用戶寫入的數(shù)據(jù)塊會被同時寫到組成RAID1的每一個硬盤,這些硬盤保存的數(shù)據(jù)一模一樣。所以,其中一塊硬盤損壞了,不要害怕,另外一塊硬盤仍舊保存完整的數(shù)據(jù)。有人要問了:”那要是兩塊硬盤都壞了呢?”,朋友,咱們好好聊天行嗎?本質上RAID1是在做備份,我們不也經常將電腦的文件拷貝到U盤或移動硬盤備份嘛。只不過這個備份是實時的,用戶每寫一個數(shù)據(jù)就立即備份。增加更多硬盤組成RAID1,也就增加備份數(shù)量,更保險,但需要花更多的錢買硬盤,當然,阿聰這樣的土豪另說。

RAID3

在說RAID3之前,先往回倒個三言兩語。前面的RAID0和RAID1的插圖中,每個硬盤都畫了一些小格子,保存A、B或A1、A2等。劃分這些小格子的行為稱為磁盤的條帶化(striping),又是一個新名詞,沒辦法,新的事物誕生總歸要取一個名字吧。早年間,管理論壇的人叫版主,維護博客的人叫博主?,F(xiàn)在呢,建立微信群的人叫群主,建立并維護公眾號的人呢?公主?宋老師答應嗎?

感受一下磁盤條帶化的效果,圖3所示,兩個盤沒有條帶化,用戶數(shù)據(jù)過來先寫Disk1,寫滿Disk1之后再寫Disk2,看到這樣的RAID你有什么感受?既沒有使得IO性能得到提升,也沒有數(shù)據(jù)保護功能,然后冠冕堂皇包裝成RAID。誰要是推銷這個RAID,作為有素質的人,咱不能爆粗口,叫個代罵服務先罵他100塊錢的。

有人問了(對,就是前面問問題的那個人):“這個例子太極端,如果我有一個很大的文件,我可以計算出6~10部分最終會保存到Disk2內,那么我就可以并行的寫入1~5到Disk1,6~10到Disk2”。如果Disk1是1TB的硬盤,你的文件有多大?大于1TB,現(xiàn)實世界又有多少場景存在這么大的文件呢?

我們繼續(xù)。圖4展示了條帶化之后的磁盤格式,如果說未經過條帶化是以盤為單位存儲的,即一個盤寫滿再寫下一個盤。那么條帶化之后,則是按照條帶為單位存儲的,寫滿一個條帶之后再寫下一個條帶。RAID的各個盤的同樣區(qū)域(偏移位置和大小確定的區(qū)域)組成了一個條帶。

接著看RAID3,圖5所示。Disk4是與眾不同的,作為校驗盤,它不保存用戶數(shù)據(jù),而是保存用戶數(shù)據(jù)的校驗值。Ap是A1、A2和A3的異或邏輯運算校驗值。同理Bp~Dp類似。這樣做的好處是:如果4塊盤有一塊盤壞了,我們可以從其它3塊盤讀出數(shù)據(jù),再次進行異或邏輯運算,計算出損壞盤的數(shù)據(jù),這一過程稱為數(shù)據(jù)重建。

舉個栗子:

假設初始A1=1,A2=0,A3=1,在存盤時候計算Ap=A1^A2^A2=1^0^1=0。

現(xiàn)在Disk3損壞,我們要計算A3,A3=A1^A2^Ap=1^0^0=1。得到了正確的A3!

考察一下RAID3特點,其一,可以并行的寫。其二,有校驗盤,允許一塊盤故障。其三,特別的,如果損壞的是校驗盤,不會影響此時用戶的讀操作。缺點也是有的,那就是用戶寫數(shù)據(jù)的時候,不管是向哪一個數(shù)據(jù)盤寫入數(shù)據(jù),都需要同時重寫校驗盤,對于寫操作頻繁的應用,校驗盤的負載很大,成為瓶頸。

那么,對于校驗數(shù)據(jù)的保存這個費時費力的工作能否均衡一下呢?不能老可一個人霍霍啊。

RAID5

RAID5沒有獨立的校驗盤。從下圖中找找Ap、Bp、Cp和Dp的位置,發(fā)現(xiàn)什么了嗎?對,每個盤同時扮演數(shù)據(jù)盤和校驗盤,校驗值寫入這個負載就分攤到每個盤上,前面RAID3遇到的校驗盤瓶頸就不存在了。

當一塊盤出現(xiàn)故障后,RAID將無法繼續(xù)提供服務,一般情況,運維人員會更換故障盤,新盤到位后,RAID進行數(shù)據(jù)重建,借助校驗算法,將丟失的數(shù)據(jù)恢復到新的盤中,然后RAID可以繼續(xù)提供服務。一些系統(tǒng)中支持熱備盤,當RAID中一塊硬盤(Disk2)故障后,系統(tǒng)從熱備盤中選擇一塊(Disk5),頂替故障盤角色,然后RAID立即進行數(shù)據(jù)重建,這樣就最大限度的減少了RAID停止服務的時間。沒錯,熱備盤就是備胎。

RAID5可以并行IO提升性能,數(shù)據(jù)校驗起到數(shù)據(jù)保護作用,也不存在校驗盤瓶頸,看起來不錯。

有人問了(對,還是前面問問題的那個人):“如果同時有2塊盤故障怎么把辦?”

“那就用RAID6,可以容忍有2塊盤故障?!?/p>

“如果同時有3塊盤故障怎么把辦?”

喂,代罵公司嗎?我再加100塊錢,馬上過來罵個人。

對的,要蛋定。RAID雖然比單個硬盤有很多優(yōu)勢,但也不是牛逼透頂?shù)?,也有解決不了的問題,也有Hold不住的極端情況。

RAID6以及其它RAID形式就不再展開了。您可以訪問這里繼續(xù)深造:

https://en.wikipedia.org/wiki/Standard_RAID_levels

順便提一下,RAID發(fā)展后期出現(xiàn)了RAID2.0,一個不以單個盤為RAID組成基本單位的技術。

花開兩朵,各表一枝。說了這么多關于RAID的內容,對于終端用戶呢?如何使用RAID呢?這是個問題。用戶當然可以買幾塊硬盤組成一個RAID,當成“大硬盤”來使用,對于臺式機還可以忍受,機箱大隨便裝。那么,筆記本電腦用戶呢?沒地方裝啊。USB外接式?你很優(yōu)雅的走進了星巴克,要了一杯咖啡,拿出高大上的蘋果電腦,傍邊的桌子上一堆硬盤,你告訴別人別碰,說是你的RAID?這是休閑呢還是擺攤呢。

這個世界上,只要有需求,哪怕變態(tài)的需求,都會有商家滿足你。想強身健體,有的商家就把中藥和酒混在一起,來吧,藥酒,可補可補了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 硬盤
    +關注

    關注

    3

    文章

    1283

    瀏覽量

    57199
  • RAID
    +關注

    關注

    0

    文章

    268

    瀏覽量

    35032
  • 存儲設備
    +關注

    關注

    0

    文章

    155

    瀏覽量

    18560

原文標題:EMC潘國林: 大話存儲系列之磁盤娶親(RAID)

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RAID技術全程指南

    獨立的大型存儲設備出現(xiàn)。RAID技術分為幾種不同的等級,分別可以提供不同的速度,安全性和性價比。人們在開發(fā)RAID時主要是基于以下設想,即幾
    發(fā)表于 03-30 11:48

    IDE-RAID芯片經驗總結

    RAID系統(tǒng),從而大大降低了RAID的“門檻”?! 拇?,個人用戶也開始關注這項技術,因為硬盤是現(xiàn)代個人計算機中發(fā)展最為“緩慢”和最缺少安全性的設備,而用戶存儲在其中的數(shù)據(jù)卻常常遠超計
    發(fā)表于 01-07 16:19

    RAID失敗

    嗨,我有一個Windows Server 2003和raid配置。我附上了英特爾存儲PC的快照和系統(tǒng)報告的詳細信息。從附件中,您將看到PC正在嘗試重新構建第二個RAID驅動器。不幸的是,重建不成功
    發(fā)表于 11-19 14:16

    RAID失敗

    嗨,我有一個Windows Server 2003和raid配置。我附上了英特爾存儲PC的快照和系統(tǒng)報告的詳細信息。從附件中,您將看到PC正在嘗試重新構建第二個RAID驅動器。不幸的是,重建不成功
    發(fā)表于 11-20 14:09

    RAID技術的概念特征

    RAID 技術相信大家都有接觸過,尤其是服務器運維人員,RAID 概念很多,有時候會概念混淆。這篇文章為網絡轉載,寫得相當不錯,它對 RAID 技術的概念特征、基本原理、關鍵技術、各種等級
    發(fā)表于 07-27 07:25

    RAID技術全解圖解-RAID0、RAID1、RAID5、RAID100【轉載】精選資料分享

    網絡轉載,寫得相當不錯,它對 RAID 技術的概念特征、基本原理、關鍵技術、各種等級和發(fā)展現(xiàn)狀進行了全面的闡述,并為用戶如何進行應用選擇提供了基本原則,對于初學者應該有很大的幫助。一、RAID 概...
    發(fā)表于 07-28 08:11

    (轉載)RAID技術全解圖解-RAID0、RAID1、RAID5、RAID100 精選資料分享

    RAID技術全解圖解-RAID0、RAID1、RAID5、RAID100一、RAID 概述二、基
    發(fā)表于 07-28 09:25

    RAID技術的基本原理是什么

    RAID技術的基本原理是什么?RAID技術有哪幾個優(yōu)勢?
    發(fā)表于 10-14 12:01

    什么是RAID? raid 1,raid 3 ,raid 5

    什么是RAID 5 數(shù)據(jù)及數(shù)據(jù)的奇偶校驗信息分散存儲在組成RAID 5的各個硬盤上。 RAID 5是數(shù)據(jù)安全,性能和存儲成本兼
    發(fā)表于 01-19 23:37 ?1660次閱讀

    RAID等級

    RAID等級  RAID技術分為幾種不同的等級,分別可以提供不同的速度,安全性和性價比。根據(jù)實際情況選擇適當?shù)?b class='flag-5'>RAID級別可以滿足用戶對
    發(fā)表于 12-26 16:06 ?446次閱讀

    RAID技術,RAID技術原理詳細解說

    RAID技術,RAID技術原理詳細解說 RAID入門基礎及RAID0技術詳解隨著計算機應用的日益普及,人們對計算速度和性能的要求也逐
    發(fā)表于 03-29 09:56 ?837次閱讀

    RAID5,RAID5工作原理是什么?

    RAID5,RAID5工作原理是什么? RAID 5 是一種存儲性能、數(shù)據(jù)安全和存儲成本兼顧的存儲
    發(fā)表于 03-29 10:09 ?4.8w次閱讀

    RAID0,RAID1和RAID5是什么意思,其原理是什么

    RAID0,RAID1和RAID5是什么意思,其原理是什么 RAID 0:無差錯控制的帶區(qū)組 要實現(xiàn)RAID0必須要有兩個以上硬盤驅動器,
    發(fā)表于 03-29 10:17 ?1.2w次閱讀

    RAID陣列卡,讓影視剪輯效率翻倍

    聯(lián)瑞RAID陣列卡支持RAID 0,RAID 1,RAID 10,JBOD等RAID等級,通過
    的頭像 發(fā)表于 02-26 15:01 ?402次閱讀
    <b class='flag-5'>RAID</b>陣列卡,讓影視剪輯效率翻倍

    軟件RAID 5的實現(xiàn)過程詳解

    RAID 5 是一種存儲性能、數(shù)據(jù)安全和存儲成本兼顧的存儲解決方案。RAID 5可以理解為是RAID
    的頭像 發(fā)表于 10-29 16:39 ?157次閱讀
    軟件<b class='flag-5'>RAID</b> 5的實現(xiàn)過程詳解