磁盤陣列(Disk Array) 及磁盤陣列常用技術術語

磁盤陣列(Disk Array) 及磁盤陣列常用技術術語

1.爲什麼需要磁盤陣列

如何增加磁盤的存取(access)速度,如何防止數據因磁盤的故障而失落及如何有效的利用磁盤空間,一直是電腦專業人員和用戶的困擾;而大容量磁盤的價格非常昂貴,對用戶形成很大的負擔。磁盤陣列技術的產生一舉解決了這些問題。

過去十年來,CPU的處理速度增加了五十倍有多,內存(memory)的存取速度亦大幅增加,而數據儲存裝置--主要是磁盤(hard disk)--的存取速度只增加了三、四倍,形成電腦系統的瓶頸,拉低了電腦系統的整體性能(throughput),若不能有效的提升磁盤的存取速度,CPU、內存及磁盤間的不平衡將使CPU及內存的改進形成浪費。

目前改進磁盤存取速度的的方式主要有兩種。一是磁盤快取控制(disk cache controller),它將從磁盤讀取的數據存在快取內存(cache memory)中以減少磁盤存取的次數,數據的讀寫都在快取內存中進行,大幅增加存取的速度,如要讀取的數據不在快取內存中,或要寫數據到磁盤時,才做磁盤的存取動作。這種方式在單工環境(single-tasking environment)DOS之下,對大量數據的存取有很好的性能(量小且頻繁的存取則不然),但在多工(multi-tasking)環境之下(因爲要不停的作數據交換(swapping)的動作)或數據庫(database)的存取(因爲每一記錄都很小)就不能顯示其性能。這種方式沒有任何安全保障。 其二是使用磁盤陣列的技術。磁盤陣列是把多個磁盤組成一個陣列,當作單一磁盤使用,它將數據以分段(striping)的方式儲存在不同的磁盤中,存取數據時,陣列中的相關磁盤一起動作,大幅減低數據的存取時間,同時有更佳的空間利用率。磁盤陣列所利用的不同的技術,稱爲RAID level,不同的level針對不同的系統及應用,以解決數據安全的問題。

一般高性能的磁盤陣列都是以硬件的形式來達成,進一步的把磁盤快取控制及磁盤陣列結合在一個控制器(RAID controller)或控制卡上,針對不同的用戶解決人們對磁盤輸出入系統的四大要求:
(1)
增加存取速度,
(2)
容錯(fault tolerance),即安全性
(3)
有效的利用磁盤空間;
(4)
儘量的平衡CPU,內存及磁盤的性能差異,提高電腦的整體工作性能。

2.磁盤陣列原理

磁盤陣列中針對不同的應用使用的不同技術,稱爲RAID level, RAIDRedundant Array of Inexpensive Disks的縮寫,而每一level代表一種技術,目前業界公認的標準是RAID 0~RAID 5。這個level並不代表技術的高低,level 5並不高於level 3,level 1也不低過level 4,至於要選擇那一種RAID level的產品,純視用戶的操作環境(operating environment)及應用(application)而定,level的高低沒有必然的關係。RAID 0RAID 1適用於PCPC相關的系統如小型的網絡服務器(network server)及需要高磁盤容量與快速磁盤存取的工作站等,因爲比較便宜,但因一般人對磁盤陣列不瞭解,沒有看到磁盤陣列對他們價值,市場尚未打開;RAID 2RAID 3適用於大型電腦及影像、CAD/CAM等處理;RAID 5多用於OLTP,因有金融機構及大型數據處理中心的迫切需要,故使用較多而較有名氣,但也因此形成很多人對磁盤陣列的誤解,以爲磁盤陣列非要RAID 5不可;RAID 4較少使用,因爲兩者有其共同之處,RAID 4有其先天的限制。其他如RAID 6,RAID 7,乃至RAID 10,都是廠商各做各的,並無一致的標準,在此不作說明。介紹各個RAID level之前,先看看形成磁盤陣列的兩個基本技術:

譯爲磁盤延伸,能確切的表示disk spanning這種技術的含義。如下圖所示,DFTraid 磁盤陣列控制器,聯接了四個磁盤:

這四個磁盤形成一個陣列(array),而磁盤陣列的控制器(RAID controller)是將此四個磁盤視爲單一的磁盤,DOS環境下的C:盤。這是disk spanning的意義,因爲把小容量的磁盤延伸爲大容量的單一磁盤,用戶不必規劃數據在各磁盤的分佈,而且提高了磁盤空間的使用率。DFTraidSCSI磁盤陣列更可連接幾十個磁盤,形成數十GB到數百GB的陣列,使磁盤容量幾乎可作無限的延伸;而各個磁盤一起作取存的動作,比單一磁盤更爲快捷。很明顯的,有此陣列的形成而產生RAID的各種技術。我們也可從上圖看出inexpensive(便宜)的意義,因爲四個250MBbytes的磁盤比一個1GBytes的磁盤要便宜,尤其以前大磁盤的價格非常昴貴,但在磁盤越來越便宜的今天,inexpensive已非磁盤陣列的重點,雖然對於需要大磁盤容量的系統,仍是考慮的要點。

