ZFS の scrub でエラーが出てしまった
自宅サーバのディスクは ZFS にてミラー化している。一応、定期的に scrub する設定をしてある
具体的には、/etc/periodic.conf に以下のような記述がしてある。
# 404.status-zfs
daily_status_zfs_enable="YES" # Check ZFS
daily_status_zfs_zpool_list_enable="YES" # List ZFS pools
# 800.scrub-zfs
daily_scrub_zfs_enable="YES"
daily_scrub_zfs_pools="" # empty string selects all pool
daily_scrub_zfs_default_threshold="21" # days between scrubs
というわけで、21日(=3週間)ごとに scrub が走るというわけだ。
昨日の daily run output にこんなレポートが…
Checking status of zfs pools:
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
pool0 1.69T 865G 863G 50% 1.00x ONLINE -
pool: pool0
state: ONLINE
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://illumos.org/msg/ZFS-8000-9P
scan: scrub repaired 128K in 1h39m with 0 errors on Sun Oct 6 04:44:46 2013
config:
NAME STATE READ WRITE CKSUM
pool0 ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gpt/disk0 ONLINE 0 0 0
gpt/disk1 ONLINE 0 0 1
errors: No known data errors
disk1 に checksum のエラーがでたが、どうやら、自動修復されたようだ。ファイルに影響は出ないらしい。
とりあえずみなかったことにしよう
# zpool clear pool0 # エラーステータスをクリア
# zpool status # どうなったか確認
pool: pool0
state: ONLINE
scan: scrub repaired 128K in 1h39m with 0 errors on Sun Oct 6 04:44:46 2013
config:
NAME STATE READ WRITE CKSUM
pool0 ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gpt/disk0 ONLINE 0 0 0
gpt/disk1 ONLINE 0 0 0
errors: No known data errors
はい、これで無かった事になりました。 (おい
いや、無かった事にはなっていない。上記の出力のとおり「修復しましたよ」という記録がステータスは残っている。