zpool が ZFS-8000-5E のエラーで壊れた ― 2020年08月30日 04時57分26秒
事の発端は、USB ケーブルを付け変えて起動する PC を変えた後。電源を入れるが、どうもデバイスが認識されていない。他にあり起動時に ZFS よりも先にマウントされる UFS パーティションの認識に失敗しシングルユーザモードに落ちた。そのため、一度電源を落し、電源ケーブルも含めて全部接続しなおした。二度目は UFS のマウントはうまくいき、ZFS のマウントの段階になった。ここで、失敗したので、再度電源を落し、物理接続の再確認。これを二、三回行った後に起動できたが、ZFS がマウント出来ていない。zpool status で調べると破損とのこと。
プール名は scratch。名前通りに雑多なファイルの置き場所。
数日のデータは失っても大した事はないので、試す。
# zpool status scratch
pool: scratch
state: FAULTED
status: One or more devices could not be used because the label is missing
or invalid. There are insufficient replicas for the pool to continue
functioning.
action: Recovery is possible, but will result in some data loss.
Returning the pool to its state as of Wed Aug 26 23:33:01 2020
should correct the problem. Approximately 2589 minutes of data
must be discarded, irreversibly. Recovery can be attempted
by executing 'zpool clear -F scratch'. A scrub of the pool
is strongly recommended after recovery.
see: http://illumos.org/msg/ZFS-8000-5E
scan: scrub repaired 0 in 7 days 02:48:12 with 0 errors on Tue Mar 26 23:33:37 2019
config:
NAME STATE READ WRITE CKSUM
scratch FAULTED 0 0 1
14468974728316441802 FAULTED 0 0 6 was /dev/da0s4g
エラーがメモリが足りないと出たので、搭載メモリの多い機械に繋ぎ変えて復旧を試みてみたが、相変わらず out of memory。5GB 以上の割当機で失敗し、top でメモリ利用量を見ても変わらない。
# zpool clear -F scratch
internal error: Integrity check failed
Abort (core dumped)
# zpool clear -Fn scratch
internal error: out of memory
折角なので truss で様子を見てみた。
mmap は大量に行っているが、物理メモリはまだ余裕があった。どうも ioctl の失敗が原因の様だ。
mmap(0x0,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 545128448 (0x207e0000)
mmap(0x0,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 545136640 (0x207e2000)
ioctl(3,0xc0145a21 { IORW 0x5a('Z'), 33, 20 },0xffdfc408) ERR#97 'Integrity check failed'
internal error: out of memory
write(2,"internal error: out of memory\n",30) = 30 (0x1e)
exit(0x1)
process exit, rval = 1
ZFS-8000-5E を見るとそちらは復旧は無理とある。バックアップからデータを戻せと指示。手元では一応復旧出来そうな雰囲気だが、ioctl が失敗している現状では無理な感じだ。
重要なファイルは最後のバックアップにしっかりと入っている。あとのファイルは十日ぐらい前の時点のバックアップがあり、十分。後は、このまま諦めて、バックアップから戻すか、もう少し試してみるか。
次回。
コメント
トラックバック
このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2020/08/30/9290267/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。