【廣告】
磁盤陣列
獨(dú)立磁盤冗余陣列是把相同的數(shù)據(jù)存儲(chǔ)在多個(gè)硬盤的不同的地方的方法。通過把數(shù)據(jù)放在多個(gè)硬盤上,輸入輸出操作能以平衡的方式交疊,改良性能。因?yàn)槎鄠€(gè)硬盤增加了平均故障間隔時(shí)間(MTBF),儲(chǔ)存冗余數(shù)據(jù)也增加了容錯(cuò)。 由加利福尼亞大學(xué)伯克利分校(University of California-Berkeley)在1988年,發(fā)表的文章:“A Case for Redundant Arrays of Inexpensive Disks”。文章中,談到了RAID這個(gè)詞匯,而且定義了RAID的5層級。伯克利大學(xué)研究目的是反映當(dāng)時(shí)CPU快速的性能。CPU效能每年大約成長30~50%,而硬磁機(jī)只能成長約7%。研究小組希望能找出一種新的技術(shù),在短期內(nèi),立即提升效能來平衡計(jì)算機(jī)的運(yùn)算能力。在當(dāng)時(shí),柏克萊研究小組的主要研究目的是效能與成本。 另外,研究小組也設(shè)計(jì)出容錯(cuò)(fault-tolerance),邏輯數(shù)據(jù)備份(logical data redundancy),而產(chǎn)生了RAID理論。研究初期,便宜(Inexpensive)的磁盤也是主要的重點(diǎn),但后來發(fā)現(xiàn),大量便宜磁盤組合并不能適用于現(xiàn)實(shí)的生產(chǎn)環(huán)境,后來Inexpensive被改為independent,許多獨(dú)立的磁盤組
磁盤陣列維護(hù)
加強(qiáng)磁盤陣列的日常管理與維護(hù),是保證磁盤陣列正常工作的重要手段。作為一名存儲(chǔ)的管理人員,日常維護(hù)中應(yīng)該關(guān)注以下: [7] ①設(shè)置熱備源盤將一只硬盤設(shè)置為熱備源盤,會(huì)造成一定的浪費(fèi),但從安全角度考慮是值得的。大容量的磁盤陣列使用RAID5,但有一個(gè)硬盤的冗余。如果一個(gè)硬盤損壞,整個(gè)陣列的安全會(huì)處于一種臨界狀態(tài),此時(shí)任何一個(gè)硬盤的一點(diǎn)點(diǎn)閃失都會(huì)造成災(zāi)難性的后果,使數(shù)據(jù)全部丟失。設(shè)置有熱備源盤,當(dāng)硬盤發(fā)生故障時(shí),系統(tǒng)會(huì)自動(dòng)用熱備源盤去替換故障盤并重建陣列,隨后數(shù)據(jù)又會(huì)處于完全保護(hù)之中。 [7] ②重要數(shù)據(jù)勤備份應(yīng)該經(jīng)常對特別重要的數(shù)據(jù)進(jìn)行備份,這樣就不至于將“雞蛋放在一個(gè)籃子里”,即使是安全性較高的磁盤陣列也不會(huì)一定安全。 [7] ③建立巡視檢查制度磁盤陣列還能夠工作,并不表示沒有發(fā)生故障。當(dāng)磁盤陣列發(fā)生故障時(shí),磁盤陣列存儲(chǔ)系統(tǒng)的數(shù)據(jù)讀寫通常是正常的。這正是磁盤陣列的一種安全性措施,但往往又讓管理人員產(chǎn)生一種錯(cuò)覺,以為磁盤陣列沒有故障發(fā)生。對磁盤陣列定時(shí)的巡視檢查,既可以發(fā)現(xiàn)已經(jīng)發(fā)生的故障,還可以了解設(shè)備的工作狀態(tài),起到防患于未然的作用。
RAID 中主要有三個(gè)關(guān)鍵概念和技術(shù)
鏡像( Mirroring )、數(shù)據(jù)條帶( Data Stripping )和數(shù)據(jù)校驗(yàn)( Data parity )。鏡像,將數(shù)據(jù)copy到多個(gè)磁盤,一方面可以提高可靠性,另一方面可并發(fā)從兩個(gè)或多個(gè)副本讀取數(shù)據(jù)來提高讀性能。顯而易見,鏡像的寫性能要稍低, 確保數(shù)據(jù)正確地寫到多個(gè)磁盤需要更多的時(shí)間消耗。數(shù)據(jù)條帶,將數(shù)據(jù)分片保存在多個(gè)不同的磁盤,多個(gè)數(shù)據(jù)分片共同組成一個(gè)完整數(shù)據(jù)副本,這與鏡像的多個(gè)副本是不同的,它通常用于性能考慮。數(shù)據(jù)條帶具有更高的并發(fā)粒度,當(dāng)訪問數(shù)據(jù)時(shí),可以同時(shí)對位于不同磁盤上數(shù)據(jù)進(jìn)行讀寫操作, 從而獲得非??捎^的 I/O 性能提升 。數(shù)據(jù)校驗(yàn),利用冗余數(shù)據(jù)進(jìn)行數(shù)據(jù)錯(cuò)誤檢測和修復(fù),冗余數(shù)據(jù)通常采用海明碼、異或操作等算法來計(jì)算獲得。利用校驗(yàn)功能,可以很大程度上提高磁盤陣列的可靠性、魯棒性和容錯(cuò)能力。不過,數(shù)據(jù)校驗(yàn)需要從多處讀取數(shù)據(jù)并進(jìn)行計(jì)算和對比,會(huì)影響系統(tǒng)性能。 不同等級的 RAID 采用一個(gè)或多個(gè)以上的三種技術(shù),來獲得不同的數(shù)據(jù)可靠性、可用性和 I/O 性能。至于設(shè)計(jì)何種 RAID (甚至新的等級或類型)或采用何種模式的 RAID ,需要在深入理解系統(tǒng)需求的前提下進(jìn)行合理選擇,綜合評估可靠性、性能和成本來進(jìn)行折中的選擇。