磁盤  因爲磁盤陣列是將同一陣列的多個磁盤視爲單一的虛擬磁盤(virtual disk),所以其數據是以分段(block or segment)的方式順序存放在磁盤陣列中,如下圖:

磁盤0

 

磁盤1

 

磁盤2

 

磁盤3

A0-A1

B0-B1

C0-C1

D0-D1

 

A2-A3

B2-B3

C2-C3

D2-D3

 

A4-A5

B4-B5

C4-C5

D4-C5

 

A6-A7

B6-B7

C6-C7

D6-D7

數據按需要分段,從第一個磁盤開始放,放到最後一個磁盤再回到第一個磁盤放起,直到數據分佈完畢。至於分段的大小視系統而定,有的系統或以1KB最有效率,或以4KB,或以6KB,甚至是4MB8MB,但除非數據小於一個扇區(sector,521bytes),否則其分段應是512byte的倍數。因爲磁盤的讀寫是以一個扇區爲單位,若數據小於512bytes,系統讀取該扇區後,還要做組合或分組(視讀或寫而定)的動作,浪費時間。從上圖我們可以看出,數據以分段於在不同的磁盤,整個陣列的各個磁盤可同時作讀寫,故數據分段使數據的存取有最好的效率,理論上本來讀一個包含四個分段的數據所需要的時間約=(磁盤的access time +數據的transfer time)X4,現在只要一次就可以完成。

若以N表示磁盤的數目,R表示讀取,W表示寫入,S表示可使用空間,則數據分段的性能爲:
R:N(
可同時讀取所有磁盤)
W:N(
可同時寫入所有磁盤)
S:N(
可利用所有的磁盤,並有最佳的使用率)

Disk striping也稱爲RAID 0,很多人以爲RAID 0沒有甚麼,其實這是非常錯誤的觀念,因爲RAID 0使磁盤的輸出入有最高的效率。而磁盤陣列有更好效率的原因除數據分段外,它可以同時執行多個輸出入的要求,因爲陣列中的每一個磁盤都能獨立動作,分段放在不同的磁盤,不同的磁盤可同時作讀寫,而且能在快取內存及磁盤作並行存取(parallel access)的動作,但只有硬件的磁盤陣列纔有此性能表現。

從上面兩點我們可以看出,disk spanning定義了RAID的基本形式,提供了一個便宜、靈活、高性能的系統結構,disk striping解決了數據的存取效率和磁盤的利用率問題,RAID 1RAID 5是在此基礎上提供磁盤安全的方案。

RAID 1

RAID 1是使用磁盤鏡像(disk mirroring)的技術。磁盤鏡像應用在RAID 1之前就在很多系統中使用,它的方式是在工作磁盤(working disk)之外再加一額外的備份磁盤(backup disk),兩個磁盤所儲存的數據完全一樣,數據寫入工作磁盤的同時亦寫入備份磁盤。磁盤鏡像不見得就是RAID 1,Novell NetWare亦有提供磁盤鏡像的功能,但並不表示NetWare有了RAID 1的功能。一般磁盤鏡像和RAID 1有二點最大的不同:

RAID 1無工作磁盤和備份磁盤之分,多個磁盤可同時動作而有重疊(overlapping)讀取的功能,甚至不同的鏡像磁盤可同時作寫入的動作,這是一種最佳化的方式,稱爲負載平衡(load-balance)。例如有多個用戶在同一時間要讀取數據,系統能同時驅動互相鏡像的磁盤,同時讀取數據,以減輕系統的負載,增加I/O的性能。

RAID 1的磁盤是以磁盤延伸的方式形成陣列,而數據是以數據分段的方式作儲存,因而在讀取時,它幾乎和RAID 0有同樣的性能。從RAID的結構就可以很清楚的看出RAID 1和一般磁盤鏡像的不同。

下圖爲RAID 1,每一筆數據都儲存兩份

磁盤0

 

磁盤1

 

磁盤0

 

磁盤1

A0

A2

A4

B1

 

A1

A3

B0

B2

 

A0

A2

A4

B1

 

A1

A3

B0

B2

從上圖可以看出:
R:N(
可同時讀取所有磁盤)
W:N/2(
同時寫入磁盤數)
S:N/2(
利用率)

讀取數據時可用到所有的磁盤,充分發揮數據分段的優點;寫入數據時,因爲有備份,所以要寫入兩個磁盤,其效率是N/2,磁盤空間的使用率也只有全部磁盤的一半。

很多人以爲RAID 1要加一個額外的磁盤,形成浪費而不看好RAID 1,事實上磁盤越來越便宜,並不見得造成負擔,況且RAID 1有最好的容錯(fault tolerance)能力,其效率也是除RAID 0之外最好的。我們可視應用的不同,在同一磁盤陣列中使用不同的RAID level,如華藝科技公司的DFTraid系列都可同一磁盤陣列中定義八個邏輯磁盤(logic disk),分別使用不同的RAID level,分爲C:,D:E:三個邏輯磁盤(LUN0,LUN1,LUN2).

RAID 1完全做到了容錯包括不停機(non-stop),當某一磁盤發生故障,可將此磁盤拆下來而不影向其他磁盤的操作;待新的磁盤換上去之後,系統即時做鏡像,將數據重新覆上去,RAID 1在容錯及存取的性能上是所有RAID level之冠。

