第3章 存儲和網(wǎng)絡傳輸
3.1 存儲基礎
3.1.1 RAID基礎知識(1)
RAID(獨立冗余磁盤陣列是)指由多個獨立硬盤結合形成的一個較大的邏輯陣列。數(shù)據(jù)存儲在磁盤的此陣列并帶有附加的冗余信息。冗余信息可以是數(shù)據(jù)
本身(鏡像),也可以是從多個數(shù)據(jù)塊(RAID4或RAID5)計算出的奇偶校驗信息。使用RAID后,操作系統(tǒng)(Windows、NetWare或
UNIX)不再單獨處理單個硬盤,而是把整個磁盤陣列作為一個邏輯磁盤來處理。
RAID 的主要目標是提高數(shù)據(jù)的可用性和安全性。一旦出現(xiàn)硬盤故障,RAID可以防止停機,但是它不可以恢復用戶刪除或者由失竊或火災等重大事件破壞的數(shù)據(jù)。出于此原因,安裝 RAID后,為防止這些原因破壞系統(tǒng),必須經(jīng)常備份數(shù)據(jù)。
實施RAID解決方案有兩種方法。其一,硬件RAID控制器是智能設備,可以自行處理所有的RAID信息。安裝這種系統(tǒng)后,主機對RAID陣列的控
制完全解除,而是由 RAID
控制器對RAID陣列進行全面控制。另一種方法是使用簡易的主適配器和RAID驅動程序實施RAID。在這種系統(tǒng)中,驅動程序被集成到操作系統(tǒng)中,如
Windows NT。此時,RAID系統(tǒng)的性能完全依賴于主 CPU 的處理負荷,在陣列重建階段負荷帶有潛在的問題,隨之會出現(xiàn)硬盤故障。
硬件RAID控制器需要關注的地方包括安裝和維護的簡便性、管理軟件的功能及制造商開發(fā)RAID組件的經(jīng)驗。RAID控制器必須支持最重要的RAID級別(0、1、4、5和10),并且能夠跨通道同時處理不同RAID級別的多個陣列。
RAID級別--驅動器是如何組織:RAID的各個層次在陣列驅動器之間以不同方式分布數(shù)據(jù),并依具體情況進行優(yōu)化。根據(jù)目標,計劃集中在當今是最常用的RAID級別。
1.RAID 0
此RAID級別使兩個或更多硬盤驅動器以某種方式結合,如圖3-1所示,數(shù)據(jù)(深色存儲區(qū)的A、B、C、D……)從上方被分割成便于處理的塊,這些
塊以條帶形式分布于不同驅動器的RAID
0陣列。這樣,兩個或更多硬盤驅動器組合后,讀/寫(尤其是序列性訪問讀寫)性能可以改善,但是由于其中不儲存冗余信息,對于一個,RAID
0陣列,如果一個硬盤驅動器發(fā)生故障,所有數(shù)據(jù)都會丟失。因此,RAID 0通常不能在安全性較高的服務器上使用。
特點和優(yōu)點:RAID 0中,數(shù)據(jù)被分成塊,每個塊都被寫到一個驅動器中。由于I/O負載由多個通道和驅動器分擔,所以I/O性能很高。當使用多個控制器且每個控制器上只連接一個驅動器時,性能達到最高。沒有使用奇偶校驗,設計簡單、容易實現(xiàn)。
缺點:由于沒有冗余,所以并不是真正的RAID。其中任一個磁盤發(fā)生故障,所有數(shù)據(jù)將丟失。
應用:通常用于工作站臨時數(shù)據(jù)并要求高傳輸速率,如圖像或視頻等領域。
2.RAID 1
RAID
1,又稱鏡像,即每個工作盤都有一個鏡像盤,如圖3-2所示,每次寫數(shù)據(jù)時必須同時寫入鏡像盤,讀數(shù)據(jù)時只從工作盤讀出,一旦工作盤發(fā)生故障立即轉入鏡像
盤,從鏡像盤中讀出數(shù)據(jù)。當更換故障盤后,數(shù)據(jù)可以重構、恢復。這種陣列可靠性很高,但其有效容量減小到總容量的一半以下時,兩個磁盤驅動器共享一個
SCSI通道。 如果每個磁盤驅動器連接到一個獨立的 SCSI通道,稱之為"磁盤雙工"(附加安全性)。
|
圖3-1 RAID 0原理示意圖 |
3.RAID 2
RAID 2又稱位交叉,它采用漢明碼做盤錯校驗,采用按位交叉存取,運用于大數(shù)據(jù)的讀寫,但冗余信息開銷太大(校驗盤為多個),已被淘汰。
4.RAID 3
RAID
3為單盤容錯并行傳輸,即采用Stripping技術將數(shù)據(jù)分塊,對這些塊進行異或校驗,校驗數(shù)據(jù)寫到最后一個硬盤上。它的特點是有一個盤為校驗盤,數(shù)據(jù)
以位或字節(jié)的方式存于各盤中(分散記錄在組內相同扇區(qū)的各個硬盤上)。當一個硬盤發(fā)生故障時,除故障盤外,寫操作將繼續(xù)對數(shù)據(jù)盤和校驗盤進行操作。而讀操
作是通過對剩余數(shù)據(jù)盤和校驗盤的異或計算重構故障盤上應有的數(shù)據(jù)來進行的。在RAID
3中,數(shù)據(jù)塊被拆分寫到數(shù)據(jù)盤中,在寫入時計算校驗和并將校驗和寫到校驗盤中,在讀取數(shù)據(jù)時同時讀取校驗和。
優(yōu)點:并行I/O傳輸和單盤容錯,具有很高可靠性、非常高的讀取速率和非常高的寫入速率。驅動器失敗對數(shù)據(jù)吞吐沒什么影響,ECC盤與數(shù)據(jù)盤的比率較低,意味著利用率較高。
缺點:每次讀寫要牽動整個組,每次只能完成一次I/O,理想處理能力與單驅動器相同??刂破鞯脑O計非常復雜,要使用軟件組件非常困難,非常耗費資源。
推薦的應用:視頻制作和在線視頻流、圖像編輯、視頻編輯、印刷應用、任何需要大吞吐量的場合。
5.RAID 4
RAID 4與RAID 3相似,區(qū)別是RAID 3是按位或字節(jié)交叉存取,而RAID
4是按塊(扇區(qū))存取,如圖3-3所示,可以單獨地對某個盤進行操作,無須像RAID 3那樣,每一次I/O操作都要涉及全組,RAID
4只需涉及組中兩塊硬盤(一塊數(shù)據(jù)盤,一塊校驗盤)即可,從而提高了小量數(shù)據(jù)I/O速度。
缺點:對于隨機分散的小數(shù)據(jù)量I/O,固定的校驗盤又成為I/O瓶頸,例如:事務處理。做兩個很小的寫操作,一個寫在硬盤2(drive2)的條帶
1(stripe1)上,一個寫在硬盤3(drive3)的條帶2(stripe2)上,它們都要往校驗盤上寫,所以會發(fā)生爭用校驗盤的問題。
|
圖3-3 RAID 4原理示意圖 |
優(yōu)點:可用性高,即使一個磁盤發(fā)生故障,邏輯硬盤上的數(shù)據(jù)依然可用;很好地利用了磁盤容量(N個磁盤的陣列,N-1用于數(shù)據(jù)存儲)。
缺點:必須計算冗余信息,這樣就限制了寫入性能。
應用:由于安裝容量與實際可用容量的比率較高,通常用于較大的數(shù)據(jù)存儲系統(tǒng)。
6.RAID 5
RAID 5是一種旋轉奇偶校驗獨立存取的陣列方式,它與RAID 3、RAID
4不同的是沒有固定的校驗盤,而是按某種規(guī)則分布在陣列所屬的硬盤上,所以在每塊硬盤上,既有數(shù)據(jù)信息也有校驗信息,如圖3-4所示。這一改變解決了爭用
校驗盤的問題,使得在同一組內并發(fā)進行多個寫操作。所以RAID
5既適用于大數(shù)據(jù)量的操作,也適用于各種事務處理,它是一種快速、大容量和容錯分布合理的磁盤陣列??捎萌萘繛椋╪-1)/n的總磁盤容量(n為磁盤
數(shù))。
|
圖3-4 RAID 5原理示意圖 |
RAID 5把奇偶位信息分散分布在硬盤子系統(tǒng)的所有硬盤上而不是使用專用的校驗盤0,這就改善了上述RAID
3中的奇偶盤瓶頸效應。圖3-4說明了RAID
5的一種配置,圖3-4中奇偶信息散布在子系統(tǒng)的每個硬盤上。利用每個硬盤的一部分來組成校驗盤,寫入硬盤的奇偶位信息將較均勻地分布在所有硬盤上。所以
用戶可能把一個數(shù)據(jù)段寫在硬盤A,而將奇偶信息寫在硬盤B,第二個用戶可能把數(shù)據(jù)寫在硬盤C,而奇偶信息寫在硬盤D,從而使得RAID
5的性能得到提高。
這種方法將提高硬盤子系統(tǒng)的事務處理速度。所謂事務處理,是指處理不同用戶的多個硬盤I/O操作,由于可能有很多用戶迅速向硬盤寫入數(shù)據(jù),有時幾乎是同時進行的,這種情況下,用分布式奇偶盤的方式比起用專用奇偶盤,瓶頸效應發(fā)生的可能性要小。
對硬盤操作來說,RAID 5的寫性能比不上直接硬盤分段(指沒有校驗信息的RAID
0),因為產(chǎn)生或存儲奇偶碼需要一些額外操作。例如,在修改一個硬盤上的數(shù)據(jù)時,其他盤上對應的數(shù)據(jù)段(即使是無關的數(shù)據(jù))也要讀入主機,以便產(chǎn)生必要的
奇偶信息。奇偶段產(chǎn)生后(這要花一些時間),要將更新的數(shù)據(jù)段和奇偶段寫入硬盤,這通常稱為讀-修改-寫策略。因此,雖然RAID 5比RAID
0優(yōu)越,但就寫性能來說,RAID 5不如RAID 0。
優(yōu)點:可用性高,即使一個磁盤發(fā)生故障,邏輯硬盤上的數(shù)據(jù)依然可用。很好地利用了磁盤容量(N個磁盤的陣列,N-1用于數(shù)據(jù)存儲)。
缺點:必須計算冗余信息,這樣就限制了寫入性能。
應用:文件和程序服務器,數(shù)據(jù)庫服務器,Web、E-mail和新聞服務器,企業(yè)內部互聯(lián)網(wǎng)。 |
圖3-2 RAID 1原理示意圖 |
其特點如下。
RAID 1的每一個磁盤都具有一個對應的鏡像盤,任何時候數(shù)據(jù)都同步鏡像,系統(tǒng)可以從一組鏡像盤中的任何一個磁盤讀取數(shù)據(jù)。
磁盤所能使用的空間只有磁盤容量總和的一半,系統(tǒng)成本高。
只要系統(tǒng)中任何一對鏡像盤中至少有一塊磁盤可以使用,在一半數(shù)量的硬盤出現(xiàn)問題時系統(tǒng)都可以正常運行。
出現(xiàn)硬盤故障的RAID系統(tǒng)不再可靠,應當及時更換損壞的硬盤,否則如果剩余的鏡像盤也出現(xiàn)問題,那么整個系統(tǒng)就會崩潰。
更換新盤后原有數(shù)據(jù)會需要很長時間同步鏡像,外界對數(shù)據(jù)的訪問不會受到影響,只是這時整個系統(tǒng)的性能有所下降。
RAID 1磁盤控制器的負載相當大,用多個磁盤控制器可以提高數(shù)據(jù)的安全性和可用性。
應用:通常用于對容錯要求極嚴的應用場合,如財政、金融等領域。 7.RAID 10
RAID 10綜合了RAID 0(性能)和RAID 1(數(shù)據(jù)安全)。與RAID 4和RAID 5不同,它不用計算奇偶校驗信息。RAID
10磁盤陣列提供了良好的性能和數(shù)據(jù)安全性。類似于RAID 0,在較高序列負載條件下可以保證最佳性能。與RAID
1相同,50%的安裝容量被用作冗余,如圖3-5所示。
優(yōu)點:可用性高,即使一個磁盤發(fā)生故障,邏輯硬盤上的數(shù)據(jù)依然可用;良好的寫入性能。
缺點:需要偶數(shù)個磁盤,最少4個,只有一半的磁盤容量可用。
應用:通常用于需要較高序列寫入性能的場合。
|
圖3-5 RAID 10原理示意圖 |
|