この手順を使用し、バックアップ実行時にメタデバイスにあったルート (/) ファイルシステムを復元します。この手順は、破損したルートディスクを新しいディスクに交換する場合などに実行します。復元するノードは起動しないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害の発生したディスクと同じ形式でパーティション分割する必要があります。この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
復元するノード以外で、メタセットへのアクセスを持つクラスタノードでスーパーユーザーになります。
復元するノードのホスト名をすべてのメタセットから削除します。
# metaset -s setname -f -d -h nodelist |
メタセット名を指定します。
強制的に実行します。
メタセットから削除します。
メタセットから削除するノードの名前を指定します。
ルート (/) ファイルシステムを復元するノードで、障害の発生したディスクを交換します。
ディスク交換手順については、サーバーに付属のマニュアルを参照してください。
復元するノードを起動します。
Solaris CD-ROM を使用している場合は、次のコマンドを実行します。
ok boot cdrom -s |
JumpStart サーバーを使用している場合は、次のコマンドを実行します。
ok boot net -s |
format(1M) コマンドを使用し、ルートディスクのすべてのパーティションとスワップを作成します。
障害の発生したディスクに存在していた元のパーティションの分割方式を再作成します。
newfs(1M) コマンドを使用し、必要に応じてルート (/) ファイルシステムやその他のファイルシステムを作成します。
障害の発生したディスクに存在していた元のファイルシステムを再作成します。
/global/.devices/node@nodeid ファイルシステムが作成されていることを確認します。
ルート (/) ファイルシステムを一時マウントポイントにマウントします。
# mount device temp-mount-point |
次のコマンドを使用し、ルート (/) ファイルシステムを復元します。
# cd temp-mount-point # ufsrestore rvf dump-device # rm restoresymtable |
新しい起動ブロックを新しいディスクにインストールします。
# /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device |
/temp-mount-point/etc/system ファイルの MDD ルート情報の行を削除します。
* Begin MDD root info (do not edit) forceload: misc/md_trans forceload: misc/md_raid forceload: misc/md_mirror forceload: misc/md_hotspares forceload: misc/md_stripe forceload: drv/pcipsy forceload: drv/glm forceload: drv/sd rootdev:/pseudo/md@0:0,10,blk * End MDD root info (do not edit) |
/temp-mount-point/etc/vfstab ファイルを編集し、ルートエントリを、メタデバイスから、そのメタデバイスの一部であるルートディスクの各ファイルシステムに対応する通常のスライスに変更します。
Example: Change from- /dev/md/dsk/d10 /dev/md/rdsk/d10 / ufs 1 no - Change to- /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 /usr ufs 1 no - |
一時ファイルシステムをマウント解除し、raw ディスクデバイスを確認します。
# cd / # umount temp-mount-point # fsck raw-disk-device |
ノードをシングルユーザーモードで再起動します。
# reboot -- "-s" |
scdidadm コマンドを使用し、ディスク ID を置換します。
# scdidadm -R rootdisk |
metadb(1M) コマンドを使用し、状態データベースの複製を再作成します。
# metadb -c copies -af raw-disk-device |
作成する複製の数を指定します。
指定した raw ディスクデバイスに初期状態のデータベースの複製を作成します。
ノードをクラスタモードで再起動します。
復元したノード以外のクラスタノードから、metaset(1M) コマンドを使用し、復元したノードをすべてのメタセットに追加します。
phys-schost-2# metaset -s setname -a -h nodelist |
メタセットを追加 (作成) します。
Solstice DiskSuite のマニュアルに従って、ルート (/) のメタデバイスおよびミラーを設定します。
ノードがクラスタモードで再起動します。これでクラスタを使用できるようになります。
次に、テープデバイス /dev/rmt/0 からノード phys-schost-1 に復元したルート (/) ファイルシステムの例を示します。metaset コマンドは、クラスタの別のノード phys-schost-2 から実行し、ノード phys-schost-1 を削除し、後でメタセット schost-1 に追加します。そのコマンドはすべて phys-schost-1 から実行します。新しいブートブロックが /dev/rdsk/c0t0d0s0 に作成され、3 つの状態データベースの複製が /dev/rdsk/c0t0d0s4 に再作成されます。
[復元するノード以外の、メタセットにアクセスできるクラスタノードでスーパー ユーザーになる] [メタセットからノードを削除する] phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1 [障害の発生したディスクを交換してノードを起動する] ok boot cdrom -s [format および newfs を使用してパーティションとファイルシステムを再作成する] [一時マウントポイントにルートファイルシステムをマウントする] # mount /dev/dsk/c0t0d0s0 /a [ルートファイルシステムを復元する] # cd /a # ufsrestore rvf /dev/rmt/0 # rm restoresymtable [新しい起動ブロックをインストールする] # /usr/sbin/installboot /usr/platform/`uname ¥ -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [MDD ルート情報用の /temp-mount-point/etc/system ファイルの行を削除する] * Begin MDD root info (do not edit) forceload: misc/md_trans forceload: misc/md_raid forceload: misc/md_mirror forceload: misc/md_hotspares forceload: misc/md_stripe forceload: drv/pcipsy forceload: drv/glm forceload: drv/sd rootdev:/pseudo/md@0:0,10,blk * End MDD root info (do not edit) [Edit the /temp-mount-point/etc/vfstab ファイルを編集する] Example: Change from- /dev/md/dsk/d10 /dev/md/rdsk/d10 / ufs 1 no - Change to- /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 /usr ufs 1 no - [一時ファルシステムをマウント解除して raw ディスクデバイスを確認する] # cd / # umount /a # fsck /dev/rdsk/c0t0d0s0 [シングルモードで再起動する] # reboot -- "-s" [ディスク ID を置換する] # scdidadm -R /dev/dsk/c0t0d0 [状態データベース複製を再作成する] # metadb -c 3 -af /dev/rdsk/c0t0d0s4 # reboot Type CTRL-d to boot into multiuser mode. [ノードをメタセットに追加し直す] phys-schost-2# metaset -s schost-1 -a -h phys-schost-1 |