• 検索結果がありません。

ZFS ルートプールのディスクを交換する方法

ミラー化ルートプール構成では、別のソースからブートしなくても、ディスクを交換 できます。障害が発生したディスクを交換するには、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