既存の仮想デバイスに新しいデバイスを追加するには、次のコマンドを使用します。
# zpool attach pool existing-device new-device
次のいずれかの条件が適用される場合に、zpool detach コマンドを使用してデバイスを切り離すことができます。
デバイスがミラー化されたプール構成に属している。
RAID-Z 構成で、切り離されたデバイスがほかの物理デバイスまたはスペアで置き換えられる。
これらの条件が当てはまらない場合に、デバイスを切り離すと次のようなエラーが生成されます。
cannot detach c1t2d0: only applicable to mirror and replacing vdevs
次の例は、zfs attach コマンドを適用する方法を示します。
使用例 9 2 方向ミラー化ストレージプールを 3 方向ミラー化ストレージプールに変換するこの例では、mpool は既存の 2 方向のミラープールです。新しいデバイス c2t1d0 を既存のデバイス c1t1d0 に接続することによって、3 方向ミラープールに変換されます。新しく接続されたデバイスは、ただちに再同期化されます。
# zpool attach mpool c1t1d0 c2t1d0
# zpool status mpool
pool: mpool
state: ONLINE
scrub: resilver completed after 0h0m with 0 errors on Fri Jan 8 12:59:20 2010
config:
NAME STATE READ WRITE CKSUM
mpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c0t1d0 ONLINE 0 0 0
c1t1d0 ONLINE 0 0 0
c2t1d0 ONLINE 0 0 0 592K resilvered接続されたデバイスが 3 方向ミラープールを作成
errors: No known data errors
使用例 10 非冗長なストレージプールからミラー化されたストレージプールへの変換
zpool attach コマンドを使用すると、非冗長から冗長な構成にストレージプールまたはログデバイスを変換できます。
次の例は、冗長なプールに変換する前後の非冗長プール system1 のステータスを示します。
# zpool status system1
pool: system1
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
system1 ONLINE 0 0 0
c0t1d0 ONLINE 0 0 0
errors: No known data errors
# zpool attach system1 c0t1d0 c1t1d0
# zpool status system1
pool: system1
state: ONLINE
scrub: resilver completed after 0h0m with 0 errors on Fri Jan 8 14:28:23 2010
config:
NAME STATE READ WRITE CKSUM
system1 ONLINE 0 0 0プールがミラー化される
mirror-0 ONLINE 0 0 0
c0t1d0 ONLINE 0 0 0
c1t1d0 ONLINE 0 0 0 73.5K resilvered
errors: No known data errors