Solaris 資料一覧
ZFSストレージプールスペア設定
2008/8/21更新
対応バージョン: 10 x86
既存のストレージプールにホットスペアを設定する手順を示す。
ここでは各100MBの3ファイルで構成されているraidz2のストレージプールにスペアを追加する。
# zpool status rz2 pool: rz2 state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rz2 ONLINE 0 0 0 raidz2 ONLINE 0 0 0 /zfs/raidz-1 ONLINE 0 0 0 /zfs/raidz-2 ONLINE 0 0 0 /zfs/raidz-3 ONLINE 0 0 0 # mkfile 100m /zfs/spare-1 # zpool add rz2 spare /zfs/spare-1 # zpool status rz2 pool: rz2 state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM rz2 ONLINE 0 0 0 raidz2 ONLINE 0 0 0 /zfs/raidz-1 ONLINE 0 0 0 /zfs/raidz-2 ONLINE 0 0 0 /zfs/raidz-3 ONLINE 0 0 0 spares /zfs/spare-1 AVAIL
スペアを削除する場合は以下のようにする。
# zpool remove rz2 /zfs/spare-1
スペアの手動切り替え
通常、現用デバイスに障害が発生すると自動的にスペアに切り替わるが、手動でこれを行うこともできる。
例えば/zfs/raidz-3をスペアに置き換える場合は以下のようにする。
# zpool replace rz2 /zfs/raidz-3 /zfs/spare-1 # zpool status rz2 pool: rz2 state: ONLINE scrub: resilver completed after 0h0m with 0 errors on Sun Nov 30 05:51:05 2008 config: NAME STATE READ WRITE CKSUM rz2 ONLINE 0 0 0 raidz2 ONLINE 0 0 0 /zfs/raidz-1 ONLINE 0 0 0 /zfs/raidz-2 ONLINE 0 0 0 spare ONLINE 0 0 0 /zfs/raidz-3 ONLINE 0 0 0 /zfs/spare-1 ONLINE 0 0 0 spares /zfs/spare-1 INUSE currently in use
ここで/zfs/raidz-3を切り離す。
# zpool detach rz2 /zfs/raidz-3 # zpool status rz2 pool: rz2 state: ONLINE scrub: resilver completed after 0h0m with 0 errors on Sun Nov 30 06:03:06 2008 config: NAME STATE READ WRITE CKSUM rz2 ONLINE 0 0 0 raidz2 ONLINE 0 0 0 /zfs/raidz-1 ONLINE 0 0 0 /zfs/raidz-2 ONLINE 0 0 0 /zfs/spare-1 ONLINE 0 0 0
この状態で/zfs/raidz-3がメンテナンス可能である。
メンテナンスが終わったら/zfs/raidz-3をスペアの替わりにプールに戻す。
# zpool replace rz2 /zfs/spare-1 /zfs/raidz-3 # zpool status rz2 pool: rz2 state: ONLINE scrub: resilver completed after 0h0m with 0 errors on Sun Nov 30 06:09:32 2008 config: NAME STATE READ WRITE CKSUM rz2 ONLINE 0 0 0 raidz2 ONLINE 0 0 0 /zfs/raidz-1 ONLINE 0 0 0 /zfs/raidz-2 ONLINE 0 0 0 replacing ONLINE 0 0 0 /zfs/spare-1 ONLINE 0 0 0 /zfs/raidz-3 ONLINE 0 0 0
上記のようにスペアからの置き換えが始まるのでしばらく待つと以下のようになる。
# zpool status rz2 pool: rz2 state: ONLINE scrub: resilver completed after 0h0m with 0 errors on Sun Nov 30 06:09:32 2008 config: NAME STATE READ WRITE CKSUM rz2 ONLINE 0 0 0 raidz2 ONLINE 0 0 0 /zfs/raidz-1 ONLINE 0 0 0 /zfs/raidz-2 ONLINE 0 0 0 /zfs/raidz-3 ONLINE 0 0 0
この状態になったらスペアを再度設定する。
# zpool add rz2 spare /zfs/spare-1 # zpool status rz2 pool: rz2 state: ONLINE scrub: resilver completed after 0h0m with 0 errors on Sun Nov 30 06:09:32 2008 config: NAME STATE READ WRITE CKSUM rz2 ONLINE 0 0 0 raidz2 ONLINE 0 0 0 /zfs/raidz-1 ONLINE 0 0 0 /zfs/raidz-2 ONLINE 0 0 0 /zfs/raidz-3 ONLINE 0 0 0 spares /zfs/spare-1 AVAIL