Solaris,ZFSでいろいろ試してます

root pool のmirror DISKを1つにして起動してみる
で外したDISK(c1t0d0s0)を繋ぎなおして起動してみます。
# zpool list
NAME    SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
rpool  15.9G  5.55G  10.3G    34%  ONLINE  -
# zpool status
  pool: rpool
 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://www.sun.com/msg/ZFS-8000-9P
 scrub: none requested
config:

        NAME          STATE     READ WRITE CKSUM
        rpool         ONLINE       0     0     0
          mirror      ONLINE       0     0     0
            c1t0d0s0  ONLINE       0     0     1
            c2t0d0s0  ONLINE       0     0     0

errors: No known data errors
ONLINEにはなりましたが、チェックサムでエラーが出ました。
c2t0d0s0だけで起動したときに、/var/log/ などが更新されたからだと思われます。
c1t0d0s0から見ればc2t0d0s0の方がデータがおかしいとも言えますが、
そこはちゃんと認識しているようです。
Anattempt was made to correct the error.  Applications are unaffected.
と言っているので、データは正しく訂正されて、アプリケーション上は何も影響がないと
いうことになります。zpool clear しておきます。
# zpool clear rpool
# zpool status
  pool: rpool
 state: ONLINE
 scrub: none requested
config:

        NAME          STATE     READ WRITE CKSUM
        rpool         ONLINE       0     0     0
          mirror      ONLINE       0     0     0
            c1t0d0s0  ONLINE       0     0     0
            c2t0d0s0  ONLINE       0     0     0

errors: No known data errors
でもこれで他にエラーが出ないという保証はありませんので、
zpool scrub でプール内の全データの整合性をチェックさせます。
# zpool scrub rpool
# zpool status
  pool: rpool
 state: ONLINE
 scrub: scrub in progress for 0h2m, 34.20% done, 0h5m to go
config:

        NAME          STATE     READ WRITE CKSUM
        rpool         ONLINE       0     0     0
          mirror      ONLINE       0     0     0
            c1t0d0s0  ONLINE       0     0     0
            c2t0d0s0  ONLINE       0     0     0

errors: No known data errors
開始しました。少し時間がかかります。
全データのチェックをするのでしょうがないですが、
使われてないブロックまではチェックしません。
一般的なRAIDの再構築よりは無駄が少ないと思います。
# zpool status
  pool: rpool
 state: ONLINE
 scrub: scrub completed after 0h8m with 0 errors on Wed Jul 16 23:15:21 2008
config:

        NAME          STATE     READ WRITE CKSUM
        rpool         ONLINE       0     0     0
          mirror      ONLINE       0     0     0
            c1t0d0s0  ONLINE       0     0     0
            c2t0d0s0  ONLINE       0     0     0

errors: No known data errors
無事終了。チェックサムエラーが出たとしても、さっきのように訂正されたと
言っていたら zfs clear すれば終わりです。
タグ

管理人/副管理人のみ編集できます