この手順を使用し、カプセル化されたルート (/) ファイルシステムをノードに復元します。復元中のノードは起動しなおさないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害が発生したディスクと同じ形式でパーティション分割する必要があります。このため、この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
この手順では、長形式の Sun Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。コマンドのリストとその短形式については、付録 A 「Sun Cluster オブジェクト指向コマンド」を参照してください。
ルートファイルシステムを復元するノードで、障害が発生したディスクを交換します。
ディスク交換手順については、サーバーに付属のマニュアルを参照してください。
復元するノードを起動します。
Solaris OS CD を使用している場合は、OpenBoot PROM の ok プロンプトで、次のコマンドを入力します。
ok boot cdrom -s |
Solaris JumpStart サーバーを使用している場合は、OpenBoot PROM の ok プロンプトで、次のコマンドを入力します。
ok boot net -s |
format コマンドを使用し、ルートディスクのすべてのパーティションとスワップ空間を作成します。
障害の発生したディスクに存在していた元のパーティションの分割方式を再作成します。
newfs コマンドを使用し、必要に応じてルート (/) ファイルシステムやその他のファイルシステムを作成します。
障害の発生したディスクに存在していた元のファイルシステムを再作成します。
/global/.devices/ node@nodeid ファイルシステムが作成されていることを確認します。
ルート (/) ファイルシステムを一時マウントポイントにマウントします。
# mount device temp-mountpoint |
バックアップからルート (/) ファイルシステムを復元します。
# cd temp-mountpoint # ufsrestore rvf dump-device # rm restoresymtable |
空の install-db ファイルを作成します。
このファイルによって、次回起動時にノードが VxVM インストールモードになります。
# touch \ /temp-mountpoint/etc/vx/reconfig.d/state.d/install-db |
/ temp-mountpoint/etc/system ファイル内の次のエントリを削除します。
* rootdev:/pseudo/vxio@0:0 * set vxio:vol_rootdev_is_volume=1 |
/temp-mountpoint /etc/vfstab ファイルを編集し、すべての VxVM マウントポイントをルートディスクの標準ディスクデバイス (/dev/dsk/c0t0d0s0 など) に置換します。
例: 変更前の— /dev/vx/dsk/rootdg/rootvol /dev/vx/rdsk/rootdg/rootvol / ufs 1 no - 変更後の— /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - |
一時ファイルシステムをマウント解除してファイルシステムを確認します。
# cd / # umount temp-mountpoint # fsck raw-disk-device |
起動ブロックを新しいディスクにインストールします。
# /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device |
ノードをマルチユーザーモードで再起動します。
# reboot |
scdidadm(1M) を使用し、ディスク ID を更新します。
# cldevice repair /dev/rdsk/c0t0d0 |
ディスクをカプセル化して再起動するために、vxinstall コマンドを実行します。
マイナー番号が他のシステムと衝突している場合は、グローバルデバイスをマウント解除し、ディスクグループに別のマイナー番号を割り当てます。
クラスタノードのグローバルデバイスファイルシステムをマウント解除します。
# umount /global/.devices/node@nodeid |
クラスタノードの rootdg ディスクグループに別のマイナー番号を割り当てます。
# vxdg reminor rootdg 100 |
ノードを停止し、クラスタモードで再起動します。
# shutdown -g0 -i6 -y |
次に、カプセル化されたルート (/) ファイルシステムがテープデバイス /dev/rmt/0 からノード phys-schost-1 に復元される例を示します。
[Replace the failed disk and boot the node:] |
Solaris OS CD からノードを起動します。OpenBoot PROM の ok プロンプトで、次のコマンドを入力します。
ok boot cdrom -s ... [Use format and newfs to create partitions and file systems] [Mount the root file system on a temporary mount point:] # mount /dev/dsk/c0t0d0s0 /a [Restore the root file system:] # cd /a # ufsrestore rvf /dev/rmt/0 # rm restoresymtable [Create an empty install-db file:] # touch /a/etc/vx/reconfig.d/state.d/install-db [Edit /etc/system on the temporary file system and remove or comment out the following entries:] # rootdev:/pseudo/vxio@0:0 # set vxio:vol_rootdev_is_volume=1 [Edit /etc/vfstab on the temporary file system:] Example: Change from— /dev/vx/dsk/rootdg/rootvol /dev/vx/rdsk/rootdg/rootvol / ufs 1 no- Change to— /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - [Unmount the temporary file system, then check the file system:] # cd / # umount /a # fsck /dev/rdsk/c0t0d0s0 [Install a new boot block:] # /usr/sbin/installboot /usr/platform/`uname \ -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [Reboot:] # reboot [Update the disk ID:] # cldevice repair /dev/rdsk/c0t0d0 [Encapsulate the disk::] # vxinstall Choose to encapsulate the root disk. [If a conflict in minor number occurs, reminor the rootdg disk group :] # umount /global/.devices/node@nodeid # vxdg reminor rootdg 100 # shutdown -g0 -i6 -y |
カプセル化されたルートディスクのミラーリングに関する指示については、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』を参照してください。