RAID 1 是將一份資料做鏡射,存放在多顆硬碟中,因此寫入速度跟 NON-RAID 差不多,這點沒什麼問題
但至於讀取速度,就有幾種不同的意見
1.變快版
每顆硬碟裡都存有相同的 FILE DATA,所以可以同時從 HDD1 讀 PART1,HDD2 讀 PART2 這樣,與 RAID 0 一樣可以加快讀取速度
2.不變版
讀檔時只會同某一顆硬碟讀,有錯誤時才從別顆讀,所以速度跟 NON-RAID 差不多
3.變慢版
讀檔時會同時從兩顆讀,並一一做資料的比對校正,因此速度會比 NON-RAID 慢一些
請問哪一種說法才是正確的?
還是說依據晶片做法會有不同的結果?所以都有可能呢?
各家的存取演算法各有不同,早期SCSI的年代
高階卡上有記憶體,而且要裝電池(將RAID Config存在裡面)
而現在大多採取寫入硬碟之中;這樣的好處很多,免電池,成本可以降低,更容易普及...
但是速度便相對犧牲(穩定度...)
早期的RAID-1
在寫入是可以接近Non-RAID,而且讀取可以變快!
(係由晶片提供各硬碟通道,可獨立同時讀寫)
現在主機板內建的功能,則是基於南橋的功能
分別寫入,但獨立存取;主要供系統備援使用
要加速?改用RAID-0或是10吧!
(再不然就換卡啦~Adaptec或是DELL都有不錯的選擇)
才疏學淺,如有謬誤還望各位指正喔!!
要找我?請到01籃球社殘障組報到
有錯請指正無妨
話說我們先從正確性開始討論
不知原PO在提出兩個硬碟讀取時彼此比對資料後再輸出時
有沒想過一個問題
今天假設一個硬碟中的資料壞了
我們比對兩個硬碟的資料會得到什麼結論
簡單來說就是[兩邊資料不一樣]
請問[兩邊資料不一樣]這個結論可不可以讓我們推導出[阿 是O碟壞了]?
很明顯的不行
也就是因為上面這個問題
所以有RAID2的出現
RAID2的方法是 假設你的資料有2的3次方個硬碟(8個)
你就需要額外的3+1個硬碟來儲存糾錯碼
這些糾錯碼保證當其中任何一台硬碟壞掉時(同時硬碟自己不知道自己壞了)
我們可以藉由比對資料和糾錯碼來找出壞掉的硬碟同時進行資料更正
但是 好像我們都沒看過RAID2的實做捏
很簡單 因為硬碟具有確認自己讀出的資料是否正常的能力
也就是說 硬碟本身能知道這次的讀取是否正常
因為這個特性 所以我們假若只是要保證我們可以壞掉一台硬碟
我們會採用N個碟的資料只需要N+1台資料碟的RAID 3 或 4 或 5
而不是上面這個要很多的RAID 2
==================================================================
上面的論述很可能因為我描述能力太差而看不懂
底下我們來做重點整理
1.硬碟可以知道他自己讀出的資料是否正常
2.因為這個特點 所以他讀出的資料不需和其他硬碟做比對(因為他直接能知道對錯)
所以 回到一開始的問題
RAID1能不能增加讀取速度
理論上的答案是:可以
實際上的答案:或許你可以找到一個或多個RAID1後讀取效能不增加的例子 但是我認為絕大多數的產品RAID 1後效能都該是增加的
下台一鞠躬