ミラー化ルートプール構成では、別のソースからブートしなくても、ディスクを交換 できます。障害が発生したディスクを交換するには、zpool replace を使用します。
または、追加のディスクがある場合は、zpool attach コマンドを使用できます。
SMI (VTOC) ラベルが付いているルートプールディスクを交換している場合は、次の 要件を満たしていることを確認してください。
■ SPARC: そのディスクに SMI (VTOC) ディスクラベルが付いており、スライス 0 に ディスク容量の大部分が含まれていることを確認します。ディスクのラベルを変更 し、スライス 0 を作成する必要がある場合は、『Oracle Solaris 11.3 でのデバイスの
管理』 の 「ZFS ルートプール (VTOC) の交換方法」を参照してください。
■ x86: ディスクに fdisk パーティション、SMI ディスクラベル、およびスライス 0 があることを確認してください。ディスクのパーティションを変更し、スライス 0 を作成する必要がある場合は、『Oracle Solaris 11.3 でのデバイスの管理』 の 「ス
ライスまたはパーティションの変更」を参照してください。
ZFS ルートプールのディスクを交換する方法
1.
交換用ディスクを物理的に接続します。
2.
新しいディスクをルートプールに接続します。
# zpool attach root-pool current-disk new-disk
ここで、current-disk は、この手順の最後に切り離される古いディスクになります。
適切なディスクのラベル付けとブートブロックが自動的に適用されます。
注記 - ディスクに SMI (VTOC) ラベルが付いている場合、ディスクを指定するときは、
必ずスライスを含めてください (c2t0d0s0 など)。
3.
ルートプールのステータスを表示し、再同期化が完了しているか確認します。
再同期化が完了している場合は、出力に次のようなメッセージが含まれています。
scan: resilvered 11.6G in 0h5m with 0 errors on Fri Jul 20 13:57:25 2014
4.
新しいディスクから正常にブートできることを確認します。
5.
正常にブートされたあと、古いディスクを切り離します。
# zpool detach root-pool old-disk
注記 - ディスクに SMI (VTOC) ラベルが付いている場合、ディスクを指定するときは、
必ずスライスを含めてください (c2t0d0s0 など)。
6.
接続されているディスクが既存のディスクより大きい場合は、ZFS の
autoexpandプ
ロパティーを有効にします。
ZFS ルートプールのディスクを交換する方法
# zpool set autoexpand=on root-pool
7.
システムを新しいディスクから自動的にブートするように設定します。
■ SPARC: ブート PROM から eeprom コマンドまたは setenv コマンドを使用しま す。
■ x86: システム BIOS を再構成します。
例 18 ZFS ルートプール内のディスクの交換 (SPARC または x86/EFI (GPT)
この例では、rpool という名前のルートプール内の c2t0d0 を交換します。ここで は、交換用ディスク c2t1d0 がシステムに物理的に接続されたことを前提にしていま す。
# zpool attach rpool c2t0d0 c2t1d0
Make sure to wait until resilver is done before rebooting.
# zpool status rpool pool: rpool state: ONLINE
scan: resilvered 11.7G in 0h5m with 0 errors on Fri Jul 20 13:45:37 2012 config:
NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d0 ONLINE 0 0 0 c2t1d0 ONLINE 0 0 0 errors: No known data errors
新しいディスク c2t1d0 からのブートテストを完了したら、c2t0d0 を切り離し、必要 に応じて autoexpand プロパティーを有効にします。
# zpool detach c2t0d0
# zpool list rpool
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 29.8G 152K 29.7G 0% 1.00x ONLINE
-# zpool set autoexpand=on rpool
# zpool list rpool
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 279G 146K 279G 0% 1.00x ONLINE
-システムを新しいディスクから自動的にブートするように設定して操作を完了しま す。
例 19 ルートプール内の SATA ディスクの交換 (SPARC または x86/EFI (GPT))
SATA ディスクを備えたシステムでは、障害が発生したディスクを zpool replace コ マンドで交換する前に、そのディスクをオフラインにして構成解除する必要がありま す。例:
ZFS ルートプールのディスクを交換する方法
# zpool offline rpool c1t0d0
# cfgadm -c unconfigure c1::dsk/c1t0d0
障害が発生したディスク c1t0d0 を物理的に取り外し、交換用ディスク c1t0d0 を挿入 します。一部のハードウェアでは、ディスクをオンラインにしたり、挿入された交換 用ディスクを再構成したりする必要はありません。
# cfgadm -c configure c1::dsk/c1t0d0
# zpool online rpool c1t0d0
# zpool replace rpool c1t0d0
# zpool status rpool
x86 システムでは、再同期化が完了したあと、ブートブロックをインストールしま す。
x86# bootadm install-bootloader
例 20 ZFS ルートプール内のディスクの交換 (SPARC または x86/VTOC)
この例では、rpool という名前のルートプール内の c2t0d0s0 を交換します。ここで は、交換用ディスク c2t1d0s0 がシステムに物理的に接続されたことを前提にしてい ます。
# zpool attach rpool c2t0d0s0 c2t1d0s0
Make sure to wait until resilver is done before rebooting.
# zpool status rpool pool: rpool state: ONLINE
scan: resilvered 11.7G in 0h5m with 0 errors on Fri Jul 20 13:45:37 2012 config:
NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d0s0 ONLINE 0 0 0 c2t1d0s0 ONLINE 0 0 0 errors: No known data errors
新しいディスク c2t1d0s0 からのブートをテストします。c2t1d0s0 に障害が発生した 場合は、古いディスク c2t0d0s0 からのブートもテストします。
ok boot /pci@1f,700000/scsi@2/disk@1,0 ok boot /pci@1f,700000/scsi@2/disk@0,0
ブートテストを完了したら、c2t0d0s0 を切り離し、必要に応じて autoexpand プロパ ティーを有効にします。
# zpool detach c2t0d0s0
# zpool list rpool
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 29.8G 152K 29.7G 0% 1.00x ONLINE
-# zpool set autoexpand=on rpool
# zpool list rpool