磁碟矩陣
簡介
磁碟矩陣又叫RAID,RAID是英文Redundant Array of Independent Disks的縮寫,翻譯成中文意思是"獨立磁碟冗餘陣列",有時也簡稱磁碟陣列(Disk Array)。 簡單的說,RAID是一種把多塊獨立的硬碟(物理硬碟)按不同的方式組合起來形成一個硬碟組(邏輯硬碟),從而提供比單個硬碟更高的存儲性能和提供數據備份技術。組成磁碟陣列的不同方式成為RAID級別(RAID Levels)。數據備份的功能是在用戶數據一旦發生損壞後,利用備份信息可以使損壞數據得以恢復,從而保障了用戶數據的安全性。在用戶看起來,組成的磁碟組就像是一個硬碟,用戶可以對它進行分區,格式化等等。總之,對磁碟陣列的操作與單個硬碟一模一樣。不同的是,磁碟陣列的存儲速度要比單個硬碟高很多,而且可以提供自動數據備份。
RAID技術的兩大特點
一是速度、二是安全,由於這兩項優點,RAID技術早期被套用於高級伺服器中的SCSI接口的硬碟系統中,隨著近年計算機技術的發展,PC機的CPU的速度已進入GHz 時代。IDE接口的硬碟也不甘落後,相繼推出了ATA66和ATA100硬碟。這就使得RAID技術被套用於中低檔甚至個人PC機上成為可能。RAID通常是由在硬碟陣列塔中的RAID控制器或電腦中的RAID卡來實現的。
RAID技術經過不斷的發展,現在已擁有了從 RAID 0 到 6 七種基本的RAID 級別。另外,還有一些基本RAID級別的組合形式,如RAID 10(RAID 0與RAID 1的組合),RAID 50(RAID 0與RAID 5的組合)等。不同RAID 級別代表著不同的存儲性能、數據安全性和存儲成本。但我們最為常用的是下面的幾種RAID形式。 (1) RAID 0 (2) RAID 1 (3) RAID 0+1 (4) RAID 3 (5) RAID 5
RAID級別的選擇因素
三個主要因素為:可用性(數據冗餘)、性能和成本。如果不要求可用性,選擇RAID0以獲得最佳性能。如果可用性和性能是重要的而成本不是一個主要因素,則根據硬碟數量選擇RAID 1。如果可用性、成本和性能都同樣重要,則根據一般的數據傳輸和硬碟的數量選擇RAID3、RAID5。
磁碟陣列
磁碟列陣與冗餘磁碟列陣
磁碟列陣是一種把若干硬磁碟驅動器按照一定要求組成一個整體,整個磁碟陣列由陣列控制器管理的系統。冗餘磁碟陣列RAID(Redundant Array of Independent Disks)技術1987年由加州大學伯克利分校提出,最初的研製目的是為了組合小的廉價磁碟來代替大的昂貴磁碟,以降低大批量數據存儲的費用(當時RAID稱為Redundant Array of Inexpensive Disks 廉價的磁碟陣列),同時也希望採用冗餘信息的方式,使得磁碟失效時不會使對數據的訪問受損失,從而開發出一定水平的數據保護技術。
磁碟陣列的工作原理與特徵
RAID的基本結構特徵就是組合(Striping),捆綁2個或多個物理磁碟成組,形成一個單獨的邏輯盤。組合套(Striping Set)是指將物理磁碟組捆綁在一塊兒。在利用多個磁碟驅動器時,組合能夠提供比單個物理磁碟驅動器更好的性能提升。數據是以塊(Chunks)的形式寫入組合套中的,塊的尺寸是一個固定的值,在捆綁過程實施前就已選定。塊尺寸和平均I/O需求的尺寸之間的關係決定了組合套的特性。總的來說,選擇塊尺寸的目的是為了最大程度地提高性能,以適應不同特點的計算環境套用。
磁碟陣列優點
首先,提高了存儲容量;其次,多台磁碟驅動器可並行工作,提高了數據傳輸率;RAID技術確實提供了比通常的磁碟存儲更高的性能指標、數據完整性和數據可用性,尤其是在當今面臨的I/O總是滯後於CPU性能的瓶頸問題越來越突出的情況下,RAID解決方案能夠有效地彌補這個缺口。
陣列技術(RAID技術)
RAID技術是一種工業標準,各廠商對RAID級別的定義也不盡相同。目前對RAID級別的定義可以獲得業界廣泛認同的有4種,RAID 0、RAID 1、RAID 0+1和RAID 5,我們常見的主機板自帶的陣列晶片或陣列卡能支持的模式有:RAID 0、RAID 1、RAID 0+1。 1) RAID 0是無數據冗餘的存儲空間條帶化,它將所有硬碟構成一個磁碟陣列,可以同時對多個硬碟做讀寫動作,但是不具備備份及容錯能力,具有成本低、讀寫性能極高、存儲空間利用率高等特點,在理論上可以提高磁碟子系統的性能。 2) RAID 1是兩塊硬碟數據完全鏡像,可以提高磁碟子系統的安全性,技術簡單,管理方便,讀寫性能均好。但它無法擴展(單塊硬碟容量),數據空間浪費大,嚴格意義上說,不應稱之為"陣列"。 3) RAID 0+1綜合了RAID 0和RAID 1的特點,獨立磁碟配置成RAID 0,兩套完整的RAID 0互相鏡像。它的讀寫性能出色,安全性高,但構建陣列的成本投入大,數據空間利用率低,不能稱之為經濟高效的方案。 常見的陣列卡晶片有三種: Promise(喬鼎信息)、highpoint、ami(美商安邁)。這三種晶片都有主機板集成或獨立的陣列卡這二種形式的產品。我們主要用到的是Promise陣列卡,經過測試在無盤中穩定,並且不容易壞。Promise常見的陣列晶片有: Promise Fasttrak 66、Fasttrak 100、Fasttrak 133、20262、20265、20267、20270、Fasttrak TX2、Fasttrak TX4、Fasttrak TX2000,TX4000.Highpoint常見的陣列晶片有:highpoint 370、370a、372、372a。AMI / LSI Logic MegaRAID 這種晶片的產品我們用得很少,現在知道的有艾崴 WO2-R主機板上集成了American Megatrends MG80649 控制器,其陣列卡的產品也沒有使用過。
注意事項
1) 用來創建磁碟陣列的硬碟一般需成對使用。
2) 強烈建議使用型號、容量、品牌均一致的四個硬碟來做陣列。
3) 陣列卡和一部分集成的陣列晶片支持雙陣列,當您使用四個硬碟來做陣列時,建議設定為雙陣列。但如果主機板集成的是Promise類晶片,幾乎都不支持創建雙陣列。
4)沒有安裝對應的陣列驅動程式或驅動程式不對,而又設定為由陣列啟動時,NT伺服器啟動時將會藍屏。任何創建陣列或者重建陣列的操作都將清除硬碟或者陣列上的所有現有數據陣列卡的作用,簡單的一句話就是加快網咖的速度,本為一個IDE的硬碟在帶30以上就會造成瓶頸,速度就會慢下來,想提高速度一定得做陣列,這樣不但速度快,以後加機器也不會有太大的影響。 做陣列注意的是: 陣列的一個誤區就是大家還是把磁碟分開來看,作為陣列,你只能把做陣列的硬碟當成一個大的硬碟!在拷盤前我們用SFDISK(或者用其它分區軟體,不用FDISK.EXE,因為FDISK.EXE只認80G,而一般做陣列後,硬碟都大於80G)對其進行分區,然後用GHOST將盤刻到陣列硬碟上面! 只要硬碟的位置與數據線不脫離,陣列卡如果換同名的陣列卡,其內容是不會改變的,因為陣列卡中相關參數設定保存在了硬碟當中。
磁碟陣列 1. 什麼是磁碟陣列(Disk Array)? 磁碟陣列(Disk Array)是由一個硬碟控制器來控制多個硬碟的相互連線,使多個硬碟的讀寫同步,減少錯誤,增加效率和可靠度的技術。 2.什麼是RAID? RAID是Redundant Array of Inexpensive Disk的縮寫,意為廉價冗餘磁碟陣列,是磁碟陣列在技術上實現的理論標準,其目的在於減少錯誤、提高存儲系統的性能與可靠度。常用的等級有1、3、5級等。 3.什麼是RAID Level 0? RAID Level 0是Data Striping(數據分割)技術的實現,它將所有硬碟構成一個磁碟陣列,可以同時對多個硬碟做讀寫動作,但是不具備備份及容錯能力,它價格便宜,硬碟使用效率最佳,但是可靠度是最差的。 以一個由兩個硬碟組成的RAID Level 0磁碟陣列為例,它把數據的第1和2位寫入第一個硬碟,第三和第四位寫入第二個硬碟以此類推,所以叫"數據分割",因為各盤數據的寫入動作是同時做的,所以它的存儲速度可以比單個硬碟快幾倍。 但是,這樣一來,萬一磁碟陣列上有一個硬碟壞了,由於它把數據拆開分別存到了不同的硬碟上,壞了一顆等於中斷了數據的完整性,如果沒有整個磁碟陣列的備份磁帶的話,所有的數據是無法挽回的。因此,儘管它的效率很高,但是很少有人冒著數據丟失的危險採用這項技術。 4.什麼是RAID Level 1? RAID Level 1使用的是Disk Mirror(磁碟映射)技術,就是把一個硬碟的內容同步備份複製到另一個硬碟里,所以具備了備份和容錯能力,這樣做的使用效率不高,但是可靠性高。 5.什麼是RAID Level 3? RAID Level 3採用Byte-interleaving(數據交錯存儲)技術,硬碟在SCSI控制卡下同時動作,並將用於奇偶校驗的數據儲存到特定硬碟機中,它具備了容錯能力,硬碟的使用效率是安裝幾個就減掉一個,它的可靠度較佳。 6.什麼是RAID Level 5? RAID Level 5使用的是Disk Striping(硬碟分割)技術,與Level 3的不同之處在於它把奇偶校驗數據存放到各個硬碟里,各個硬碟在SCSI控制卡的控制下平行動作,有容錯能力,跟Level 3一樣,它的使用效率也是安裝幾個再減掉一個。 7.什麼是熱插拔硬碟? 熱插拔硬碟英文名為Hot-Swappable Disk,在磁碟陣列中,如果使用支持熱插拔技術的硬碟,在有一個硬碟壞掉的情況下,伺服器可以不用關機,直接抽出壞掉的硬碟,換上新的硬碟。一般的商用磁碟陣列在硬碟壞掉的時候,會自動鳴叫提示管理員更換硬碟。 磁碟陣列(Disk array)原理 為什麼需要磁碟陣列? 如何增加磁碟的存取(acces)速度,如何防止數據因磁碟的故障而失落及如何有效的利用磁碟空間,一直是電腦專業人員和用戶的困憂;而大容量磁碟的價格非常昂貴,對用戶形成很大的負擔。磁碟陣列技術的產生一舉解決了這些問題。 過去十年來,CPU的處理速度幾乎是幾何級數的躍升,記憶體(memory)的存取速度亦大幅增加,而數據儲存裝置--它要是磁碟(hard disk)--的存取速度相較之下。較為緩慢。整個I/0吞吐量不能和系統匹配,形成電腦系統的瓶頸,降低了電腦系統的整體性能(throughout)若不能有效的提升磁碟的存取速度,CPU、記憶體及磁碟間的不平衡將使CPU及記憶體的改進形成浪費。 目前改進磁碟存取速度的方式主要有兩種。一是磁碟快取控制(disk cache controller),它將從磁碟讀取的數據存在快取記憶體(cache memory)中以減少磁碟存取的次數。數據的讀寫都在cache記憶體中進行,大幅增加存取的速度,如要讀取的數據不在cache記憶體中,或要寫數據到磁碟時,才做磁碟的存取動作。這種方式在單工期環境(Single-tasking envioronment)如DOS之下。對大量數據的存取有很好的性能(量小且頻繁的存取則不然)。但在多工(multi-tasking)環境之下(因為要不停的作數據交換(swapping)的動作)或資料庫(database) 的存取(因每一記錄都很小)就不能顯示其性能。這種方式沒有任何安全保障。 其一是使用磁碟陣列的技術。磁碟陣列是把多個磁碟組成一個陣列,當作單一磁碟使用,它將數據以分段(striping)的方式儲存在不同的磁碟中,存取數據時,陣列中的相關磁碟一起動作:大幅減低數據的存取時間,同時有更佳的空間利用率。磁碟陣列所利用的不同的技術,稱為RAID level,不同的level針對不同的系統及套用,以解決數據安全的問題。 一般高性能的磁碟陣列都足以硬體的形式來達成、進-步的把磁碟cache控制及磁碟陣列結合在-個控制器(RAID controler)或控制卡個,針對個同的用戶解決人們對磁碟輸出/入系統的四大要求: (1)增加存取速度。 (2)容錯(fault tolerance),即安全性。 (3)有效的利用磁碟空間。 (4)儘量的平衡CPU,記憶體及磁碟的性能並異,提高電腦的整體工作性能。 磁碟陣列原理 1987年,加州伯克利大學的一位人員發表了名為"磁碟陣列研究"的論文,正式提到了RAID也就是滋盤陣列,論文提出廉價的5.25"及3.5"的硬碟也能如大機器上的8"盤能提供人容量、高性能和數據的一致性,並詳述了RAIDl至5 的技術。 磁碟陣列針對不同的套用使用的不同技術,稱為RAID level,RAID是Redundant Array of Inexpenslve Disks的縮寫,而每一level代表一種技術,目前業界公認的標準是RAID0-RAID5。這個level並個代表技術的高低,level5並不高於level3,level1也個低於level4。至於要選擇哪一種RAID level的產品,純視用戶的操作環境(Operating envir0nment)及套用(application)而定,與level 的高低沒有必然的關係。RAID0沒有安全的保障,僅其快速,所以適合高速I/0 的系統;RAIDl適用於需安全性又要兼顧速度的系統,RAID2及RAID3適用於大型電腦及影像、CAD/CAM等處理;RAID5多用於0LTP,因有餘融機構及大型數據處理中心的迫切需要,故使用較多而較有名氣,但也因此形成很多人對磁碟陣列的誤解,以為磁碟陣列非要RAID5不可;RAID4較少使用、和RAID5 有其共同之處,但RAID4適合大量數據的存取。其他如RAID6,RAID7。乃至 RAIDl0、50、100等,都是廠商各做各的,並無一致的標準,在此不作說明。