在磁盤陣列的技術上,RAID 1RAID 5,不停機的意思表示在工作時如發生磁盤故障,系統能持續工作而不停頓,仍然可作磁盤的存取,正常的讀寫數據;而容錯則表示即使磁盤故障,數據仍能保持完整,可讓系統存取到正確的數據,SCSI的磁盤陣列更可在工作中抽換磁盤,並可自動重建故障磁盤的數據。磁盤陣列之所以能做到容錯及不停機,是因爲它有冗餘的磁盤空間可資利用,這也就是Redundant的意義。

RAID 2

RAID 2是把數據分散爲位元(bit)或塊(block),加入海明碼Hamming Code,在磁盤陣列中作間隔寫入(interleaving)到每個磁盤中,而且地址(address)都一樣,也就是在各個磁盤中,其數據都在相同的磁道(cylinder or track)及扇區中。RAID 2的設計是使用共軸同步(spindle synchronize)的技術,存取數據時,整個磁盤陣列一起動作,在各作磁盤的相同位置作平行存取,所以有最好的存取時間(access time),其總線(bus)是特別的設計,以大帶寬(band wide)並行傳輸所存取的數據,所以有最好的傳輸時間(transfer time)。在大型檔案的存取應用,RAID 2有最好的性能,但如果檔案太小,會將其性能拉下來,因爲磁盤的存取是以扇區爲單位,RAID 2的存取是所有磁盤平行動作,而且是作單位元的存取,故小於一個扇區的數據量會使其性能大打折扣。RAID 2是設計給需要連續且大量數據的電腦使用的,如大型電腦(mainframe to supercomputer)、作影像處理或CAD/CAM的工作站(workstation),並不適用於一般的多用戶環境、網絡服務器(network server),小型機或PC

RAID 2的安全採用內存陣列(memory array)的技術,使用多個額外的磁盤作單位錯誤校正(single-bit correction)及雙位錯誤檢測(double-bit detection);至於需要多少個額外的磁盤,則視其所採用的方法及結構而定,例如八個數據磁盤的陣列可能需要三個額外的磁盤,有三十二個數據磁盤的高檔陣列可能需要七個額外的磁盤。

RAID 3

RAID 3的數據儲存及存取方式都和RAID 2一樣,但在安全方面以奇偶校驗(parity check)取代海明碼做錯誤校正及檢測,所以只需要一個額外的校檢磁盤(parity disk)。奇偶校驗值的計算是以各個磁盤的相對應位作XOR的邏輯運算,然後將結果寫入奇偶校驗磁盤,任何數據的修改都要做奇偶校驗計算,如下圖:

磁盤0

 

磁盤1

 

磁盤2

 

磁盤3

 

磁盤4

A0

A4

B3

C2

 

A1

B0

B4

C3

 

A2

A1

C0

C4

 

A3

A2

C1

D0

 

P

P

P

P

如某一磁盤故障,換上新的磁盤後,整個磁盤陣列(包括奇偶校驗磁盤)需重新計算一次,將故障磁盤的數據恢復並寫入新磁盤中;如奇偶校驗磁盤故障,則重新計算奇偶校驗值,以達容錯的要求.

較之RAID 1RAID 2,RAID 385%的磁盤空間利用率,其性能比RAID 2稍差,因爲要做奇偶校驗計算;共軸同步的平行存取在讀檔案時有很好的性能,但在寫入時較慢,需要重新計算及修改奇偶校驗磁盤的內容。RAID 3RAID 2有同樣的應用方式,適用大檔案及大量數據輸出入的應用,並不適用於PC及網絡服務器。

RAID 4

RAID 4也使用一個校驗磁盤,但和RAID 3不一樣,如下圖:

磁盤0

 

磁盤1

 

磁盤2

 

磁盤3

 

磁盤4

A0-A1

B3-B4

D1-D2

E4-F0

 

A2-A3

C0-C1

D3-D4

F1-F2

 

A4-B0

C2-C3

B0-B1

F3-F4

 

B1-B2

C4-D0

B2-B3

G0-G1

 

P

P

P

P

RAID 4是以扇區作數據分段,各磁盤相同位置的分段形成一個校驗磁盤分段(parity block),放在校驗磁盤。這種方式可在不同的磁盤平行執行不同的讀取命今,大幅提高磁盤陣列的讀取性能;但寫入數據時,因受限於校驗磁盤,同一時間只能作一次,啓動所有磁盤讀取數據形成同一校驗分段的所有數據分段,與要寫入的數據做好校驗計算再寫入。即使如此,小型檔案的寫入仍然比RAID 3要快,因其校驗計算較簡單而非作位(bit level)的計算;但校驗磁盤形成RAID 4的瓶頸,降低了性能,因有RAID 5而使得RAID 4較少使用。
RAID 5

RAID5避免了RAID 4的瓶頸,方法是不用校驗磁盤而將校驗數據以循環的方式放在每一個磁盤中,如下圖:

磁盤0

 

磁盤1

 

磁盤2

 

磁盤3

 

磁盤4

P

B3-B4

D1-D2

E4-F0

 

A0-A1

P

D3-D4

F1-F2

 

A2-B3

C0-C1

P

F3-F4

 

A4-B0

C2-C3

B0-B1

P

 

