2009年11月19日木曜日

デグレード後使えなくなっていたZFSプールのインポートに成功

OpenSolaris 2009.06 で、Degrade ステータスとなった ZFS プールをインポートできなくなり
困っていたのですが、先ほど紹介した ZFS プールの rewind 機能を試したら無事マウントできるようになりました。

実はディスクを3台収容できるエンクロージャに物理的な障害が発生し 3本中1本のディスクが認識できなくなりました。冗長性を失ったままずっと動いていたのですが、障害原因の切り分けを行うべく OpenSolaris を停止したところ二度と import できなくなり、2ヶ月ほど放置してあったものです。

root@opensolaris:~# zpool import
  pool: array1
    id: 12644204788362156509
 state: DEGRADED
status: The pool was last accessed by another system.
action: The pool can be imported despite missing or damaged devices.  The
        fault tolerance of the pool may be compromised if imported.
   see: http://www.sun.com/msg/ZFS-8000-EY
config:

        array1        DEGRADED
          raidz1      DEGRADED
            c5t0d0p1  ONLINE
            c5t1d0p1  FAULTED  corrupted data
            c4t1d0p1  ONLINE

2009/11/6付の ONNV では同じ操作をするとこんな感じ。ステータス表記が DEGRADED から FAULTED に変更されるなど、メッセージにいくらかの変更があります。

root@opensolaris:~# zpool import
  pool: array1
    id: 12644204788362156509
 state: FAULTED
status: The pool was last accessed by another system.
action: The pool cannot be imported due to damaged devices or data.
        The pool may be active on another system, but can be imported using
        the '-f' flag.
   see: http://www.sun.com/msg/ZFS-8000-EY
config:

        array1        FAULTED  corrupted data
          raidz1-0    FAULTED  corrupted data
            c5t0d0p1  ONLINE
            c5t1d0p1  FAULTED  corrupted data
            c4t1d0p1  ONLINE


これまでインポートできなかった ZFS プール array1 ですが、無事インポートできるようになりました。 cannot share ... のメッセージが表示されていますが、これは iSCSI ターゲットのパッケージが入っておらずサービスが復旧できないために表示されており、 ZFS プールとしてはきちんとオンラインになっています。

root@opensolaris:~# zpool import -Ff array1
cannot share 'array1/timemachine': iscsitgtd failed request to share
cannot share 'array1/iscsi/elena4': iscsitgtd failed request to share

ちなみに -F オプションなしだと下記のようにエラーが表示されました。
プールを作り直せとメッセージが表示されるようになったのは最近のことです。
おそらくインポートできなくなったプールに関する問い合わせが相次いでいたのでしょうね。:-)

root@opensolaris:~# zpool import -f array1
cannot import 'array1': one or more devices is currently unavailable
        Destroy and re-create the pool from
        a backup source.



0 件のコメント:

コメントを投稿