鏡像 mirroring 、數(shù)據(jù)條帶 data stripping 和數(shù)據(jù)校驗(yàn) data parity 。鏡像,將數(shù)據(jù)copy到多個(gè)磁盤(pán),冷磁盤(pán)陣列公司,一方面可以提高---性,另一方面可并發(fā)從兩個(gè)或多個(gè)副本讀取數(shù)據(jù)來(lái)提高讀性能。顯而易見(jiàn),鏡像的寫(xiě)性能要稍低, ---數(shù)據(jù)正確地寫(xiě)到多個(gè)磁盤(pán)需要更多的時(shí)間消耗。數(shù)據(jù)條帶,將數(shù)據(jù)分片保存在多個(gè)不同的磁盤(pán),多個(gè)數(shù)據(jù)分片共同組成一個(gè)完整數(shù)據(jù)副本,這與鏡像的多個(gè)副本是不同的,它通常用于性能考慮。數(shù)據(jù)條帶具有更高的并發(fā)粒度,當(dāng)訪問(wèn)數(shù)據(jù)時(shí),可以同時(shí)對(duì)位于不同磁盤(pán)上數(shù)據(jù)進(jìn)行讀寫(xiě)操作, 從而獲得非常---的 i/o 性能提升 。數(shù)據(jù)校驗(yàn),冷磁盤(pán)陣列公司,利用冗余數(shù)據(jù)進(jìn)行數(shù)據(jù)錯(cuò)誤檢測(cè)和修復(fù),冗余數(shù)據(jù)通常采用海明碼、異或操作等算法來(lái)計(jì)算獲得。利用校驗(yàn)功能,可以很大程度上提高磁盤(pán)陣列的---性、魯棒性和容錯(cuò)能力。不過(guò),數(shù)據(jù)校驗(yàn)需要從多處讀取數(shù)據(jù)并進(jìn)行計(jì)算和對(duì)比,會(huì)影響系統(tǒng)性能。 不同等級(jí)的 raid 采用一個(gè)或多個(gè)以上的三種技術(shù),來(lái)獲得不同的數(shù)據(jù)---性、可用性和 i/o 性能。至于設(shè)計(jì)何種 raid 甚至新的等級(jí)或類(lèi)型或采用何種模式的 raid ,需要在深入理解系統(tǒng)需求的前提下進(jìn)行合理選擇,綜合評(píng)估---性、性能和成本來(lái)進(jìn)行折中的選擇。
磁盤(pán)陣列其樣式有三種,一是外接式磁盤(pán)陣列柜、二是內(nèi)接式磁盤(pán)陣列卡,三是利用軟件來(lái)仿的真。 [2] 外接式磁盤(pán)陣列柜較常被使用大型服務(wù)器上,具可熱交換hot swap的特性,不過(guò)這類(lèi)產(chǎn)品的價(jià)格都很貴。 [2] 內(nèi)接式磁盤(pán)陣列卡,因?yàn)閮r(jià)格便宜,但需要較高的安裝技術(shù),適合---使用操作。硬件陣列能夠提供在線擴(kuò)容、動(dòng)態(tài)修改陣列級(jí)別、自動(dòng)數(shù)據(jù)恢復(fù)、驅(qū)動(dòng)器漫游、速緩沖等功能。它能提供性能、數(shù)據(jù)保護(hù)、---性、可用性和可管理性的解決方案。陣列卡的處理單元來(lái)進(jìn)行操作。 [2] 利用軟件仿的真的方式,是指通過(guò)網(wǎng)絡(luò)操作系統(tǒng)自身提供的磁盤(pán)管理功能將連接的普通scsi卡上的多塊硬盤(pán)配置成邏輯盤(pán),組成陣列。軟件陣列可以提供數(shù)據(jù)冗余功能,但是磁盤(pán)子系統(tǒng)的性能會(huì)有所降低,有的降低幅度還比較大,達(dá)30%左右。因此會(huì)拖累機(jī)器的速度,冷磁盤(pán)陣列,不適合大數(shù)據(jù)流量的服務(wù)器。
標(biāo)準(zhǔn)的raid寫(xiě)操作,需包括以下幾個(gè)步驟:
1以校驗(yàn)盤(pán)中讀取數(shù)據(jù)
2以目標(biāo)數(shù)據(jù)盤(pán)中讀取數(shù)據(jù)
3以舊校驗(yàn)數(shù)據(jù),新數(shù)據(jù)及已存在數(shù)據(jù),生成新的校驗(yàn)數(shù)據(jù)
4將新校驗(yàn)數(shù)據(jù)寫(xiě)入校驗(yàn)盤(pán)
5將新數(shù)據(jù)寫(xiě)入目標(biāo)數(shù)據(jù)盤(pán)
當(dāng)主機(jī)將一個(gè)待寫(xiě)入陣列raid組中的數(shù)據(jù)發(fā)送到陣列時(shí),陣列控制器將該數(shù)據(jù)保存在緩存中并立即報(bào)告主機(jī)該數(shù)據(jù)的寫(xiě)入工作已完成。該數(shù)據(jù)寫(xiě)入到陣列硬盤(pán)的工作由陣列控制器完成,該數(shù)據(jù)可繼續(xù)存放在cache中直到cache滿,而且要為新數(shù)據(jù)騰出空間而必須刷新時(shí)或陣列需停機(jī)時(shí),控制器會(huì)及時(shí)將該數(shù)據(jù)從cache寫(xiě)入陣列硬盤(pán)中。
這種緩存回寫(xiě)技術(shù)使得主機(jī)不必等待raid校驗(yàn)計(jì)算過(guò)程的完成,冷磁盤(pán)陣列公司,即可處理下一個(gè)讀寫(xiě)任務(wù),這樣,主機(jī)的讀寫(xiě)效率大為增加。當(dāng)主機(jī)命令將一個(gè)數(shù)據(jù)寫(xiě)入硬盤(pán),則陣列控制器將該數(shù)據(jù)寫(xiě)入緩存上面的位置,只有新數(shù)據(jù)才會(huì)被控制器按write-back cache的方式之后寫(xiě)入硬盤(pán)。