B2-B2

C4-D0

B2-B3

G0-G1

磁盤陣列的第一個磁盤分段是校驗值,第二個磁盤至後一個磁盤再折回第一個磁盤的分段是數據,然後第二個磁盤的分段是校驗值,從第三個磁盤再折回第二個磁盤的分段是數據,以此類推,直到放完爲止。圖中的第一個parity block是由A0,A1...,B1,B2計算出來,第二個parity block是由B3,B4,...,C4,D0計算出來,也就是校驗值是由各磁盤同一位置的分段的數據所計算出來。這種方式能大幅增加小檔案的存取性能,不但可同時讀取,甚至有可能同時執行多個寫入的動作,如可寫入數據到磁盤1而其parity block在磁盤2,同時寫入數據到磁盤4而其parity block在磁盤1,這對聯機交易處理(OLTP, on-line Transaction Processing)如銀行系統、金融、股市等或大型數據庫的處理提供了最佳的解決方案(solution),因爲這些應用的每一筆數據量小,磁盤輸出入頻繁而且必須容錯。

事實上RAID 5的性能並無如此理想,因爲任何數據的修改,都要把同一parity block的所有數據讀出來修改後,做完校驗計算再寫回去,也就是RMW cycle(Read-Modify-Write cycle,這個cycle沒有包括校驗計算);正因爲牽一而動全身,所以:
R:N(
可同時讀取所有磁盤)
W:1(
可同時寫入磁盤數)
S:N-1(
利用率)

RAID 5的控制比較複雜,尤其是利用硬件對磁盤陣列的控制,因爲這種方式的應用比其他的RAID level要掌握更多的事情,有更多的輸出入需求,既要速度快,又要處理數據,計算校驗值,做錯誤校正等,所以價格較高;其應用最好是OLTP,至於用於PC,不見得有最佳的性能。

3.RAID的對比:

下面幾個表列是RAID的一些性質:

操作

工作模式

最少硬盤需求量

可用容量

RAID 0

磁盤延伸和數據分佈

2

T

RAID 1

數據分佈和鏡像

2

T/2

RAID 2

共軸同步,並行傳輸,ECC

3

T*(n-1)/n

RAID 3

共軸同步,並行傳輸,Parity

3

T*(n-1)/n

RAID 4

數據分佈,固定Parity

3

T*(n-1)/n

RAID 5

數據分佈,分佈Parity

3

T*(n-1)/n

RAID的性能與可用性:

RAID Level

用戶數據利用率

Bandwidth Performance

Transaction
Performance

數據可用性

RAID 0

1

0.25

1

0.0005

RAID 1

0.5

0.25

0.85

1

RAID 2

0.67

1

0.25

0.9999

RAID 3

0.75

1

0.25

0.9999

RAID 4

0.75

0.25

0.61

0.9999

RAID 5

0.75

0.25

0.61

0.9999

以上數據基於4個磁盤,傳輸塊大小1K75%的讀概率,數據可用性的計算基於同樣的損壞概率

4.RAID的概述:

RAID 0
沒有任何額外的磁盤或空間作安全準備,所以一般人不重視它,這是誤解,其實它有最好的效率及空間利用率,對於追求效率的應用,非常理想,可同時用其他的RAID level或其他的備份方式以補其不足,保護重要的數據。

RAID 1
有最佳的安全性,100%不停機,即使有一個磁盤損壞也能照常作業而不影向其效能(對能並行存取的系統稍有影響),因爲數據是作重複儲存。RAID1的並行讀取幾乎有RAID 0的性能,因爲可同時讀取相互鏡像的磁盤;寫入也只比RAID 0略遜,因爲同時寫入兩個磁盤並沒有增加多少工作。雖然RAID 1要增加一倍的磁盤做鏡像,但作爲採用磁盤陣列的進入點,它是最便宜的一個方案,是新設磁盤陣列的用戶之最佳選擇。

RAID 5
在不停機及容錯的表現都很好,但如有磁盤故障,對性能的影響較大,大容量的快取內存有助於維持性能,但在OLTP的應用上,因爲每一筆數據或記錄(record)都很小,對磁盤的存取頻繁,故有一定程度的影響。某一磁盤故障時,讀取該磁盤的數據需把共用同一parity block的所有數據及校驗值讀出來,再把故障磁盤的數據計算出來;寫入時,除了要重覆讀取的程序外,還要再做校驗值的計算,然後再寫入更新的數據及校驗值;等換上新的磁盤,系統要計算整個磁盤陣列的數據以回覆故障磁盤的數據,時間要很長,如系統的工作負載很重的話,有很多輸出入的需求在排隊等候時,會把系統的性能拉下來。但如使用硬件磁盤陣列的話,其性能就可以得到大幅度的改進,因爲硬件磁盤陣列如DFTraid系列本身有內置的CPU與主機系統並行運作,所有存取磁盤的輸出入工作都在磁盤陣列本身完成,不花費主機的時間,配合磁盤陣列的快取內存的使用,可以提高系統的整體性能,而優越的總線控制更能增加數據的傳輸速率,即使在磁盤故障的情況下,主機系統的性能也不會有明顯的降低。RAID 5要做的事情太多,所以價格較貴,不適於小系統,但如果是大系統使用大的磁盤陣列的話,RAID 5卻是最便宜的方案。

