新聞中心
聯系我們
Contact us
Contact us
- 總部電話010-51727811
- 客服熱線400 779 6696
- 更多聯系信息
RAID磁盤陣列技術原理介紹
時間:2012-06-28 09:29 來源:飛客數據恢復 作者:飛客數據恢復工程師
如今磁盤陣列中針對不同的應用使用的不同技術,使用這些技術可在磁盤陣列受到災害時保護數據丟失,這種技術就是我們常說的RAIDlevel技術(簡稱RAID)。
RAID是RedundantArrayofInexpensiveDisks的縮寫,而每一level代表一種技術,目前業界公認的標準是RAID0~RAID5。這個level并不代表技術的高低,level5并不高于level3,level1也不低過level4,至于要選擇那一種RAIDlevel的產品,純視用戶的操作環境(operatingenvironment)及應用(application)而定,與level的高低沒有必然的關系。RAID0及RAID1適用于PC及PC相關的系統如小型的網絡服務器(networkserver)及需要高磁盤容量與快速磁盤存取的工作站等,因為比較便宜,但因一般人對磁盤陣列不了解,沒有看到磁盤陣列對他們價值,市場尚未打開;RAID2及RAID3適用于大型電腦及影像、CAD/CAM等處理;RAID5多用于OLTP,因有金融機構及大型數據處理中心的迫切需要,故使用較多而較有名氣,但也因此形成很多人對磁盤陣列的誤解,以為磁盤陣列非要RAID5不可;RAID4較少使用,因為兩者有其共同之處,而RAID4有其先天的限制。其他如RAID6,RAID7,乃至RAID10等,都是廠商各做各的,并無一致的標準,在此不作說明。介紹各個RAIDlevel之前,先看看形成磁盤陣列的兩個基本技術:
磁盤延伸(DiskSpanning):
譯為磁盤延伸,能確切的表示diskspanning這種技術的含義。四個磁盤形成一個陣列(array),而磁盤陣列的控制器(RAIDcontroller)是將此四個磁盤視為單一的磁盤,如DOS環境下的C:盤。這是diskspanning的意義,因為把小容量的磁盤延伸為大容量的單一磁盤,用戶不必規劃數據在各磁盤的分布,而且提高了磁盤空間的使用率。DFTraid的SCSI磁盤陣列更可連接幾十個磁盤,形成數十GB到數百GB的陣列,使磁盤容量幾乎可作無限的延伸;而各個磁盤一起作取存的動作,比單一磁盤更為快捷。很明顯的,有此陣列的形成而產生RAID的各種技術。我們也可從上圖看出inexpensive(便宜)的意義,因為四個250MBbytes的磁盤比一個1GBytes的磁盤要便宜,尤其以前大磁盤的價格非常昴貴,但在磁盤越來越便宜的今天,inexpensive已非磁盤陣列的重點,雖然對于需要大磁盤容量的系統,仍是考慮的要點。
磁盤或數據分段(DiskStripingorDataStriping):
因為磁盤陣列是將同一陣列的多個磁盤視為單一的虛擬磁盤(virtualdisk),所以其數據是以分段(blockorsegment)的方式順序存放在磁盤陣列中,如下表:
數據按需要分段,從第一個磁盤開始放,放到最後一個磁盤再回到第一個磁盤放起,直到數據分布完畢。至于分段的大小視系統而定,有的系統或以1KB最有效率,或以4KB,或以6KB,甚至是4MB或8MB的,但除非數據小于一個扇區(sector,即521bytes),否則其分段應是512byte的倍數。因為磁盤的讀寫是以一個扇區為單位,若數據小于512bytes,系統讀取該扇區后,還要做組合或分組(視讀或寫而定)的動作,浪費時間。從上圖我們可以看出,數據以分段于在不同的磁盤,整個陣列的各個磁盤可同時作讀寫,故數據分段使數據的存取有最好的效率,理論上本來讀一個包含四個分段的數據所需要的時間約=(磁盤的accesstime+數據的transfertime)X4次,現在只要一次就可以完成。
若以N表示磁盤的數目,R表示讀取,W表示寫入,S表示可使用空間,則數據分段的性能為:
R:N(可同時讀取所有磁盤)
W:N(可同時寫入所有磁盤)
S:N(可利用所有的磁盤,并有最佳的使用率)
RAID是RedundantArrayofInexpensiveDisks的縮寫,而每一level代表一種技術,目前業界公認的標準是RAID0~RAID5。這個level并不代表技術的高低,level5并不高于level3,level1也不低過level4,至于要選擇那一種RAIDlevel的產品,純視用戶的操作環境(operatingenvironment)及應用(application)而定,與level的高低沒有必然的關系。RAID0及RAID1適用于PC及PC相關的系統如小型的網絡服務器(networkserver)及需要高磁盤容量與快速磁盤存取的工作站等,因為比較便宜,但因一般人對磁盤陣列不了解,沒有看到磁盤陣列對他們價值,市場尚未打開;RAID2及RAID3適用于大型電腦及影像、CAD/CAM等處理;RAID5多用于OLTP,因有金融機構及大型數據處理中心的迫切需要,故使用較多而較有名氣,但也因此形成很多人對磁盤陣列的誤解,以為磁盤陣列非要RAID5不可;RAID4較少使用,因為兩者有其共同之處,而RAID4有其先天的限制。其他如RAID6,RAID7,乃至RAID10等,都是廠商各做各的,并無一致的標準,在此不作說明。介紹各個RAIDlevel之前,先看看形成磁盤陣列的兩個基本技術:
磁盤延伸(DiskSpanning):
譯為磁盤延伸,能確切的表示diskspanning這種技術的含義。四個磁盤形成一個陣列(array),而磁盤陣列的控制器(RAIDcontroller)是將此四個磁盤視為單一的磁盤,如DOS環境下的C:盤。這是diskspanning的意義,因為把小容量的磁盤延伸為大容量的單一磁盤,用戶不必規劃數據在各磁盤的分布,而且提高了磁盤空間的使用率。DFTraid的SCSI磁盤陣列更可連接幾十個磁盤,形成數十GB到數百GB的陣列,使磁盤容量幾乎可作無限的延伸;而各個磁盤一起作取存的動作,比單一磁盤更為快捷。很明顯的,有此陣列的形成而產生RAID的各種技術。我們也可從上圖看出inexpensive(便宜)的意義,因為四個250MBbytes的磁盤比一個1GBytes的磁盤要便宜,尤其以前大磁盤的價格非常昴貴,但在磁盤越來越便宜的今天,inexpensive已非磁盤陣列的重點,雖然對于需要大磁盤容量的系統,仍是考慮的要點。
磁盤或數據分段(DiskStripingorDataStriping):
因為磁盤陣列是將同一陣列的多個磁盤視為單一的虛擬磁盤(virtualdisk),所以其數據是以分段(blockorsegment)的方式順序存放在磁盤陣列中,如下表:
磁盤0
|
|
磁盤1
|
|
磁盤2
|
|
磁盤3
|
數據按需要分段,從第一個磁盤開始放,放到最後一個磁盤再回到第一個磁盤放起,直到數據分布完畢。至于分段的大小視系統而定,有的系統或以1KB最有效率,或以4KB,或以6KB,甚至是4MB或8MB的,但除非數據小于一個扇區(sector,即521bytes),否則其分段應是512byte的倍數。因為磁盤的讀寫是以一個扇區為單位,若數據小于512bytes,系統讀取該扇區后,還要做組合或分組(視讀或寫而定)的動作,浪費時間。從上圖我們可以看出,數據以分段于在不同的磁盤,整個陣列的各個磁盤可同時作讀寫,故數據分段使數據的存取有最好的效率,理論上本來讀一個包含四個分段的數據所需要的時間約=(磁盤的accesstime+數據的transfertime)X4次,現在只要一次就可以完成。
若以N表示磁盤的數目,R表示讀取,W表示寫入,S表示可使用空間,則數據分段的性能為:
R:N(可同時讀取所有磁盤)
W:N(可同時寫入所有磁盤)
S:N(可利用所有的磁盤,并有最佳的使用率)