如何增加磁盤的存取(access)速度,如何防止數(shù)據(jù)因磁盤的故障而失落及如何有效的利用磁盤空間,一直是電腦專業(yè)人員和用戶的困憂;而大容量磁盤的價格非常昂貴,對用戶形成很大的負擔。磁盤陣列技術的產(chǎn)生一舉解決了這些問題。 過去十年來,CPU 的處理速度幾乎是幾何級數(shù)的躍升,內(nèi)存(memory )的存取速度亦大幅增加,而數(shù)據(jù)儲存裝置主要是磁盤(hard disk) 的存取速度相較之下,較為緩慢。整個I/O 吞吐量不能和系統(tǒng)匹配,形成電腦系統(tǒng)的瓶頸,拉低了電腦系統(tǒng)的整體性能(throughout )若不能有效的提升磁盤的存取速度,CPU 、內(nèi)存及磁盤間的不平衡將使CPU 及內(nèi)存的改進形成浪費。 目前改進磁盤存取速度的方式主要有兩種。一是磁盤快取控制(disk cache controller ),它將從磁盤讀取的數(shù)據(jù)存在快取內(nèi)存(cache memory )中以減少磁盤存取的次數(shù),數(shù)據(jù)的讀寫都在快取內(nèi)存中進行,大幅增加存取的速度,如要讀取的數(shù)據(jù)不在快取內(nèi)存中,或要寫數(shù)據(jù)到磁盤時,才做磁盤的存取動作。這種方式在單工期環(huán)境(single-tasking envioronment )如DOS 之下,對大量數(shù)據(jù)的存取有很好的性能(量小且頻繁的存取則不然),但在多工(multi-tasking) 環(huán)境之下(因為要不停的作數(shù)據(jù)交換(swapping )的動作)或數(shù)據(jù)庫(database )的存?。ㄒ蛎恳挥涗浂己苄。┚筒荒茱@示其性能。這種方式?jīng)]有任何安全保障。 其一是使用磁盤陣列的技術。磁盤陣列是把多個磁盤組成一個陣列,當作單一磁盤使用,它將數(shù)據(jù)以分段(striping )的方式儲存在不同的磁盤中,存取數(shù)據(jù)時,陣列中的相關磁盤一起動作,大幅減低數(shù)據(jù)的存取時間,同時有更佳的空間利用率。磁盤陣列所利用的不同的技術,稱為RAID level ,不同的level 針對不同的系統(tǒng)及應用,以解決數(shù)據(jù)安全的問題。 一般高性能的磁盤陣列都是以硬件的形式來達成,進一步的把磁盤快取控制及磁盤陣列結合在一個控制器(RAID controler )或控制卡上,針對不同的用戶解決人們對磁盤輸出/入系統(tǒng)的四大要求:
2.1 磁盤陣列原理 1987 年,加州伯克利大學的一位人員發(fā)表了名為\"磁盤陣列研究\"的論文,正式提到了RAID 也就是磁盤陣列,論文提出廉價的5.25″及3.5″的硬盤也能如大機器上的8″盤能提供大容量、高性能和數(shù)據(jù)的一致性,并詳述了RAID1 至5 的技術。 磁盤陣列針對不同的應用使用的不同技術,稱為RAID level,RAID 是Redundant Array of Inexpensive Disks 的縮寫,而每一level 代表一種技術,目前業(yè)界公認的標準是RAID0~RAID5。這個level 并不代表技術的高低,level5 并不高于level3,level1 也不低于level4,至于要選擇哪一種RAID level 的產(chǎn)品,純視用戶的操作環(huán)境(operating environment )及應用(application) 而定,與level 的高低沒有必然的關系。RAID0 沒有安全的保障,但其快速,所以適合高速I/O 的系統(tǒng);RAID1 適用于需安全性又要兼顧速度的系統(tǒng),RAID2 及RAID3 適用于大型電腦及影像、CAD/CAM 等處理;RAID5 多用于OLTP,因有金融機構及大型數(shù)據(jù)處理中心的迫切需要,故使用較多而較有名氣,但也因此形成很多人對磁盤陣列的誤解,以為磁盤陣列非要RAID5 不可;RAID4 較少使用,和RAID5 有其共同之處,但RAID4 適合大量數(shù)據(jù)的存取。其他如RAID6, RAID7,乃至RAID10、50、100 等,都是廠商各做各的,并無一致的標準,在此不作說明。 總而言之,RAID0 及RAID1 最適合PC 服務器及圖形工作站的用戶,提供最佳的性能及最便宜的價格,以低成本符合市場的需求。RAID2 及RAID3 適用于大檔案且輸入輸出需求不頻繁的應用如影像處理及CAD/CAM 等;而RAID5 則適用于銀行、金融、股市、數(shù)據(jù)庫等大型數(shù)據(jù)處理中心的OLTP 應用;RAID4 與RAID5 有相同的特性及用方式,但其較適用于大型文件的讀取。 2.2 磁盤陣列的額外容錯功能 事實上容錯功能已成為磁盤陣列最受青睞的特性,為了加強容錯的功能以及使系統(tǒng)在磁盤故障的情況下能迅速的重建數(shù)據(jù),以維持系統(tǒng)的性能,一般的磁盤陣列系統(tǒng)都可使用熱備份(hot spare or hot standby drive )的功能,所謂熱備份是在建立(configure )磁盤陣列系統(tǒng)的時候,將其中一磁盤指定為后備磁盤,此一磁盤在平常并不操作,但若陣列中某一磁盤發(fā)生故障時,磁盤陣列即以后備磁盤取代故障磁盤,并自動將故障磁盤的數(shù)據(jù)重建(rebuild )在后備磁盤之上,因為反應快速,加上快取內(nèi)存減少了磁盤的存取,所以數(shù)據(jù)重建很快即可完成,對系統(tǒng)的性能影響不大。對于要求不停機的大型數(shù)據(jù)處理中心或控制中心而言,熱備份更是一項重要的功能,因為可避免晚間或無人守護時發(fā)生磁盤故障所引起的種種不便。 備份盤又有熱備份與溫備份之分,熱備份盤和溫備份盤的不同在于熱備份盤和陣列一起運轉,一有故障時馬上備援,而溫備份盤雖然帶電但并不運轉,需要備援時才啟動。兩者分別在是否運轉及啟動的時間,但溫備份盤因不運轉,理論上有較長的壽命。另一個額外的容錯功能是壞扇區(qū)轉移(bad sector reassignment) 。壞扇區(qū)是磁盤故障的主要原因,通常磁盤在讀寫時發(fā)生壞扇區(qū)的情況即表示此磁盤故障,不能再作讀寫,甚至有很多系統(tǒng)會因為不能完成讀寫的動作而死機,但若因為某一扇區(qū)的損壞而使工作不能完成或要更換磁盤,則使得系統(tǒng)性能大打折扣,而系統(tǒng)的維護成本也未免太高了,壞扇區(qū)轉移是當磁盤陣列系統(tǒng)發(fā)現(xiàn)磁盤有壞扇區(qū)時,以另一空白且無故障的扇區(qū)取代該扇區(qū),以延長磁盤的使用壽命,減少壞磁盤的發(fā)生率以及系統(tǒng)的維護成本。所以壞扇區(qū)轉移功能使磁盤陣列具有更好的容錯性,同時使整個系統(tǒng)有最好的成本效益比。其他如可外接電池備援磁盤陣列的快取內(nèi)存,以避免突然斷電時數(shù)據(jù)尚未寫回磁盤而丟失;或在RAID1 時作寫入一致性的檢查等,雖是小技術,但亦不可忽視。
|