• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 297,  comments - 15,  trackbacks - 0

            當(dāng)前影響計(jì)算機(jī)運(yùn)算速度的不是CPU,也不是內(nèi)存而是硬盤。為了是硬盤能有更好的性能表現(xiàn)人們開使使用一種新的磁盤技術(shù)——磁盤陣列技術(shù)。下面為大家詳細(xì)介紹各種磁盤陣列技術(shù)的特點(diǎn)。

            當(dāng)時(shí),RAID是解決我們存儲問題的靈丹妙藥。通過RAID,我們可以將文件系統(tǒng)擴(kuò)展得更大,獲得更高的吞吐率,甚至還可以增加冗余度以便讓我們可以承受磁盤損失的風(fēng)險(xiǎn)--這種風(fēng)險(xiǎn)在這段時(shí)間發(fā)生得尤其經(jīng)常。

            隨著NAS(網(wǎng)絡(luò)附加存儲)和SAN(存儲局域網(wǎng))設(shè)備的興起,我們已經(jīng)不是很需要那種深入到物理存儲然后調(diào)整物理存儲以滿足系統(tǒng)需求的技能了。這不是一件好事。我們僅僅是將存儲卸載到外部設(shè)備,這并不能改變我們需要深入理解存儲的事實(shí),我們還是需要在理解的基礎(chǔ)上調(diào)整存儲以滿足系統(tǒng)的特定需求。

            過去五到十年來,人們似乎誤以為RAID某種程度上相當(dāng)于系統(tǒng)備份。其實(shí)它不是。RAID是一種容錯(cuò)形式。

            備份和容錯(cuò)是不同的概念。備份讓你可以在災(zāi)難發(fā)生后恢復(fù)數(shù)據(jù)。容錯(cuò)是減少災(zāi)難發(fā)生的概率。你可以想象成容錯(cuò)是在懸崖頂部立一條護(hù)欄,而備份是在懸崖底部設(shè)立一座醫(yī)院。護(hù)欄和醫(yī)院都是你想要的,但是它們是完全不同的事物。

            一旦我們開始在驅(qū)動(dòng)器上實(shí)施RAID,無論是本地連接的還是存儲網(wǎng)絡(luò)上的遠(yuǎn)程設(shè)備,如今的我們可以根據(jù)業(yè)務(wù)需要選擇四種主要的RAID解決方案:RAID 1(鏡像);RAID 5(帶校驗(yàn)碼的條帶化);RAID 6(帶雙校驗(yàn)碼的條帶化);RAID 10(帶條帶的鏡像)。

            市場上還有其他類型的RAID,比如RAID 0,不過如果你真正理解你的驅(qū)動(dòng)器子系統(tǒng)需求的話,你就知道RAID 0只適用于很罕見的場合。RAID 50和51也被人們所使用,但是更加少見。十年前,RAID 1和RAID 5是很常見的,但是如今我們有更多的選擇。

            RAID類型

            現(xiàn)在我們一個(gè)一個(gè)來分析這些RAID,并討論基本的數(shù)據(jù)。在我們的例子中,我們使用"n"來表示陣列中驅(qū)動(dòng)器的數(shù)量,用"s"來表示單個(gè)驅(qū)動(dòng)器的大小。通過這些符號,我們可以描述任何陣列的可用存儲空間,讓存儲容量的比較更加方便。

            RAID 1

            在這種RAID類型中,驅(qū)動(dòng)器被鏡像。如果你有兩個(gè)驅(qū)動(dòng)器,那么它們同時(shí)一起做所有事情,也就是"鏡像"。鏡像可以非常穩(wěn)定,因?yàn)樗牧鞒谭浅:唵?,但是和完全不使用RAID的情況比起來,它需要你購買雙倍的驅(qū)動(dòng)器,因?yàn)槟阋獙⒌诙€(gè)驅(qū)動(dòng)器指定為冗余驅(qū)動(dòng)器。

            這種RAID的好處就是你可以確保你在磁盤上寫入的每個(gè)數(shù)據(jù)都被重復(fù)寫入,從而達(dá)到數(shù)據(jù)保護(hù)的目的。通過RAID 1,我們的可用容量計(jì)算是(n*s/2)。RAID 1所能提供的相對于非RAID驅(qū)動(dòng)器的性能提升很小。RAID 1的寫入速度和非RAID系統(tǒng)相當(dāng),而讀取速度在大部分情況下差不多是非RAID系統(tǒng)的兩倍,因?yàn)樵谧x取操作過程中,驅(qū)動(dòng)器可以并行地訪問,從而提高了吞吐率。RAID 1限定于雙驅(qū)動(dòng)器設(shè)置。

            RAID 5

            帶校驗(yàn)碼的條帶化。在這種類型的RAID中,數(shù)據(jù)通過復(fù)雜的條帶寫入到陣列中的所有驅(qū)動(dòng)器,同時(shí)分布式校驗(yàn)塊留在所有驅(qū)動(dòng)器上。通過這么做,RAID 5可以使用指定大小的三塊以上磁盤的陣列,而且只犧牲與單個(gè)校驗(yàn)磁盤相當(dāng)?shù)拇鎯θ萘?。但是校?yàn)碼是分布式的,它并不單獨(dú)存在于任何一塊物理磁盤。

            鑒于其成本經(jīng)濟(jì)性,RAID 5經(jīng)常被使用。在大型陣列中,RAID 5所帶來的容量損失是比較少的。和鏡像不同,帶校驗(yàn)碼的條帶化需要計(jì)算每條寫入條帶,這帶來了一些系統(tǒng)開銷。因此,RAID 5的吞吐量并不是那么容易計(jì)算,很大程度上需要依賴于系統(tǒng)在進(jìn)行校驗(yàn)碼計(jì)算時(shí)候的計(jì)算能力。

            計(jì)算RAID 5的容量很容易:就是((n-1)*s)。一個(gè)RAID 5陣列可以承受陣列中任何單個(gè)磁盤的故障和損失。

            RAID 6

            帶雙校驗(yàn)碼的冗余條帶化。RAID 6和RAID 5很像,不過使用的是兩個(gè)校驗(yàn)塊而不是一個(gè)校驗(yàn)塊,從而提高了對抗磁盤故障的保護(hù)能力。

            RAID 6是RAID家族的新成員。RAID 6是在幾年前在其他的RAID類型標(biāo)準(zhǔn)化后加入的。RAID 6比較特殊,因?yàn)樗梢猿惺荜嚵兄腥我鈨蓧K驅(qū)動(dòng)器的故障,并同時(shí)防止數(shù)據(jù)丟失。但是為了提高冗余度,RAID 6陣列需要犧牲陣列中相當(dāng)于兩塊驅(qū)動(dòng)器的容量,并要求陣列擁有最少四塊驅(qū)動(dòng)器。我們可以用((n-2)*s)來計(jì)算RAID 6的可用容量。

            RAID 10

            帶條帶化的鏡像。從技術(shù)上來說,RAID 10是復(fù)合RAID,結(jié)合了無校驗(yàn)碼條帶(RAID 0)和RAID 1。

            在陣列中只有兩塊驅(qū)動(dòng)器的情況下,許多廠商也使用RAID 10(或RAID 1+0)這個(gè)術(shù)語,不過實(shí)際上這種陣列只是RAID 1,因?yàn)橹挥嘘嚵兄袚碛兴膲K以上驅(qū)動(dòng)器條帶化才會開始運(yùn)作。通過RAID 10,驅(qū)動(dòng)器必須是一對一對地添加,因此陣列中驅(qū)動(dòng)器的數(shù)量只可能是偶數(shù)。

            RAID 10可以承受占驅(qū)動(dòng)器總數(shù)一半的驅(qū)動(dòng)器故障和損失,同時(shí)最多只能承受每對驅(qū)動(dòng)器中一個(gè)驅(qū)動(dòng)器的故障和損失。RAID 10沒有校驗(yàn)碼計(jì)算,這使得它相對于RAID 5或RAID 6有性能上的優(yōu)勢,對陣列驅(qū)動(dòng)器計(jì)算性能的要求也更低。在所有常見的RAID類型中,RAID 10提供了最高的讀取性能,因?yàn)樵谧x取操作中,陣列中的所有驅(qū)動(dòng)器都可以同時(shí)使用。但是它的寫入性能要更低。RAID 10的容量計(jì)算和RAID 1相同,即(n*s/2)。

            在如今的企業(yè)中,無論RAID軟件或硬件是否已經(jīng)實(shí)施,很少有IT部門需要考慮上述四種基本設(shè)置以外的驅(qū)動(dòng)器設(shè)置。以前,RAID陣列決策中最主要的考量就是可用容量。這是因?yàn)楫?dāng)年驅(qū)動(dòng)器比較貴而且容量比較小。

            如今,驅(qū)動(dòng)器都很大,存儲容量基本上不是問題,至少不像幾年前那樣。驅(qū)動(dòng)器的成本也下降了許多,因此購買更多的驅(qū)動(dòng)器以實(shí)現(xiàn)更高的冗余度也基本上不成問題。當(dāng)容量是主要顧慮的時(shí)候,RAID 5是比較受歡迎的選擇,因?yàn)楹推渌嚵蓄愋拖啾龋琑AID 5損失的容量比例最小。

            如今,我們有其他方面的顧慮,主要是數(shù)據(jù)安全性和性能?;ㄉ晕⒏嘁稽c(diǎn)錢來確保數(shù)據(jù)保護(hù)是比較明智的選擇。RAID 5只能承受一塊驅(qū)動(dòng)器的故障和損失。對于擁有三塊驅(qū)動(dòng)器的陣列,RAID 5的安全性只比RAID 1差一些。

            我們可能可以接受三塊驅(qū)動(dòng)器中損失一塊。三塊驅(qū)動(dòng)器損失一塊和兩塊驅(qū)動(dòng)器損失一塊相比好像沒那么讓人害怕。但是如果是更大的陣列呢,比如說16塊驅(qū)動(dòng)器?如果我們只能承受16塊驅(qū)動(dòng)器中損失一塊,那我們有理由懷疑系統(tǒng)的可靠性。

            RAID 6可以填補(bǔ)這個(gè)安全性空白。RAID 6在用于大型陣列的時(shí)候,不會犧牲多少存儲容量和性能,同時(shí)還提供可以承受任意兩塊驅(qū)動(dòng)器故障/損失的保護(hù)能力。帶校驗(yàn)碼的條帶化RAID的支持者經(jīng)常引用這些數(shù)字來安撫客戶的管理層,稱RAID 5/6可以提供足夠"物廉價(jià)美"的存儲子系統(tǒng)。但是用戶還有其他因素需要考慮。

            對RAID 10的分析

            在RAID的可靠性--這個(gè)也是很少被討論的話題--討論中,幾乎完全被忽視的一個(gè)問題就是校驗(yàn)碼計(jì)算的可靠性。

            在RAID 1或RAID 10的情況下,系統(tǒng)不需要"計(jì)算"來創(chuàng)建帶校驗(yàn)碼的條帶。系統(tǒng)以穩(wěn)定的方式簡單地寫入數(shù)據(jù)。當(dāng)一塊驅(qū)動(dòng)器發(fā)生故障的時(shí)候,它的伙伴會接過工作負(fù)荷,在替換 驅(qū)動(dòng)器之前,驅(qū)動(dòng)器性能會有一些下滑。系統(tǒng)沒有會影響現(xiàn)有驅(qū)動(dòng)器成員的重建流程,也沒有校驗(yàn)條帶重建流程。

            帶校驗(yàn)碼的RAID陣列需要有一定的計(jì)算操作來算出操作的數(shù)據(jù)是什么以及應(yīng)該將哪些數(shù)據(jù)放到驅(qū)動(dòng)器。雖然這種計(jì)算非常簡單,但是有出錯(cuò)的可能性。

            如果RAID 1或RAID 10陣列控制發(fā)生故障,從理論上來說,系統(tǒng)有可能在驅(qū)動(dòng)器的內(nèi)容中寫入壞數(shù)據(jù)。但是由于控制器本身沒有進(jìn)行驅(qū)動(dòng)器變動(dòng)的進(jìn)程,因此這種情況發(fā)生的可能性非常小,因?yàn)槌藙?chuàng)建鏡像外,系統(tǒng)沒有"重建"流程。

            當(dāng)帶校驗(yàn)碼的陣列執(zhí)行重建操作時(shí),它們會執(zhí)行復(fù)雜的進(jìn)程來逐步審視陣列的整個(gè)內(nèi)容,然后將丟失的數(shù)據(jù)寫回到被替代的驅(qū)動(dòng)器。就其本身來說是個(gè)簡單的步驟,應(yīng)該不需要擔(dān)心。

            我和其他一些人首先注意到的是稍微不同的情境,即由于與陣列的連接器松動(dòng)所導(dǎo)致的磁盤連接性的丟失。隨著時(shí)間的流逝,服務(wù)器中的驅(qū)動(dòng)器有可能會松動(dòng),尤其是持續(xù)服務(wù)好幾年以后。

            在極端的情況下,如果陣列控制器認(rèn)為一個(gè)或更多的驅(qū)動(dòng)器相繼發(fā)生故障,驅(qū)動(dòng)器中的好數(shù)據(jù)會被壞校驗(yàn)數(shù)據(jù)所覆蓋,然后返回在線并進(jìn)行重建。在這種情況下,驅(qū)動(dòng)器本身其實(shí)沒有發(fā)生故障,也沒有數(shù)據(jù)丟失。理論上來說其實(shí)只要重新調(diào)整一下驅(qū)動(dòng)器的位置就可以了。

            在 熱插拔系統(tǒng)中,在故障磁盤移除和替換的基礎(chǔ)上,驅(qū)動(dòng)器重建的管理經(jīng)常是自動(dòng)的。因此,在沒有人工干預(yù)的情況下,這種丟失和替換驅(qū)動(dòng)器的流程可能會發(fā)生-- 而重建流程會開始。在這種流程下,驅(qū)動(dòng)器系統(tǒng)會蒙受風(fēng)險(xiǎn),如果驅(qū)動(dòng)器陣列再發(fā)生這種情況,根據(jù)驅(qū)動(dòng)器的狀況,系統(tǒng)可能會開始條帶化壞數(shù)據(jù),并覆蓋正常的文 件系統(tǒng)。

            對于服務(wù)器管理員來說,最痛苦的莫過于看到?jīng)]有驅(qū)動(dòng)器故障的系統(tǒng)僅僅因?yàn)椴槐匾闹亟ú僮鞫鴣G失整個(gè)陣列。

            理論上來說,這種情況不應(yīng)該發(fā)生,而管理員應(yīng)采取措施來防止這類事件發(fā)生。但是判斷底層驅(qū)動(dòng)器控制器的情況,判定驅(qū)動(dòng)器當(dāng)前和過去的情況,以及判斷驅(qū)動(dòng)器所承載的數(shù)據(jù)的質(zhì)量并不是那么容易,還是有可能發(fā)生錯(cuò)誤。

            雖然這種事情發(fā)生的概率不高,但是它還是有發(fā)生的可能,并使得RAID 5和RAID 6系統(tǒng)的風(fēng)險(xiǎn)計(jì)算幾乎變得不可能。除了陣列可以容許的驅(qū)動(dòng)器故障/損失數(shù)量外,我們必須考慮校驗(yàn)碼錯(cuò)誤的風(fēng)險(xiǎn)。隨著驅(qū)動(dòng)器變得更加可靠,校驗(yàn)碼錯(cuò)誤風(fēng)險(xiǎn)顯得更加醒目。

            此外,RAID 5和RAID 6校驗(yàn)碼需要計(jì)算,帶來了系統(tǒng)負(fù)擔(dān)。校驗(yàn)碼的計(jì)算通常是由專門的RAID硬件來執(zhí)行的。這種計(jì)算帶來了驅(qū)動(dòng)器子系統(tǒng)的延遲性,不過延遲性的大小很大程度上 取決于硬件與軟件的設(shè)置。這使得我們幾乎無法比較RAID之間的性能水平,因?yàn)槊糠N設(shè)置都是獨(dú)一無二的。

            如今,RAID決策中最大的問題就是我們可以方便地獲得有關(guān)存儲效率和驅(qū)動(dòng)器容錯(cuò)的指標(biāo),但是有關(guān)可靠性和性能的指標(biāo)卻幾乎無法獲得。這里面隱藏的危險(xiǎn)是人們經(jīng)常關(guān)注那些可以方便衡量的因素而忽視那些無法方便衡量的因素,盡管這些無法方便衡量的因素有可能帶來重大影響。

            所有類型的RAID都有自己的立足之地,關(guān)鍵是考慮使用背景并對風(fēng)險(xiǎn)有完整的理解。我們應(yīng)該爭取從現(xiàn)在行業(yè)中廣泛使用的RAID 5轉(zhuǎn)變到RAID 10。驅(qū)動(dòng)器現(xiàn)在很便宜,而數(shù)據(jù)損失所帶來的成本很昂貴。

            from:

            http://tech.watchstor.com/storage-module-121402.htm

            posted on 2010-01-25 22:30 chatler 閱讀(485) 評論(0)  編輯 收藏 引用 所屬分類: storage
            <2010年8月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

            • cloudward
            • 感覺這個(gè)博客還是不錯(cuò),雖然做的東西和我不大相關(guān),覺得看看還是有好處的

            network

            OSS

            • Google Android
            • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
            • os161 file list

            overall

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            国产亚洲色婷婷久久99精品| 亚洲第一极品精品无码久久| 久久久精品国产sm调教网站| 无码任你躁久久久久久| 精品免费久久久久国产一区| 狠狠色丁香婷婷久久综合不卡| 一本色道久久88精品综合| 一级女性全黄久久生活片免费 | 三上悠亚久久精品| 久久91精品国产91久| 久久综合五月丁香久久激情| 99久久99久久精品国产| 66精品综合久久久久久久| 99久久成人国产精品免费| 国产Av激情久久无码天堂| 国产一级持黄大片99久久| 免费观看久久精彩视频| 国产精品伊人久久伊人电影| 久久国产香蕉视频| 久久人人爽人人爽AV片| 久久亚洲欧洲国产综合| 久久婷婷五月综合97色直播| 一本久久知道综合久久| 国内精品九九久久久精品| 成人免费网站久久久| 久久精品二区| 欧美黑人激情性久久| 久久人人爽人人爽人人片AV不 | 久久久久久免费一区二区三区| 成人国内精品久久久久影院| 国产综合成人久久大片91| 四虎久久影院| 久久人人爽人人爽人人AV东京热 | 国产香蕉97碰碰久久人人| 色播久久人人爽人人爽人人片aV| 亚洲?V乱码久久精品蜜桃| 久久婷婷五月综合97色一本一本| 久久免费线看线看| 亚洲人成无码久久电影网站| 久久人人妻人人爽人人爽| 国产精品久久久天天影视香蕉|