總而言之,RAID 0RAID 1最適合PC及圖形工作站的用戶,提供最佳的性能及最便宜的價格,所以RAID 0RAID 1多是使用IDE界面,以低成本符合PC市埸的需求。RAID 2RAID 3適用於大檔案且輸入輸出需求不頻繁的應用如影像處理及CAD/CAM;RAID 5則適用於銀行、金融、股市、數據庫等大型數據處理中心的OLTP應用;RAID 4RAID 5有相同的特性及應用方式,但有其先天的限制,所以並不受推薦。

5.磁盤陣列的額外容錯功能:Spare or Standby driver

事實上容錯功能已成爲磁盤陣列最受青睞的特性,爲了加強容錯的功能以及使系統在磁盤故障的情況下能迅速的重建數據,以維持系統的性能,一般的磁盤陣列系統都可使用熱備份(hot spare or hot standby driver)的功能,所謂熱備份是在建立(configure)磁盤陣列系統的時候,將其中一磁盤指定爲後備磁盤,此一磁盤在平常並不操作,但若陣列中某一磁盤發生故障時,磁盤陣列即以後備磁盤取代故障磁盤,並自動將故障磁盤的數據重建(rebuild)在後備磁盤之上,因爲反應快速,加上快取內存減少了磁盤的存取,所以數據重建很快即可完成,對系統的性能影響不大。對於要求不停機的大型數據處理中心或控制中心而言,熱備份更是一項重要的功能,因爲可避免晚間或無人持守時發生磁盤故障所引起的種種不便。

另一個額外的容錯功能是壞扇區轉移(bad sector reassignment)。壞扇區是磁盤故障的主要原因,通常磁盤在讀寫時發生壞扇區的情況即表示此磁盤故障,不能再作讀寫,甚至有很多系統會因爲不能完成讀寫的動作而死機,但若因爲某一扇區的損壞而使工作不能完成或要更換磁盤,則使得系統性能大打折扣,而系統的維護成本也未免太高了。壞扇區轉移是當磁盤陣列系統發現磁盤有壞扇區時,以另一空白且無故障的扇區取代該扇區,以延長磁盤的使用壽命,減少壞磁盤的發生率以及系統的維護成本。所以壞扇區轉移功能使磁盤陣列具有更好的容錯性,同時使整個系統有最好的成本效益比。其他如可外接電池備援磁盤陣列的快取內存,以避免突然斷電時數據尚未寫回磁盤而損失;或在RAID 1時作寫入一致性的檢查等,雖是小技術,但亦不可忽視。

6.硬件磁盤陣列還是軟件磁盤陣列

市面上有所謂硬件磁盤陣列與軟件磁盤陣列之分,因爲軟件磁盤陣列是使用一塊SCSI卡與磁盤連接,一般用戶誤以爲是硬件磁盤陣列。以上所述主要是針對硬件磁盤陣列,其與軟件磁盤陣列有幾個最大的區別:

l 一個完整的磁盤陣列硬件與系統相接。
l
內置CPU,與主機並行運作,所有的I/O都在磁盤陣列中完成,減輕主機的工作負載,增加系統整體性能。
l
有卓越的總線主控(bus mastering)DMA(Direct Memory Access)能力,加速數據的存取及傳輸性能。
l
與快取內存結合在一起,不但增加數據的存取及傳輸性能,更因減少對磁盤的存取而增加磁盤的壽命。
l
能充份利用硬件的特性,反應快速。

軟件磁盤陣列是一個程序,在主機執行,透過一塊SCSI卡與磁盤相接形成陣列,它最大的優點是便宜,因爲沒有硬件成本(包括研發、生產、維護等),SCSI卡很便宜(亦有的軟件磁盤陣列使用指定的很貴的SCSI);它最大的缺點是使主機多了很多進程(process),增加了主機的負擔,尤其是輸出入需求量大的系統。目前市面上的磁盤陣列系統大部份是硬件磁盤陣列,軟件磁盤陣列較少。


7.IDE磁盤陣列還是SCSI磁盤陣列

目前使用在磁盤輸出入的界面主要有兩種:

1. IDE (Integrated Drive Electronics)
是廣泛使用在PC上的磁盤驅動器界面,一般而言,其傳輸速度從磁盤到磁盤緩衝器(medium to drive buffer)1.5-2.5MB/Sec,從緩衝器到界面(drive buffer to drive interface)4.0-6.0MB/Sec,而且新的設計其速率有大幅的改進,如增強型IDE界面(mode 4)PCI(Peripheral Component Interconnect)總線上的傳輸速率可達33MB/Sec

