磁碟陣

磁碟陣

磁碟陣列是把多個磁碟組成一個陣列,當作單一磁碟使用,它將數據以分段(striping)的方式儲存在不同的磁碟中,存取數據時,陣列中的相關磁碟一起動作,大幅減低數據的存取時間,同時有更佳的空間利用率。磁碟陣列所利用的不同的技術,稱為RAIDlevel,不同的level針對不同的系統及套用,以解決數據安全的問題。

目前業界公認的標準是RAID0~RAID5。這個level並不代表技術的高低,level5並不高於level3,level1也不低過level4,至於要選擇那一種RAIDlevel的產品,純視用戶的操作環境(operatingenvironment)及套用(application)而定,與level的高低沒有必然的關係。 RAID1 RAID1是使用磁碟鏡像(diskmirroring)的技術。磁碟鏡像套用在RAID1之前就在很多系統中使用,它的方式是在工作磁碟(workingdisk)之外再加一額外的備份磁碟(backupdisk),兩個磁碟所儲存的數據完全一樣,數據寫入工作磁碟的同時亦寫入備份磁碟。磁碟鏡像不見得就是RAID1,如NovellNetware亦有提供磁碟鏡像的功能,但並不表示Netware有了RAID1的功能。一般磁碟鏡像和RAID1有二點最大的不同: RAID1無工作磁碟和備份磁碟之分,多個磁碟可同時動作而有重疊(overlaping)讀取的功能,甚至不同的鏡像磁碟可同時作寫入的動作,這是一種最佳化的方式,稱為負載平衡(load-balance)。例如有多個用戶在同一時間要讀取數據,系統能同時驅動互相鏡像的磁碟,同時讀取數據,以減輕系統的負載,增加I/O的性能。 RAID1的磁碟是以磁碟延伸的方式形成陣列,而數據是以數據分段的方式作儲存,因而在讀取時,它幾乎和RAID0有同樣的性能。從RAID的結構就可以很清楚的看出RAID1和一般磁碟鏡像的不同。 RAID2 RAID2是把數據分散為位(bit)或塊(block),加入海明碼HammingCode,在磁碟陣列中作間隔寫入(Interleaving)到每個磁碟中,而且地址(address)都一樣,也就是在各個磁碟中,其數據都在相同的磁軌(cylinderortrack)及扇區中。RAID2的設計是使用共軸同步(spindlesynchronize)的技術,存取數據時,整個磁碟陣列一起動作,在各作磁碟的相同位置作平行存取,所以有最好的存取時間(accesstime),其匯流排(bus)是特別的設計,以大頻寬(bandwide)並行傳輸所存取的數據,所以有最好的傳輸時間(transfertime)。在大型檔案的存取套用,RAID2有最好的性能,但如果檔案太小,會將其性能拉下來,因為磁碟的存取是以扇區為單位,而RAID2的存取是所有磁碟平行動作,而且是作單位元的存取,故小於一個扇區的數據量會使其性能大打折扣。RAID2是設計給需要連續且大量數據的電腦使用的,如大型電腦(mainframetosupercomputer)、作影像處理或CAD/CAM的工作站(workstation)等,並不適用於一般的多用戶環境、網路伺服器(networkserver),小型機或PC。 RAID2的安全採用記憶體陣列(memoryarray)的技術,使用多個額外的磁碟作單位錯誤校正(single-bitcorrection)及雙位錯誤檢測(double-bitdetection);至於需要多少個額外的磁碟,則視其所採用的方法及結構而定,例如八個數據磁碟的陣列可能需要三個額外的磁碟,有三十二個數據磁碟的高檔陣列可能需要七個額外的磁碟。 RAID3 RAID3的數據儲存及存取方式都和RAID2一樣,但在安全方面以奇偶校驗(paritycheck)取代海明碼做錯誤校正及檢測,所以只需要一個額外的校檢磁盤(paritydisk)。奇偶校驗值的計算是以各個磁碟的相對應位作XOR的邏輯運算,然後將結果寫入奇偶校驗磁碟,任何數據的修改都要做奇偶校驗計算 如某一磁碟故障,換上新的磁碟後,整個磁碟陣列(包括奇偶校驗磁碟)需重新計算一次,將故障磁碟的數據恢復並寫入新磁碟中;如奇偶校驗磁碟故障,則重新計算奇偶校驗值,以達容錯的要求. 較之RAID1及RAID2,RAID3有85%的磁碟空間利用率,其性能比RAID2稍差,因為要做奇偶校驗計算;共軸同步的平行存取在讀檔案時有很好的性能,但在寫入時較慢,需要重新計算及修改奇偶校驗磁碟的內容。RAID3和RAID2有同樣的套用方式,適用大檔案及大量數據輸出入的套用,並不適用於PC及網路伺服器。 raid4 RAID4也使用一個校驗磁碟,但和RAID3不一樣。RAID4是以扇區作數據分段,各磁碟相同位置的分段形成一個校驗磁碟分段(parityblock),放在校驗磁碟。這種方式可在不同的磁碟平行執行不同的讀取命今,大幅提高磁碟陣列的讀取性能;但寫入數據時,因受限於校驗磁碟,同一時間只能作一次,啟動所有磁碟讀取數據形成同一校驗分段的所有數據分段,與要寫入的數據做好校驗計算再寫入。即使如此,小型檔案的寫入仍然比RAID3要快,因其校驗計算較簡單而非作位(bitlevel)的計算;但校驗磁碟形成RAID4的瓶頸,降低了性能,因有RAID5而使得RAID4較少使用。 RAID5 RAID5避免了RAID4的瓶頸,方法是不用校驗磁碟而將校驗數據以循環的方式放在每一磁碟中。磁碟陣列的第一個磁碟分段是校驗值,第二個磁碟至後一個磁碟再折回第一個磁碟的分段是數據,然後第二個磁碟的分段是校驗值,從第三個磁碟再折回第二個磁碟的分段是數據,以此類推,直到放完為止。圖中的第一個parityblock是由A0,A1...,B1,B2計算出來,第二個parityblock是由B3,B4,...,C4,D0計算出來,也就是校驗值是由各磁碟同一位置的分段的數據所計算出來。這種方式能大幅增加小檔案的存取性能,不但可同時讀取,甚至有可能同時執行多個寫入的動作,如可寫入數據到磁碟1而其parityblock在磁碟2,同時寫入數據到磁碟4而其parityblock在磁碟1,這對在線上交易處理(OLTP,On-LineTransactionProcessing)如銀行系統、金融、股市等或大型資料庫的處理提供了最佳的解決方案(solution),因為這些套用的每一筆數據量小,磁碟輸出入頻繁而且必須容錯。 事實上RAID5的性能並無如此理想,因為任何數據的修改,都要把同一parityblock的所有數據讀出來修改後,做完校驗計算再寫回去,也就是RMWcycle(Read-Modify-Writecycle,這個cycle沒有包括校驗計算);正因為牽一而動全身,所以: R:N(可同時讀取所有磁碟) W:1(可同時寫入磁碟數) S:N-1(利用率) RAID5的控制比較複雜,尤其是利用硬體對磁碟陣列的控制,因為這種方式的套用比其他的RAIDlevel要掌握更多的事情,有更多的輸出入需求,既要速度快,又要處理數據,計算校驗值,做錯誤校正等,所以價格較高;其套用最好是OLTP,至於用於圖像處理等,不見得有最佳的性能。 RAID0及RAID1適用於PC及PC相關的系統如小型的網路伺服器(networkserver)及需要高磁碟容量與快速磁碟存取的工作站等,比較便宜;RAID3及RAID4適用於大型電腦及影像、CAD/CAM等處理;RAID5多用於OLTP,因有金融機構及大型數據處理中心的迫切需要,故使用較多而較有名氣,RAID2較少使用,其他如RAID6,raid7,乃至RAID10等,都是廠商各做各的,並無一致的標準.

相關詞條

相關搜尋

熱門詞條

聯絡我們