選擇需要的磁盤存儲陣列級別
選擇需要的磁盤存儲陣列級別
?眾所周知,最常用的磁盤存儲陣列配置等級分別是RAID-0、RAID-1、RAID-5。這三種磁盤存儲陣列等級針對數據的傳輸速度和保護程度都有所不同:RAID-0(數據條帶化存儲陣列)旨在提供速度,在所有RAID中速度最快,但是提供的保護最少;RAID-1(透明或條帶化存儲鏡像)這種磁盤存儲陣列能夠提供最好的數據保護;而RAID-5(磁盤陣列,奇偶校驗散布)能夠同時提供良好的速度和保護,使得RAID-5在所有磁盤存儲陣列中使用最為廣泛。
??? 不過,我們發現了一個普遍性的現象,那就是:采用RAID-5(ZCR)的服務器,在測試中的表現(一個可靠MySQL資料庫測試項目),遠不及采用Host RAID-1的系統,而且測試表明,就算同樣的RAID-1,采用獨立磁盤存儲陣列控制器的效果,竟然還不如最簡單的集成的Host RAID-1,令人頗感意外。
??? 一、尋找原因
??? 確實,為什么采用低價磁盤存儲陣列控制器的RAID-5的性能會不盡理想?要明白這一切,我們先要弄清楚RAID-5的運作原理。RAID-5是經過XOR運算比對各硬盤寫入資料,再將所得到的奇偶校驗的信息分散到陣列中的每個硬盤中。這樣可以進行獨立或者并行的數據讀寫操作,可以在提高數據訪問速度的同時實現數據冗余性。
??? RAID-5將數據交錯存儲在多個磁盤上(類似RAID0),同時維護著一個奇偶校驗塊(parity blocks)系統,由此使整個磁盤存儲陣列清楚每一個物理磁盤上所存儲的數據,即使某個磁盤出現了故障也不會對訪問產生影響。
??? 采用這樣的模式需要至少三塊物理磁盤。此外,為了存儲奇偶校驗數據以及在故障中進行數據恢復還會損失一部分的磁盤空間。對于RAID5模式而言,通常需要基于硬件的磁盤存儲陣列控制器。絕大多數的服務器已經具備了SCSI控制器,這也是RAID-5在企業服務器中被廣泛采用的原因,尤其對大多數只能安裝三個硬盤的1U服務器而言,更是相當理想。
??? 不過從中我們可以明白:磁盤存儲陣列控制器的XOR運算能力與快取記憶體的容量,對RAID-5的性能就有著舉足輕重的影響。從測試結果顯示,采用Intel RAID控制器的服務器,相較于采用Adaprec 120 ZCR控制器的服務器,RADI-5在性能上更享有相當程度的優勢,但都不如運算原理最簡單的Host RAID-1。就算是RAID-1,獨立磁盤存儲陣列控制器也都不如集成的Host RAID。
??? 另一個值得注意的地方是,太大的硬盤分割區對于RAID-5的能性也有不利的影響。比方將三個73GB硬盤所組成的146GB RAID-5容量,全數作為一個超大的作業系統分割區,MySQL的測試效果只能以“慘絕人寰”來比擬,但將測試用分割區縮小到36GB,效果就瞬間成長五倍之多。這主要是磁盤存儲陣列控制器卡快取記憶體容量不足之故,因為測試數據顯示,同樣的情況并沒有發生在內建設256MB RAID快取記憶體的服務器上。
??? 如果要同時解決磁盤存儲陣列控制器的XOR運算能力與快取記憶體的容量給RAID-5所帶來的限制,惟有購買高檔的磁盤存儲陣列控制卡,也就是單通道/多通道SCSI RAID HBA。一般一塊高檔SCSI RAID HBA約售20000至30000元,再加上三至四個SCSI硬盤約售10000元左右。大多數企業是難以承受如此高額的費用。
??? 二、Host RAID 可取?
??? 不過,這是不是意味著,我們只需要采用最便宜的Host RAID,再也不需要獨立的磁盤存儲陣列控制器?答案絕對是否定的。首先,Host RAID并無法提供Hotfix之類的可靠性機制(平時多安裝一臺硬盤作為應急之用,如果發生硬盤損壞,就立即補救),歷史的教訓也證明了,在同一臺服務器上的硬盤是很有可能連續陣亡的。
??? 另外,采用Host RAID-1時,在更換硬盤后,由于必須從一臺硬盤完全轉移資料到另一臺硬盤上,加上因缺乏輔助控制器和獨立快取記憶體,必須以來處理器進行這個工作,所以進行恢復作業時的時間會相當的長,也會大幅度降低系統的性能,對于某些高負載的服務器而言,在絕對是難以忍受的,尤其目前節節高升的硬盤容量,更會突顯這個問題的嚴重性。
??? 隱而不顯的是,Host RAID-1因以來處理器之故,會有著較高的處理器及系統主記憶體利用率。比方采用兩個硬盤組成的Host RAID-1,其效率明顯就會落后于單硬盤的情況。換言之,如果日后持續增加硬盤數量,Host RAID的擴充性就會相當的不利,這也就是不如獨立磁盤存儲陣列控制器之處。
??? 其實在表現方面,Host RAID-0及Host RAID-1并不需要太多的系統資源,但在重建損壞了的RAID(Degraded Mode)或是碰上大量運算資源的RAID-5(需于每次寫入時計算Parity),Host RAID未必是一個良好的選擇,加上Host RAID須依賴操作系統,如Windows2000、Solaris或 Linux等先啟動,所以操作系統并未能受到RAID的保護。Host RAID只需兩塊SCSI硬盤的價錢便可以完成,甚至可以是免費,但除非是用RAID-1(鏡像),否則RAID-0有任何差錯,資料盡毀!
??? 三、結論
??? 事實上,磁盤存儲陣列并不能完全保障硬盤自身的安全,就算是看起來很安全、能兼顧性能的RAID 0+1和1+0,只要兩個硬盤位于不同的RAID-0區域的硬盤接連損壞,資料照樣全軍覆沒,而RAID-5也無法承受一顆以上的硬盤損壞。更重要的是,在預算有限的前提下,企業不見得有能力采購昂貴的高檔磁盤存儲陣列控制卡和那么多的硬盤去構建RAID 0+5或者RAID 5+0。
?
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關閱讀:
( 發表人:admin )