2. SCSI (Small Computer Standard Interface)
SCSI
是較高級(high level)的界面,可用於主機,磁盤,磁帶,打印機等,因爲是高階的界面,規格較爲複雜,一般自帶控制器,也較爲複雜,這就是SCSI磁盤爲什麼比IDE磁盤費的原因。但SCSI界面能較有效的利用硬件特性而提高其速度。其控制器還能對主機發給SCSI磁盤的命令進行緩衝、排隊,並進行優化處理(命令隊列)。現在較流行的是標準SCSI-2SCSI-3。有兩種規格,FAST SCSI(SCSI-2)的同步傳輸速率爲10MB/Sec,數據傳輸寬度爲8 bit, WIDE SCSI的數據傳輸寬度可達16-bitUltra SCSI(SCSI-3)的同步傳輸速率爲20MB/Sec,Ultra Wide SCSI的同步傳輸速率爲40MB/Sec,數據傳輸寬度可達32-bitSCSI磁盤有雖有較高的傳輸速度,但受限於磁盤的存取速度及磁盤至SCSI界面的傳輸速度而不能充分發揮其性能(因爲磁盤的機械動作難於有大幅度的改進);其命令分析程序(command phase)也較複雜。對單機來言,磁盤數量越多,主機找到特定的數據的時間越長,但對磁盤陣列來言,由於是多個磁盤一起並行處理,則表現爲磁盤數量越多,速度越快。

以上界面的直接反應是單任務時IDESCSI,多任務時SCSI較快,這可從用IDE盤和SCSI盤做多用戶、多任務的操作系統(UNIXWindows/NT)的系統盤時的啓動時間的差別中明顯看出。在單機時則不一定。我們看一個界面是否較快,不應只看其傳崐輸速度的高低而應就整個輸入/輸出的流程看,因爲磁盤存取的機械動作比不上電腦的傳輸速率。IDE界面簡單,反應快速,用於PC單機的小型的磁盤陣列其效果可能比SCSI爲佳;但較大型的磁盤陣列就非SCSI界面莫屬,因爲陣列中的各個磁盤一起作存取的動作,能充分發揮SCSI的傳輸速率快及多工的特點。

此外IDE因爲其配線規格的關係,不能作熱插拔(hot swap),也就是不能在工作中帶電插拔磁盤,而其線纜即使是增強型IDE也只有18,不能接在機箱之外,難於形成大的陣列,也就是隻適用於PC低層次的用戶。SCSI纜線在差分傳輸模式(differential transmission mode)下最大長度爲25,單端傳輸模式(single-ended transmission mode)時最大長度爲6,而一條SCSI總線可連接8臺系統或各種不同的裝置,擴充性很強,可形成很大的磁盤陣列空間;SCSI規格完備,容錯能力很好,可帶電插拔磁盤,是外接式裝置無可取代的界面。

8. 磁盤陣列卡還是磁盤陣列控制器

磁盤陣列控制卡一般用於小系統,供單機使用。與主機共用電源,在關閉主機電源時存在丟失Cache中的數據的的危險。磁盤陣列控制卡只有常用總線方式的接口,其驅動程序與主機、主機所用的操作系統都有關係,有軟、硬件兼容性問題並潛在地增加了系統的不安定因素。在更換磁盤陣列卡時要冒磁盤損壞,資料失落,隨時停機的風險。

獨立式磁盤陣列控制一般用於較大型系統,可分爲兩種:
單通道磁盤陣列和多通道式磁盤陣列,單通道磁盤陣列只能接一臺主機,有很大的擴充限制。多通道磁盤陣列可接多個系統同時使用,以羣集(cluster)的方式共用磁盤陣列,這使內接式陣列控制及單接式磁盤陣列無用武之地。DFT數據容錯公司的DFTraid Rack MountDFTraid Tower等系統,都是獨立形式的磁盤陣列子系統,其本身與主機系統的硬件及操作環境無關,只通過SCSI線纜與主機相接,主機把它當作一般的磁盤,所有的輸出入動作都在磁盤陣列上完成,與主機的操作無關,所以可接任何可使用SCSI界面的主機。DFTraid Rack MountDFTraid Tower兩系統最多可有六個SCSI通道,可同時連接5臺主機;DFTraid 5000系列則有9個通道,可同時連接多達8臺主機,使之一起共用磁盤陣列子系統。這種方式的磁盤陣列既可給單機使用,又可給羣集多機使用,對用戶對增加陣列中的磁盤數量限制較小,並可用於備援及並行的容錯電腦系統,特別適合較大的系統用戶,使這些用戶可從封閉的環境中解放出來。

9. RAID5建立過程

第一步:

 

第二步:

 

 

 

 

 

 

 

第三步:

 

 

 

 

 

 

 

第四步:

 

 

 

 

 

第五步:

 

 

 

 

 

 

 

第六步:

 

 

 

 

 

 

 

第七步:

 

 

硬盤及磁盤陣列常用技術術語

 

硬盤的轉速(Rotational Speed):也就是硬盤電機主軸的轉速,轉速是決定硬盤內部傳輸率的關鍵因素之一,它的快慢在很大程度上影響了硬盤的速度,同時轉速的快慢也是區分硬盤檔次的重要標誌之一。 硬盤的主軸馬達帶動盤片高速旋轉,產生浮力使磁頭飄浮在盤片上方。要將所要存取資料的扇區帶到磁頭下方,轉速越快,等待時間也就越短。因此轉速在很大程度上決定了硬盤的速度。目前市場上常見的硬盤轉速一般有5400rpm7200rpm、甚至10000rpm。理論上,轉速越快越好。因爲較高的轉速可縮短硬盤的平均尋道時間和實際讀寫時間。可是轉速越快發熱量越大,不利於散熱。現在的主流硬盤轉速一般爲7200rpm以上。
    
