好像沒看到有人答到點(diǎn)子上的,我簡(jiǎn)單說(shuō)說(shuō):
RAID有個(gè)巨大的問題稱為寫入黑洞(Write Hole),即寫文件的時(shí)候如果突然掉電,文件沒有寫完而校驗(yàn)碼是基于整個(gè)文件的。各級(jí)RAID都有這種問題。對(duì)于RAID 5來(lái)說(shuō)這個(gè)問題尤其嚴(yán)重,因?yàn)槌鰡栴}的時(shí)候系統(tǒng)并不知道出了問題,直到某個(gè)盤全壞了,你換上新盤,RAID系統(tǒng)重新Build的時(shí)候,才會(huì)發(fā)現(xiàn)校驗(yàn)碼和文件內(nèi)容不同。
較好的硬件RAID卡,使用各種方法來(lái)避免突然掉電,什么小電池啊,nvram啊等等。
軟件RAID完全沒有這個(gè)功能。而家用NAS或者服務(wù)器,很少有UPS,再加上有些人有隨手關(guān)機(jī)的習(xí)慣,帶來(lái)Write Hole的可能性更大。平時(shí)不覺得什么,出了問題哭都來(lái)不及。這也是現(xiàn)在使用軟件RAID的越來(lái)越少。正式應(yīng)用中,基本沒有用軟件RAID的。
如果真要用軟的,就得用ZFS什么得。ZFS使用“RAID-Z”的軟件辦法來(lái)解決Write Hole。這個(gè)辦法就是所謂Copy On Write。RAID-Z類似于RAID-5,但它本身不是RAID,更談不上軟件RAID。由于采用Copy on Write,ZFS隨時(shí)檢驗(yàn)校驗(yàn)碼并更正。代價(jià)是ZFS需要的內(nèi)存巨大,計(jì)算量也較大。