RAID的工作原理
RAID全名為”Redundant Array of Independent Disks” – 稱作『磁碟陣列』(Disk Array),具備容錯機制、透過多台硬碟堆疊成一台高容量使用的『虛擬磁碟』,而 RAID 核心技術就是『虛擬架構』。大型儲存裝置系統,多為擁有大量Data、ERP、Database、會計進銷存的企業用戶使用居多,甚至連『NAS』內都有 RAID 的設定。
一般用途:可能的應用層面
RAID 0
雖然RAID 0是最快的模式,但同時也是最危險的一種。比方說,如果您用4台硬碟組成RAID 0的陣列,可以將資料傳輸率拉到每秒100 MB的門檻以上,不過容錯率卻會趨近於零。要知道硬碟也是機械設備,經過使用後它也會老化或故障,所以機械零件所導致的損壞只是時間問題罷了。但就算只發生了電路上的小錯誤,或製造上的小缺失,也都可能造成大災難。
因此RAID 0對長期保存資料來講並非是個好選擇,而主要應用在暫存資料用的磁碟,像是檔案或是資料庫伺服器等。如果系統本身需要隨時備份,那RAID 1是最佳選擇。如果您有可以熱插拔的設備,您可以在電腦運作中交換硬碟,來將資料備份到不同電腦上容量相同的不同硬碟。接著把硬碟接回電腦,RAID 1模式將會再次啟動,繼續保持資料備份的同步性。
RAID 1
RAID 1 純粹只是即時鏡射(mirror)硬碟的資料(特定情況下,也可能鏡射任何RAID陣列),所以許多人會有誤解,以為這個模式無法對效能有所改善。雖然寫入動作的確和只有一顆硬碟時沒有兩樣,但是讀取資料時理論上是可以達到和RAID 0相同的速度的。這只是理論上的計算,因為這種情況是以資料同時從所有陣列內磁碟機上讀取來計算的,但實際上資料讀取的動作,沒有辦法像RAID 0這樣分散的很確實。這部份控制器會以特殊方式來處理分散讀取的動作。
如果您著重在最大限度的資料安全性,以及最低限度的資料救援花費時間(像是簡易伺服器等),那RAID 1就有用了。大多數RAID控制器都能夠在硬碟經過交換後,自動進行獨立的資料回復動作。但只有在您的硬碟安裝在可熱插拔的硬碟櫃中,才能夠即時進行回復。
RAID 3的普及率已經越來越低,因為RAID 5不但提供更多優點,缺點也要來的少。在RAID 3模式中,其中一台硬碟用來存放同位元檢查值。它最大的優點在於能夠把資料分散到各硬碟上,在大幅提升資料傳輸率的同時,也可以防止單顆硬碟損壞。不過由於同位元檢查值只寫入一台硬碟,所以寫入效能也大幅下降。
RAID 3
通常應用在存放大多數靜態資料,或是需要RAID 1以上的效能,但同時也要兼顧資料安全的伺服器上。這也是讓寫入性能的影響不那麼大的簡單方式。
RAID 5
RAID 5 幾乎佔了目前高階伺服器的大多數。如果您使用4~7顆硬碟,而且硬碟容量夠大,能容許較大的分割區,那這種模式的效能就顯得十分出色。和RAID 3不同的是,它的同位元檢查值也一樣分散在各硬碟上,這對效能會產生正面的影響。這也讓RAID 5模式在各種應用上都能提供十分高的效能。
RAID 6
RAID 6 與 RAID 5 類似,但奇偶校驗資料寫入兩個磁碟。這意味著它至少需要 4 個硬碟,並且可以承受 2 個磁碟同時死機。讀取速度與 RAID 5 一樣快,但寫入速度比 RAID 5 慢,因為需要計算額外的奇偶校驗資料。 RAID 6 是標準 Web 服務器的一個非常好的選擇,其中大部分任務都是讀取的。但不推薦用於寫入量大的環境,例如資料庫伺服器。
功能 | RAID 0 | RAID 1 | RAID 5 | RAID 6 | RAID 10 |
最低伺服器數量 | 2 | 2 | 3 | 4 | 4 |
容錯率 | None | 1台 | 1台 | 2台 | 每個子陣列中最多有一個磁碟故障 |
讀取速度 | 高 | 中 | 低 | 低 | 高 |
寫入速度 | 高 | 中 | 低 | 低 | 中 |
利用率 | 100% | 50% | 67% – 94% | 50% – 88% | 50% |
常見應用 | 高端工作站、資料記錄 | 作業系統、事務資料庫 | 資料庫、網路服務 | 資料歸檔、備份到磁碟、高可用性解決方案、具有大容量需求的伺服器 | 高速資料庫、檔案伺服器器、應用伺服器 |
逼近極限:巢狀RAID陣列
如果您覺得以上陣列所提供的傳輸率還不夠高,您可以組合各種RAID模式。這種架構稱作巢狀RAID陣列(Nested RAID,或多重RAID陣列),不過您應該很少有機會接觸它。這也是當然的,因為傳統的RAID陣列已經夠快了。
就我們所知,IDE市場中並沒有支援巢狀RAID陣列的產品(RAID 10模式例外)。至於SCSI產品方面,如果您想架設一個規格超級豪華的巢狀RAID陣列,最好先準備幾百到幾千美元買張RAID卡吧。
RAID 0+1模式
最常見的巢狀RAID陣列應該是0+1模式。這個模式需要最少4台硬碟,而且數目必須要是偶數。用其中半數硬碟設定出磁碟組(RAID 0),再把另外半數硬碟用來鏡射(RAID 1)這些硬碟。這樣一來,效能和單用一顆硬碟比起來,讀取速度可以快上4倍,寫入效能也會是原本的2倍。
RAID 50(5+0)模式
覺得幾顆硬碟組成的RAID 5陣列速度還不夠快嗎?那不妨建立一個包含兩個架構相同RAID 5陣列的磁碟組吧。雖然這樣一來資料安全性已經消失(在此陣列本身算是一台硬碟),但理論上效能還能再增加一倍。實際上您要考慮到的,將會是PCI界面與網路頻寬的限制,而不是硬碟陣列的速度。
在巢狀RAID陣列(或多重RAID陣列)中,命名是個重要的因素。雖然RAID 0+1的磁碟組只用在下層,鏡射只用在上層,但RAID 10則剛好相反。不過因為RAID 10並不實用,所以這裡誤用名稱也顯得沒那麼重要。
巢狀RAID與安全性:不是1就是0
雖然大多數人應該不會有機會接觸到這麼大型的磁碟陣列,不過我們還是再多提一下RAID的注意事項吧。雖然將多重RAID陣列組合起來,是有效且穩定的方式,但要保有完整的資料安全性,必須每個陣列本身都具有安全性的保證。像以RAID 0陣列組成的RAID 5陣列就不安全,因為RAID 0當中只要有硬碟故障,那資料仍舊無法救回。
結論:哪個 RAID 級別最好?
對於大多數中小型企業而言,RAID 5、RAID 6 和 RAID 10 足以提供良好的容錯性和性能。如果您的預算有限,並且想充分利用磁碟陣列,那麼 RAID 5 和 RAID 6 是理想的選擇。然而,對於諸如伺服器中心和資料中心之類的大數據操作,預算將更大且性能更重要,RAID 10 仍然是最佳選擇。