平均尋道時間(Average seek time):指硬盤在盤面上移動讀寫頭至指定磁道尋找相應目標數據所用的時間,它描述硬盤讀取數據的能力,單位爲毫秒。當單碟片容量增大時,磁頭的尋道動作和移動距離減少,從而使平均尋道時間減少,加快硬盤速度。目前市場上主流硬盤的平均尋道時間一般在9ms以下,大於10ms的硬盤屬於較早的產品,一般不值得購買。
    
平均潛伏時間(Average latency time):指當磁頭移動到數據所在的磁道後,然後等待所要的數據塊繼續轉動到磁頭下的時間,一般在2ms-6ms之間。
    
平均訪問時間(Average access time):指磁頭找到指定數據的平均時間,通常是平均尋道時間和平均潛伏時間之和。平均訪問時間最能夠代表硬盤找到某一數據所用的時間,越短的平均訪問時間越好,一般在11ms-18ms之間。注意:現在不少硬盤廣告之中所說的平均訪問時間大部分都是用平均尋道時間所代替的。
    
突發數據傳輸率(Burst data transfer rate):指的是電腦通過數據總線從硬盤內部緩存區中所讀取數據的最高速率。也叫外部數據傳輸率(External data transfer rate)。目前採用UDMA/66技術的硬盤的外部傳輸率已經達到了66.6MB/s
    
最大內部數據傳輸率(Internal data transfer rate):指磁頭至硬盤緩存間的最大數據傳輸率,一般取決於硬盤的盤片轉速和盤片數據線密度(指同一磁道上的數據間隔度)。也叫持續數據傳輸率(sustained transfer rate)。一般採用UDMA/66技術的硬盤的內部傳輸率也不過25-30MB/s,只有極少數產品超過30MB/s,由於內部數據傳輸率纔是系統真正的瓶頸,因此大家在購買時要分清這兩個概念。不過一般來講,硬盤的轉速相同時,單碟容量大的內
部傳輸率高;在單碟容量相同時,轉速高的硬盤的內部傳輸率高。
 
自動檢測分析及報告技術(Self-Monitoring Analysis and Report Technology,簡稱S.M.A.R.T): 現在出廠的硬盤基本上都支持S.M.A.R.T技術。這種技術可以對硬盤的磁頭單元、盤片電機驅動系統、硬盤內部電路以及盤片表面媒介材料等進行監測,當S.M.A.R.T監測並分析出硬盤可能出現問題時會及時向用戶報警以避免電腦數據受到損失。S.M.A.R.T技術必須在主板支持的前提下才能發生作用,而且S.M.A.R.T技術也不能保證能預報出所有可能發生的硬盤故障。
 
磁阻磁頭技術MR(Magneto-Resistive Head)MR(MAGNETO-RESITIVEHEAD)即磁阻磁頭的簡稱。MR技術可以更高的實際記錄密度、記錄數據,從而增加硬盤容量,提高數據吞吐率。目前的MR技術已有幾代產品。MAXTOR的鑽石三代/四代等均採用了最新的MR技術。磁阻磁頭的工作原理是基於磁阻效應來工作的,其核心是一小片金屬材料,其電阻隨磁場變化而變化,雖然其變化率不足2%,但因爲磁阻元件連着一個非常靈敏的放大器,所以可測出該微小的電阻變化。MR技術可使硬盤容量提高40%以上。GMR(GiantMagnetoresistive)巨磁阻磁頭GMR磁頭與MR磁頭一樣,是利用特殊材料的電阻值隨磁場變化的原理來讀取盤片上的數據,但是GMR磁頭使用了磁阻效應更好的材料和多層薄膜結構,比MR磁頭更爲敏感,相同的磁場變化能引起更大的電阻值變化,從而可以實現更高的存儲密度,現有的MR磁頭能夠達到的盤片密度爲3Gbit-5Gbit/in2(千兆位每平方英寸),而GMR磁頭可以達到10Gbit-40Gbit/in2以上。目前GMR磁頭已經處於成熟推廣期,在今後的數年中,它將會逐步取代MR磁頭,成爲最流行的磁頭技術。
 
緩存:緩存是硬盤與外部總線交換數據的場所。硬盤的讀數據的過程是將磁信號轉化爲電信號後,通過緩存一次次地填充與清空,再填充,再清空,一步步按照PCI總線的週期送出,可見,緩存的作用是相當重要的。在接口技術已經發展到一個相對成熟的階段的時候,緩存的大小與速度是直接關係到硬盤的傳輸速度的重要因素。目前主流硬盤的緩存主要有512KB2MB等幾種。其類型一般是EDO DRAMSDRAM,目前一般以SDRAM爲主。根據寫入方式的不同,有寫通式和回寫式兩種。寫通式在讀硬盤數據時,系統先檢查請求指令,看看所要的數據是否在緩存中,如果在的話就由緩存送出響應的數據,這個過程稱爲命中。這樣系統就不必訪問硬盤中的數據,由於SDRAM的速度比磁介質快很多,因此也就加快了數據傳輸的速度。回寫式就是在寫入硬盤數據時也在緩存中找,如果找到就由緩存就數據寫入盤中,現
在的多數硬盤都是採用的回寫式硬盤,這樣就大大提高了性能。
 
