本次採購特輯中,在MySQL資料庫的測試項目中,我們碰到了一個普遍性的狀況,那就是:採用RAID 5的伺服器,在該測試中的表現,均遠不及採用Host RAID 1的系統,而且本次送測伺服器的硬碟規格皆大同小異。另外,就算同樣是RAID 1,採用專屬RAID控制器的效能,竟然還不如最簡單的Host RAID,令人大感意外。為何低價RAID控制器的RAID 5效能會不盡理想?

RAID 5的運作原理在於:經過Exclusive OR(XOR)運算比對各硬碟的寫入資料,再將所得到的同位校正(Parity)資訊分散在不同的硬碟上。如此一來,只需要三臺硬碟,就可以得到兩臺硬碟的實際容量,較一對一映射(mirror)的RAID 1來得經濟,也可以承受一臺硬碟毀損的狀況,這也是RAID 5在企業伺服器中被廣為應用的主因。尤其對大多數僅能安裝三臺硬碟的1U伺服器而言,更是相當的好用。

但是,RAID控制器的XOR運算效能及快取記憶體的容量,對RAID 5的效能就有著舉足輕重的影響。我們從測試中可以發現,採用英特爾RAID控制器的捷元伺服器和採用LSI RAID控制器的宏碁伺服器,相較於其他採用Adaptec I2O ZCR控制器的伺服器,RAID 5效能上享有相當程度的優勢,但都不如運作原理上最單純的Host RAID 1(皆為Adaptec 7902W控制器)。就算是RAID 1,專屬RAID控制器也都不如Host RAID。

另外一個值得注意的地方是,太大的磁碟分割區對於RAID 5的效能也有不利的影響。我們以捷元伺服器為例,將三臺73GB硬碟所組成的146GB RAID 5容量,全數作為一個超大的作業系統分割區,MySQL的測試效能只能以「慘絕人寰」來比擬,但將測試用分割區縮小到36GB,效能就瞬間成長五倍之譜,這應為RAID控制卡快取記憶體容量不足之故,因為同樣的情況,並沒有發生在內建256MB RAID快取記憶體的宏碁伺服器上。Host RAID的問題

不過,這是不是意味著,我們只需要最便宜的Host RAID,再也不需要專屬的RAID控制器?把那張RAID控制器換成另一顆硬碟?答案絕對是否定的。首先,Host RAID並無法提供Hotfix之類的可靠性機制(平常多安裝一臺硬碟做為備援之用,如果發生硬碟損毀,就立即遞補),歷史的教訓也證明了,在同一臺伺服器上的硬碟是很有可能連續陣亡的。

另外,採用Host RAID 1時,在更換硬碟後,由於必須從一臺硬碟完全轉移資料到另一臺硬碟上,加上因缺乏輔助控制器和專屬快取記憶體、必須仰賴處理器進行這個工作,所以進行回復作業時的時間會相當的長,也會大幅降低系統的效能,對於某些高負載的伺服器而言,這絕對是難以忍受的,尤其目前節節高升的硬碟容量,更會突顯這個問題的嚴重性。

隱而不現的是,Host RAID 1因倚賴處理器之故,會有著較高的處理器及系統主記憶體利用率。以iCOM伺服器為例,在理論上最不受磁碟I/O影響的SPEC CPU 2000項目中,採用2臺硬碟組成Host RAID 1,效率明顯落後單臺硬碟的情況。換言之,如果日後持續增加硬碟數目,Host RAID的擴充性就會相當的不利,這也是明顯不如專屬RAID控制器之處。那麼該如何選擇?

事實上,RAID並不能完全保障硬碟資料的安全,就算是看起來很安全、也兼顧效能的RAID 0+1和1+0,只要2臺位於不同RAID 0區域的硬碟接連損毀,資料照樣全軍覆沒,而RAID 5也無法承受一顆以上的硬碟損毀。更重要的是,在預算有限的前提下,企業不見得有能力採購昂貴的高檔RAID控制卡和那麼多的硬碟去構建RAID 0+5和RAID 5+0。所以,企業應根據自身的需求以及伺服器本身的擴充性,去選擇最合適的RAID方案,我們也可從3個企業實際案例,看到截然不同的考量。

更重要的是,定期備份資料、甚至定期更換硬碟,才是確保企業伺服器穩定度及資料安全的不二法門,而這些是任何一種RAID都做不到的。文⊙劉人豪

熱門新聞

Advertisement