使用獨立磁碟容錯陣列(RAID)的主要目的是提高磁片HTTP://www.aliyun.com/zixun/aggregation/14345.html">資料處理能力和提供資料冗余。
RAID既能通過作業系統來設置(軟體式RAID),也可以在不設置作業系統的情況下通過專用RAID控制卡來實現(硬體式RAID)。 這章將向您解釋如何在Redhat/Fedora linux下配置軟體式RAID結構。
不管是硬體式或軟體式,冗余磁碟陣列RAID能用很多不同的標準來配置,下面我們看看最流行的幾種配置方式
線性RAID
線上性RAID中,RAID控制器將RAID集(set)視為一個磁片鏈。 當前一個磁碟空間被填滿後,資料順序寫入磁片鏈中的下一個磁片。 線性RAID的目的是容納跨磁片的超大檔案系統,而且沒有資料冗余性。 磁碟機故障將損壞您的資料。
Fedora Linux不支援此方式的RAID。
RAID 0
在RAID 0下,RAID控制器試圖將資料平均的寫入RAID集(set)中的所有磁片。
將磁片視為盤子,將資料視為蛋糕。 假設你有四個蛋糕-巧克力味、香草味、櫻桃味、草莓味-和四個盤子。 RAID 0初始操作是將蛋糕切成片,然後將這些片放到每個盤子裡。 RAID 0 磁碟機讓作業系統覺得蛋糕是完整的,而且是放到了一個大盤子裡。 例如,4個9GB的硬碟,配置成RAID 0集的話,作業系統將它們視為一個36GB的硬碟
和線性RAID相似,RAID 0也是為了容納跨磁片的超大容量檔案系統,並沒有資料冗余性。 RAID 0的優點是資料存取速度。 一個檔分放在四個磁片上能以四倍于一個磁片的讀取速度讀取出來。 記住RAID 0常被稱為條帶集
RAID 0允許磁片的空間大小不同。 當RAID使用完最小磁片上的條帶空間時,它繼續使用剩餘磁片的可用空間作為條帶集。 當這種情況發生時,這部分資料的存取速度將變慢,因為RAID磁碟機的數量減少了。 所以,RAID 0 最好使用同容量的磁片。
Fedora Linux支援RAID 0 ,圖26.1說明了RAID 0的資料分配過程
RAID 1
在RAID 1方式下,資料被覆制放到另一磁片上。 這種RAID方式因此經常被稱之為磁片鏡像。 想像一下,您將一個同樣的故事說給兩個人挺,這樣的話,如果其中一個人忘記了故事的情節,您可以讓另一個來告訴您。
當RAID 1集中的一個磁片壞了的話,剩下的那個磁片仍然能夠工作。 當壞的磁片被更換後,資料能夠自動的從剩下的那個好的磁片上複製到新磁片上。 在任一主RAID磁片發生故障時,RAID 1還可以將資料自動的複製到一個熱備的空磁片上。
RAID 1提供了資料冗余性,但沒有RAID 0的速度優點。 軟體式的RAID 1的一個缺點是伺服器不得不將資料寫入兩次以便寫入每個鏡像磁片。 這回佔用資料匯流排和cpu資源。 在硬體式RAID 1下,伺服器cpu只需將資料傳給RAID磁碟控制卡一次,剩下的工作就由磁碟控制卡來完成了。 這使得在實現RAID 1時,優先選用能提供RAID的磁碟控制卡
RAID 1 的一個限制是總的RAID集大小等於磁片集中容量最小的那塊磁片。 這跟RAID 0不同,較大磁片中剩餘部分的磁碟空間會浪費掉。
Fedora Linux支援RAID 1。 圖中說明了RAID 1方式下的資料分發過程
RAID 0和RAID 1 的工作方式