連續無故障時間(MTBF):指硬盤從開始運行到出現故障的最長時間。一般硬盤的MTBF至少在3000040000小時。
 
部分響應完全匹配技術PRML(Partial Response Maximum Likelihood):它能使盤片存儲更多的信息,同時可以有效地提高數據的讀取和數據傳輸率。是當前應用於硬盤數據讀取通道中的先進技術之一。PRML技術是將硬盤數據讀取電路分成兩段操作流水線,流水線第一段將磁頭讀取的信號進行數字化處理然後只選取部分標準信號移交第二段繼續處理,第二段將所接收的信號與PRML芯片預置信號模型進行對比,然後選取差異最小的信號進行組合後輸出以完成數據的讀取過程。PRML技術可以降低硬盤讀取數據的錯誤率,因此可以進一步提高磁盤數據密集度。
 
單磁道時間(Single track seek time):指磁頭從一磁道轉移至另一磁道所用的時間。
 
超級數字信號處理器(Ultra DSP)技術:應用Ultra DSP進行數學運算,其速度較一般CPU1050倍。採用Ultra DSP技術,單個的DSP芯片可以同時提供處理器及驅動接口的雙重功能,以減少其它電子元件的使用,可大幅度地提高硬盤的速度和可靠性。接口技術可以極大地提高硬盤的最大外部傳輸率,最大的益處在於可以把數據從硬盤直接傳輸到主內存而不佔用更多的CPU資源,提高系統性能。
 
硬盤表面溫度:指硬盤工作時產生的溫度使硬盤密封殼溫度上升情況。硬盤工作時產生的溫度過高將影響薄膜式磁頭(包括MR磁頭)的數據讀取靈敏度,因此硬盤工作表面溫度較低的硬盤有更好的數據讀、寫穩定性。
 
全程訪問時間(Max full seek time):指磁頭開始移動直到最後找到所需要的數據塊所用的全部時間。
 
硬盤鏡像(Disk Mirroring):硬盤鏡像最簡單的形式是,一個主機控制器帶二個互爲鏡像的硬盤。數據同時寫入二個硬盤,二個硬盤上的數據完全相同,因此一個硬盤故障時,另一個硬盤可提供數據。
 
硬盤數據跨盤(Disk Spanning:利用這種技術,幾個硬盤看上去像一個大硬盤;這個虛擬盤可以把數據跨盤存儲在不同的物理盤上,用戶不需要關心哪個盤上存有他需要的數據
 
硬盤數據分段(Disk striping:數據分散存儲在幾個盤上。數據的第一段放在盤0,第2段放在盤1……直到達到硬盤鏈中的最後一個盤,然後下一個邏輯段放在硬盤0,再下一
個邏輯段放在盤1……如此循環直至完成寫操作。
 
雙控(Duplexing:這裏指的是用二個控制器來驅動一個硬盤子系統。一個控制器發生故障,另一個控制器馬上控制硬盤操作。此外,如果編寫恰當的控制器軟件,可實現不同的硬盤驅動器同時工作。
 
容錯:(Fault Tolerant):具有容錯功能的機器有抗故障的能力。例如RAID 1鏡像系統是容錯的,鏡像盤中的一個出故障,硬盤子系統仍能正常工作。
 
主機控制器(Host Adapter:這裏指的是使主機和外設進行數據交換的控制部件(如SCSI控制器)
 
熱修復(Hot Fix:指用一個硬盤熱備份來替換髮生故障的硬盤。要注意故障盤並不是真正地被物理替換了。用作熱備份的盤被加載上故障盤原來的數據,然後系統恢復工作。
 
熱補(Hot Patch:具有硬盤熱備份,可隨時替換故障盤的系統。
 
熱備份(Hot Spare:CPU系統電連接的硬盤,它能替換下系統中的故障盤。與冷備份的區別是,冷備份盤平時與機器不相連接,硬盤故障時才換下故障盤。
 
平均數據丟失時間(MTBDL – Mean Time Between Data Loss:發生數據丟失的事件間的平均時間。
 
平均無故障工作時間(MTBF – Mean Time Between Failure  MTIF):設備平均無故障運行時間。
 
廉價冗餘磁盤陣列(RAID – Redundant Array of Inexpensive Drives:一種將多個廉價硬盤組合成快速,有容錯功能的硬盤子系統的技術。
 
系統重建(Reconstruction or Rebuild:一個硬盤發生故障後,從其他正確的硬盤數據和奇偶信息恢復故障盤數據的過程。
 
恢復時間(Reconstruction Time:爲故障盤重建數據所需要的時間。
 
單個大容量硬盤(SED – Singe Expensive Drive
 
傳輸速率(Transfer Rate:指在不同條件下存取數據的速度。
 
虛擬盤(Virtual Disk:與虛擬存儲器類似,虛擬盤是一個概念盤,用戶不必關心他的數據寫在哪個物理盤上。虛擬盤一般跨越幾個物理盤。但用戶看到的只是一個盤。
 
熱插拔(Hot Swap:指在不宕機制情況下,在線更換設備。
 DAS 
direct access storage device)直接訪問存儲設備
 NAS 
Network Attached Storage)網絡附加存儲設備
 SAN 
Storage Area Networks)存儲區域網

 

 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章