次の理由により、ルートプールのディスクの置き換えが必要になることがあります。
ルートプールが小さすぎるため、より大きいディスクに置き換えたい
ルートプールのディスクに障害が発生している。非冗長プールでディスクに障害が発生してシステムがブートしない場合は、CD やネットワークなどの代替メディアからブートしたあとでルートプールのディスクを置き換える必要があります。
zpool replace コマンドを使用して、ルートプールディスクでディスクを交換する場合は、ブートブロックを手動で適用する必要があります。
ミラー化ルートプール構成では、代替メディアからブートしなくてもディスクの置き換えを試行できる場合があります。zpool replace コマンドを使用して、障害が発生しているディスクを置き換えたり、追加ディスクがある場合は zpool attach コマンドを使用したりできます。追加ディスクの接続やルートプールディスクの切り離しの例については、次の手順を参照してください。
SATA ディスクを備えたシステムでは、故障したディスクを交換するための zpool replace 操作を試みる前に、ディスクをオフラインにして構成解除する必要があります。例:
# zpool offline rpool c1t0d0s0 # cfgadm -c unconfigure c1::dsk/c1t0d0 <Physically remove failed disk c1t0d0> <Physically insert replacement disk c1t0d0> # cfgadm -c configure c1::dsk/c1t0d0 <Confirm that the new disk has an SMI label and a slice 0> # zpool replace rpool c1t0d0s0 # zpool online rpool c1t0d0s0 # zpool status rpool <Let disk resilver before installing the boot blocks> # bootadm install-bootloader
一部のハードウェアでは、交換用ディスクの装着後にそのディスクをオンラインにしたり再構成を行なったりする必要がありません。
SPARC: 交換用 (新しい) ディスクに SMI (VTOC) ラベルが付いていてスライス 0 があることを確認してください。ルートプールに使用するディスクのラベルを変更する方法については、Oracle Solaris 11.2 でのデバイスの管理 のディスクラベルを作成する方法を参照してください。
x86: ディスクに fdisk パーティション、SMI ディスクラベル、およびスライス 0 があることを確認してください。ディスクのパーティションを変更し、スライス 0 を作成する必要がある場合は、Oracle Solaris 11.2 でのデバイスの管理 のディスクの構成のラベルとパーティションに関するセクションを参照してください。
例:
# 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
SPARC システムの場合、たとえば次のようになります。
ok boot /pci@1f,700000/scsi@2/disk@1,0
交換用ディスクからのブートをテストできるように、また、交換用ディスクに障害が発生した場合に必要に応じて既存のディスクから手動でブートできるように、現在のディスクと新しいディスクのブートデバイスのパス名を特定します。次の例では、現在のルートプールのディスク (c2t0d0s0) は次のとおりです。
/pci@1f,700000/scsi@2/disk@0,0
次の例で、交換用ブートディスク (c2t1d0s0) は次のとおりです。
boot /pci@1f,700000/scsi@2/disk@1,0
例:
# zpool detach rpool c2t0d0s0
既存の rpool プールサイズを判別します。
# 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
拡張した rpool プールサイズを確認します。
# zpool list rpool NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 279G 146K 279G 0% 1.00x ONLINE -
SPARC: システムが新しいディスクから自動的にブートするように設定します。そのためには、eeprom コマンドまたはブート PROM の setenv コマンドを使用します。
x86: システム BIOS を再構成します。