ZFS-NAS測試數據 Part 5 - ZFS和Zpool的破壞測試,想辦法弄掛ZFS檔案系統就對了
測試日期20091101
關機後隔天繼續測試
測試日期20091101
- zpool組態不變
- 在zpool正常normal的狀態下(之前scrub完成),關機移除c2t3d0後,用HDTune洗白白,全部寫入zero,但不重建MBR
- NAS開機進入系統後,zpool sttatus -x 會回報異常,被用HDTune全部寫入zero的c2t3d0,出現CKSUM error的訊息
- 但是raidz1 pool 還是維持在正常狀態下,並沒有變成degrade
- 讀取速度有降下來
- zpool sttatus -x 會回報異常,CKSUM error數量增加,zpool維持在online
- zpool replace XD c2t3d0 沒有作用
- zpool offline XD c2t3d0後,zpool status -x進入degrade狀態
- zpool online XD c2t3d0後,zpool status -x 有resilver紀錄,但是瞬間完成,zpool回到online狀態
- zpool scrub XD 開始 scrub
- scrub中,zpool status -x,cksum error會持續增加,但是系統還是持續online,沒有降到degrade
- 完成scrub後,重開NAS,發生意外狀況,c2t3d0掛了unavailable
- 再重開機,BIOS中 可以正常看到c2t3d0,但是NAS啟動完成後,zpool中的c2t3d0還是unavailable
- 再重開機,並且跟換SATA排線,BIOS中 可以正常看到c2t3d0,但是NAS啟動完成後,zpool中的c2t3d0還是unavailable
- 用xpe開機,HDTune下正常,Partion Manager狀態也正常,只有分割type怪怪的。
- 再重開機,BIOS中 可以正常看到c2t3d0,但是NAS啟動完成後,zpool中的c2t3d0還是unavailable,zpool仍然degrade
- zpool replace XD c2t3d0 c2t2d0把空出來的c2t2d0換上去,zpool開始resilver
- 但是resilver進行中還沒完成,zpool status就變成online了,degrade狀態不見了,原本unavailable的c2t3d0也變成online\
- 這時XD pool status的CKSUM error也消失了,問題很大,因為現在應該是沒有備援的狀態。
- 最後resilver完成,沒有任何異常訊息
- 之前重開機,再NAS啟動階段,NexentaCore就有跳出c2t3d0的錯誤訊息了 ZFS和Zpool還是沒有掛,繼續想辦法破壞 zpool組態變成
- 改用HDDscan把,c2t3d0和c2t5d0用Erase 清乾淨,看zpool會發生什麼問題,HDDscan erase跑完error是0
- NexentaCore開機完,c2t5d0變成unavailable,XD pool變成degrade
- 接著強制replace c2t5d0 c2t3d0,後開始resilver
- resilver中把c2t5d0 offline後再從新online,還是會維持unavailable
- resilver中,因為error太多,原本online的c2t2d0和c2t4d0變成degrade,ZFS出現data corruption訊息
- 但是resilver會繼續,一直到完成,XD pool會維持degrade狀態,不會因為變成online
- 而ZFS顯示data corruption的部份也真的讀不出來了(透過CIFS),終於把ZFS和zpool弄到壞了
- 手動zpool clear將異常紀錄清除,把c2t2d0和c2t4d0重新online,resilver自動重新再開始
XD | ||
raidz1 | ||
c2t3d0 | ||
c2t4d0 | ||
c2t5d0 |
c2t2d0 | 有接上但系統未使用,非XD pool的成員 |
zpool 狀態 | 項目 | 動作 | 使用程式或動作 | 大小 (GB) | 時間 (sec) | 速度 (MB/sec) | NAS CPU 使用率(%) |
normal (實際有問題) | 登入 ZFS-NAS | 讀取 raidz | time (cp test /dev/null) | 20 | 6m6s | 55 |
XD | degrade | ||
raidz1 | degrade | ||
c2t3d0 | unavailable | ||
c2t4d0 | online | ||
c2t5d0 | online |
XD | online | ||
raidz1 | online | ||
c2t2d0 | online | ||
c2t4d0 | online | ||
c2t5d0 | online | ||
c2t3d0 | 非XD pool的成員 |
XD | degrade | ||
raidz1 | degrade | ||
c2t2d0 | online | ||
c2t4d0 | online | ||
c2t5d0 | unavailable |
XD | degrade | |||
raidz1 | degrade | |||
c2t2d0 | degrade | |||
c2t4d0 | online | |||
replacing | degrade | |||
c2t5d0 | unavailable | |||
c2t3d0 | online |
XD | degrade | |||
raidz1 | degrade | |||
c2t2d0 | degrade | |||
c2t4d0 | degrade | |||
replacing | online | |||
c2t5d0 | unavailable | |||
c2t3d0 | online |
XD | degrade | ||
raidz1 | degrade | ||
c2t2d0 | degrade | ||
c2t4d0 | degrade | ||
c2t3d0 | degrade | ||
c2t5d0 | 非XD pool的成員 |
關機後隔天繼續測試
- 重開機後,未完成的resilver會重頭開始,(scrub動作則不確定)
- 等待resilver完成後,XD pool還是維持degrade,replacing的動作似乎沒有完成
- 用clear指令清除c2t2d0和c2t4d0的異常狀態,XD zpool 仍然是degrade
- detach XD c2t5d0,但是把unavailable的c2t5d0用detach指令移除後,怪事發生了
- 變成online了,好像應該要維持degrade才對
- clear XD,resilver從頭來過
- 只要zpool的硬碟組態改變,就一定會進行resilver,清除異常紀錄也一樣
XD | degrade | |||
raidz1 | degrade | |||
c2t2d0 | degrade | |||
c2t4d0 | degrade | |||
replacing | online | |||
c2t5d0 | unavailable | |||
c2t3d0 | online |
XD | online | ||
raidz1 | online | ||
c2t2d0 | online | ||
c2t4d0 | online | ||
c2t3d0 | online |
沒有留言:
張貼留言