この章では、次のような順を追った手順を説明します。
作業 |
参照箇所 |
---|---|
バックアップするファイルシステムの名前を検索する。 | |
フルバックアップを作成するのに必要なテープの数を計算する。 | |
ルートファイルシステムのバックアップを作成する。 | |
ミラーまたはプレックスファイルシステムのオンラインバックアップを実行する。 | |
この手順を使用し、バックアップするファイルシステムの名前を判別します。
/etc/vfstab ファイルの内容を表示します。
このコマンドを実行するためにスーパーユーザーになる必要はありません。
% more /etc/vfstab |
バックアップするファイルシステムのマウントポイントの列を調べます。
この名前は、ファイルシステムをバックアップするときに使用します。
% more /etc/vfstab |
次に、/etc/vfstab ファイルに記述されている使用可能なファイルシステム名の例を示します。
% more /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # #/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr ufs 1 yes - f - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c1t6d0s1 - - swap - no - /dev/dsk/c1t6d0s0 /dev/rdsk/c1t6d0s0 / ufs 1 no - /dev/dsk/c1t6d0s3 /dev/rdsk/c1t6d0s3 /cache ufs 2 yes - swap - /tmp tmpfs - yes - |
この手順を使用し、ファイルシステムのバックアップに必要なテープ数を計算します。
バックアップするクラスタノード上でスーパーユーザーになります。
バックアップのサイズをバイト単位で予測します。
# ufsdump S filesystem |
バックアップの実行に必要な予測バイト数を表示します。
バックアップするファイルシステムの名前を指定します。
予測サイズをテープの容量で割り、必要なテープの数を確認します。
次の例では、ファイルシステムのサイズは 905,881,620 バイトなので、4 GB のテープに収めることができます (905,881,620 / 4,000,000,000)。
# ufsdump S /global/phys-schost-1 905881620 |
この手順を使用し、クラスタノードのルート (/) ファイルシステムをバックアップします。バックアップ手順を実行する前に、クラスタが正常に動作していることを確認してください。
バックアップするクラスタノード上でスーパーユーザーになります。
実行中の各データサービスを、バックアップを作成するノードからクラスタ内の別のノードに切り替えます。
# scswitch -z -D disk-device-group -h nodelist |
切り替えを実行します。
切り替えるディスクデバイスグループの名前を指定します。
ディスクデバイスグループの切り替え先のクラスタノードの名前を指定します。このノードが新しい主ノードになります。
ノードを停止します。
# shutdown -g0 -y -i0 |
ok プロンプトの状態から、非クラスタモードで再起動します。
ok boot -x |
ルート (/) ファイルシステムをバックアップします。
ルートディスクがカプセル化されていない場合は、次のコマンドを使用します。
# ufsdump 0ucf dump-device / |
ルートディスクがカプセル化されている場合は、次のコマンドを使用します。
# ufsdump 0ucf dump-device /dev/vx/rdsk/rootvol |
詳細については、ufsdump(1M) のマニュアルページを参照してください。
ノードをクラスタモードで再起動します。
# init 6 |
次に、ルート (/) ファイルシステムをテープデバイス /dev/rmt/0 にバックアップする例を示します。
# ufsdump 0ucf /dev/rmt/0 / DUMP: Writing 63 Kilobyte records DUMP: Date of this level 0 dump: Tue Apr 18 18:06:15 2000 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t0d0s0 (phys-schost-1:/) to /dev/rmt/0 DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Estimated 859086 blocks (419.48MB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: 859066 blocks (419.47MB) on 1 volume at 2495 KB/sec DUMP: DUMP IS DONE DUMP: Level 0 dump on Tue Apr 18 18:06:15 2000 |
ミラー化したメタデバイスのバックアップは、マウント解除したり、ミラー全体をオフラインにしなくても行えます。サブミラーの 1 つを一時的にオフラインにする必要があるので、ミラー化の状態ではなくなりますが、バックアップ完了後ただちにオンラインに戻し、再度同期をとることができます。システムを停止したり、データへのユーザーアクセスを拒否する必要はありません。ミラーを使用してオンラインバックアップを実行すると、アクティブなファイルシステムの「スナップショット」であるバックアップが作成されます。
lockfs コマンドを実行する直前にプログラムがボリュームにデータを書き込むと、問題が生じることがあります。この問題を防ぐには、このノードで実行中のすべてのサービスを一時的に停止します。また、バックアップ手順を実行する前に、クラスタが正常に動作していることを確認してください。
バックアップするクラスタノード上でスーパーユーザーになります。
metaset(1M) コマンドを使用し、バックアップするボリュームの所有権を持つノードを判別します。
# metaset -s setname |
ディスクセット名を指定します。
-w オプションを指定して lockfs(1M) コマンドを使用し、ファイルシステムへの書き込みをロックします。
# lockfs -w mountpoint |
ファイルシステムをロックする必要があるのは、UFS ファイルシステムがミラー上にある場合だけです。たとえば、メタデバイスが、データベース管理ソフトウェアやその他の特別なアプリケーションの raw デバイスとして設定されている場合は、lockfs コマンドを使用する必要はありません。ただし、ソフトウェアアプリケーション固有の適切なユーティリティーを実行し、任意のバッファをフラッシュしてアクセスをロックしてもかまいません。
metastat(1M) コマンドを使用し、サブミラーの名前を判別します。
# metastat -s setname -p |
md.tab ファイルと同様の形式で状態を表示します。
metadetach(1M) コマンドを使用し、ミラーから 1 つのサブミラーをオフラインにします。
# metadetach -s setname mirror submirror |
読み取り操作は引き続きその他のサブミラーから行われます。しかし、オフラインのサブミラーは、ミラーに最初に書き込んだ直後から同期がとれなくなります。この不一致は、オフラインのサブミラーをオンラインに戻したときに修正されます。fsck を実行する必要はありません。
-u オプションを指定して lockfs コマンドを使用し、ファイルシステムのロックを解除して書き込みを続行できるようにします。
# lockfs -u mountpoint |
fsck コマンドを実行し、ファイルシステムを確認します。
# fsck /dev/md/diskset/rdsk/submirror |
オフラインのサブミラーをテープなどのメディアにバックアップします。
ufsdump(1M) コマンドか、それ以外の通常使用しているバックアップユーティリティーを使用します。
# ufsdump 0ucf dump-device submirror |
ブロックデバイス (/dsk) 名ではなく、サブミラーの raw デバイス (/rdsk) 名を使用してください。
metattach(1M) コマンドを使用し、メタデバイスをオンラインに戻します。
# metattach -s setname mirror submirror |
メタデバイスをオンラインに戻すと、自動的にミラーとの再同期が行われます。
metastat コマンドを使用し、サブミラーが再同期されていることを確認します。
# metastat -s setname mirror |
次の例では、クラスタノード phys-schost-1 がメタセット schost-1 の所有者なので、バックアップ作成手順は phys-schost-1 から実行します。ミラー /dev/md/schost-1/dsk/d0 は、サブミラー d10、d20、d30 で構成されています。
[メタセットの所有者を決定する] # metaset -s schost-1 Set name = schost-1, Set number = 1 Host Owner phys-schost-1 Yes ... [ファイルシステムに書き込みロックをかける] # lockfs -w /global/schost-1 [サブミラーの一覧を表示する] # metastat -s schost-1 -p schost-1/d0 -m schost-1/d10 schost-1/d20 schost-1/d30 1 schost-1/d10 1 1 d4s0 schost-1/d20 1 1 d6s0 schost-1/d30 1 1 d8s0 [サブミラーをオフラインにする] # metadetach -s schost-1 d0 d30 [ファイルシステムのロックをはずす] # lockfs -u / [ファイルシステムを確認する] # fsck /dev/md/schost-1/rdsk/d30 [サブミラーをバックアップ装置にコピーする] # ufsdump 0ucf /dev/rmt/0 /dev/md/schost-1/rdsk/d30 DUMP: Writing 63 Kilobyte records DUMP: Date of this level 0 dump: Tue Apr 25 16:15:51 2000 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/md/schost-1/rdsk/d30 to /dev/rdsk/c1t9d0s0. ... DUMP: DUMP IS DONE [サブミラーをオンラインに戻す] # metattach -s schost-1 d0 d30 schost-1/d0: submirror schost-1/d30 is attached [サブミラーを再同期させる] # metastat -s schost-1 d0 schost-1/d0: Mirror Submirror 0: schost-0/d10 State: Okay Submirror 1: schost-0/d20 State: Okay Submirror 2: schost-0/d30 State: Resyncing Resync in progress: 42% done Pass: 1 Read option: roundrobin (default) ... |
VERITAS Volume Manager では、ミラー化ボリュームはプレックスと認識されます。プレックスは、マウント解除したり、ボリューム全体をオフラインにしなくてもバックアップできます。プレックスは、ボリュームのスナップショットコピーを作成し、この一時ボリュームをバックアップします。システムを停止したり、データへのユーザーアクセスを拒否する必要はありません。
バックアップ手順を実行する前に、クラスタが正常に動作していることを確認してください。
クラスタの任意のノードにログオンし、クラスタのディスクグループの現在の主ノード上でスーパーユーザーになります。
ディスクグループ情報を表示します。
# vxprint -g diskgroup |
scstat(1M) コマンドを実行し、現在ディスクグループをインポートしているノードを確認します。このノードがディスクグループの主ノードです。
# scstat -D |
すべてのディスクデバイスグループの状態を表示します。
vxassist(1M) コマンドを使用し、ボリュームのスナップショットを作成します。
# vxassist -g diskgroup snapstart volume |
ボリュームのサイズによっては、スナップショットの作成に時間がかかることがあります。
新しいボリュームが作成されたことを確認します。
# vxprint -g diskgroup |
スナップショットの作成が完了すると、選択したディスクグループの State フィールドに Snapdone と表示されます。
ファイルシステムにアクセスしているデータサービスを停止します。
# scswitch -z -g resource-group -h "" |
データファイルシステムが正しくバックアップされるように、すべてのデータサービスを停止します。データサービスが実行中でない場合は、手順 6 および 手順 8 を実行する必要はありません。
bkup-vol というバックアップボリュームを作成し、vxassist コマンドを使用してスナップショットボリュームをそのボリュームに接続します。
# vxassist -g diskgroup snapshot volume bkup-vol |
scswitch コマンドを使用し、手順 6 で停止したデータサービスを再起動します。
# scswitch -z -g resource-group -h nodelist |
vxprint コマンドを使用し、ボリュームが新しいボリューム bkup-vol に接続されていることを確認します。
# vxprint -g diskgroup |
ディスクグループ構成変更を登録します。
# scconf -c -D name=diskgroup,sync |
fsck コマンドを使用し、バックアップボリュームを確認します。
# fsck -y /dev/vx/rdsk/diskgroup/bkup-vol |
テープなどのメディアにボリューム bkup-vol をバックアップします。
ufsdump(1M) コマンドか、それ以外の通常使用しているバックアップユーティリティーを使用します。
# ufsdump 0ucf dump-device /dev/vx/dsk/diskgroup/bkup-vol |
vxedit(1M) を使用し、一時ボリュームを削除します。
# vxedit -rf rm bkup-vol |
scconf コマンドを使用し、ディスクグループ構成変更を登録します。
# scconf -c -D name=diskgroup,sync |
次の例では、クラスタノード phys-schost-2 がメタセットディスクグループ schost-1 の主所有者なので、phys-schost-2 からバックアップ手順を実行します。ボリューム /vo101 がコピーされ、新しいボリューム bkup-vol と関連付けられます。
[主ノード上でスーパーユーザーになる] [ディスクグループの現在の主ノードを確認する] # scstat -D -- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- Device group servers: rmt/1 - - Device group servers: schost-1 phys-schost-2 phys-schost-1 -- Device Group Status -- Device Group Status ------------ ------ Device group status: rmt/1 Offline Device group status: schost-1 Online [ディスクグループ情報の一覧を表示する] # vxprint -g schost-1 TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0 dg schost-1 schost-1 - - - - - - dm schost-101 c1t1d0s2 - 17678493 - - - - dm schost-102 c1t2d0s2 - 17678493 - - - - dm schost-103 c2t1d0s2 - 8378640 - - - - dm schost-104 c2t2d0s2 - 17678493 - - - - dm schost-105 c1t3d0s2 - 17678493 - - - - dm schost-106 c2t3d0s2 - 17678493 - - - - v vol01 gen ENABLED 204800 - ACTIVE - - pl vol01-01 vol01 ENABLED 208331 - ACTIVE - - sd schost-101-01 vol01-01 ENABLED 104139 0 - - - sd schost-102-01 vol01-01 ENABLED 104139 0 - - - pl vol01-02 vol01 ENABLED 208331 - ACTIVE - - sd schost-103-01 vol01-02 ENABLED 103680 0 - - - sd schost-104-01 vol01-02 ENABLED 104139 0 - - - pl vol01-03 vol01 ENABLED LOGONLY - ACTIVE - - sd schost-103-02 vol01-03 ENABLED 5 LOG - - - [スナップショット操作を開始する] # vxassist -g schost-1 snapstart vol01 [新しいボリュームが作成されたことを確認する] # vxprint -g schost-1 TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0 dg schost-1 schost-1 - - - - - - dm schost-101 c1t1d0s2 - 17678493 - - - - dm schost-102 c1t2d0s2 - 17678493 - - - - dm schost-103 c2t1d0s2 - 8378640 - - - - dm schost-104 c2t2d0s2 - 17678493 - - - - dm schost-105 c1t3d0s2 - 17678493 - - - - dm schost-106 c2t3d0s2 - 17678493 - - - - v vol01 gen ENABLED 204800 - ACTIVE - - pl vol01-01 vol01 ENABLED 208331 - ACTIVE - - sd schost-101-01 vol01-01 ENABLED 104139 0 - - - sd schost-102-01 vol01-01 ENABLED 104139 0 - - - pl vol01-02 vol01 ENABLED 208331 - ACTIVE - - sd schost-103-01 vol01-02 ENABLED 103680 0 - - - sd schost-104-01 vol01-02 ENABLED 104139 0 - - - pl vol01-03 vol01 ENABLED LOGONLY - ACTIVE - - sd schost-103-02 vol01-03 ENABLED 5 LOG - - - pl vol01-04 vol01 ENABLED 208331 - SNAPDONE - - sd schost-105-01 vol01-04 ENABLED 104139 0 - - - sd schost-106-01 vol01-04 ENABLED 104139 0 - - - [必要に応じてデータサービスを停止する] # scswitch -z -g nfs-rg -h "" [ボリュームのコピーを作成する] # vxassist -g schost-1 snapshot vol01 bkup-vol [必要に応じてデータサービスを再起動する] # scswitch -z -g nfs-rg -h phys-schost-1 [bkup-vol が作成されたことを確認する] # vxprint -g schost-1 TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0 dg schost-1 schost-1 - - - - - - dm schost-101 c1t1d0s2 - 17678493 - - - - ... v bkup-vol gen ENABLED 204800 - ACTIVE - - pl bkup-vol-01 bkup-vol ENABLED 208331 - ACTIVE - - sd schost-105-01 bkup-vol-01 ENABLED 104139 0 - - - sd schost-106-01 bkup-vol-01 ENABLED 104139 0 - - - v vol01 gen ENABLED 204800 - ACTIVE - - pl vol01-01 vol01 ENABLED 208331 - ACTIVE - - sd schost-101-01 vol01-01 ENABLED 104139 0 - - - sd schost-102-01 vol01-01 ENABLED 104139 0 - - - pl vol01-02 vol01 ENABLED 208331 - ACTIVE - - sd schost-103-01 vol01-02 ENABLED 103680 0 - - - sd schost-104-01 vol01-02 ENABLED 104139 0 - - - pl vol01-03 vol01 ENABLED LOGONLY - ACTIVE - - sd schost-103-02 vol01-03 ENABLED 5 LOG - - - [ディスクグループをクラスタフレームワークと同期する] # scconf -c -D name=schost-1,sync [ファイルシステムを確認する] # fsck -y /dev/vx/rdsk/schost-1/bkup-vol [bkup-vol をバックアップ装置にコピーする:] # ufsdump 0ucf /dev/rmt/0 /dev/vx/rdsk/schost-1/bkup-vol DUMP: Writing 63 Kilobyte records DUMP: Date of this level 0 dump: Tue Apr 25 16:15:51 2000 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/vx/dsk/schost-2/bkup-vol to /dev/rmt/0. ... DUMP: DUMP IS DONE [bkup-volume を削除する] # vxedit -rf rm bkup-vol [ディスクグループを同期する] # scconf -c -D name=schost-1,sync |
ufsrestore コマンドは、ufsdump コマンドを使用して作成されたバックアップから、現在の作業ディレクトリにファイルをコピーします。ufsrestore を使用すると、レベル 0 のダンプとそれ以降の増分ダンプからファイルシステム階層全体を読み込み直したり、任意のダンプテープから個々のファイルを復元できます。スーパーユーザーとして ufsrestore を実行すると、元の所有者、最終修正時刻、モード (アクセス権) を保持したままファイルを復元できます。
ファイルまたはファイルシステムの復元を開始する前に、次の点を確認してください。
必要なテープ
ファイルシステムの復元先の raw デバイス名
使用するテープドライブの種類
テープドライブのデバイス名 (ローカルまたは遠隔)
障害が発生したディスクのパーティション分割方式。これは、パーティションとファイルシステムを交換用ディスクに正確に複製しなければならないためです。
作業 |
参照箇所 |
---|---|
Solstice DiskSuite の場合、Solaris の復元手順に従って対話形式でファイルを復元する。 | |
Solstice DiskSuite の場合、ルート (/) ファイルシステムを復元する。 | |
| |
VERITAS Volume Manager の場合、非カプセル化ルート (/) ファイルシステムを復元する。 | |
VERITAS Volume Manager の場合、カプセル化ルート (/) ファイルシステムを復元する。 |
この手順を使用し、1 つまたは複数の個々のファイルを復元します。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
復元するクラスタノード上でスーパーユーザーになります。
復元するファイルを使用しているデータサービスをすべて停止します。
# scswitch -z -g resource-group -h "" |
ufsrestore コマンドを使用してファイルを復元します。
障害の発生したルートディスクを交換した後などに、この手順を使用してルート (/) ファイルシステムを新しいディスクに復元します。復元するノードは起動しないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害の発生したディスクと同じ形式でパーティション分割する必要があります。この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
復元するノード以外で、メタセットへのアクセスを持つクラスタノード上でスーパーユーザーになります。
復元するノードのホスト名をすべてのメタセットから削除します。
このコマンドは、削除するノード以外のメタセットのノードから実行します。
# metaset -s setname -f -d -h nodelist |
ディスクセット名を指定します。
強制的に実行します。
ディスクセットから削除します。
ディスクセットから削除するノードの名前を指定します。
ルート (/) ファイルシステムを復元するノードで、障害の発生したディスクを交換します。
ディスク交換手順については、サーバーに付属のマニュアルを参照してください。
復元するノードを起動します。
Solaris CD-ROM を使用している場合は、次のコマンドを実行します。
ok boot cdrom -s |
Solaris JumpStartTM サーバーを使用している場合は、次のコマンドを実行します。
ok boot net -s |
format(1M) コマンドを使用し、ルートディスクのすべてのパーティションとスワップを作成します。
障害の発生したディスクに存在していた元のパーティションの分割方式を再作成します。
newfs(1M) コマンドを使用し、必要に応じてルート (/) ファイルシステムやその他のファイルシステムを作成します。
障害の発生したディスクに存在していた元のファイルシステムを再作成します。
/global/.devices/node@nodeid ファイルシステムが作成されていることを確認します。
ルート (/) ファイルシステムを一時マウントポイントにマウントします。
# mount device temp-mountpoint |
次のコマンドを使用し、ルート (/) ファイルシステムを復元します。
# cd temp-mountpoint # ufsrestore rvf dump-device # rm restoresymtable # cd / # umount temp-mountpoint # fsck raw-disk-device |
これでファイルシステムが復元されました。
新しい起動ブロックを新しいディスクにインストールします。
# /usr/sbin/installboot /usr/platform/`uname -狸/lib/fs/ufs/bootblk ¥ 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 |
ホストを作成してディスクセットに追加します。
ノードがクラスタモードで再起動します。これでクラスタを使用できるようになります。
次に、テープデバイス /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 # cd / # umount /a # fsck /dev/rdsk/c0t0d0s0 [新しい起動ブロックをインストールする] # /usr/sbin/installboot /usr/platform/`uname ¥ -狸/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [シングルユーザーモードで再起動する] # reboot -- "-s" [ディスク ID を置換する] # scdidadm -R /dev/dsk/c0t0d0 [状態データベースの複製を再作成する] # metadb -c 3 -af /dev/rdsk/c0t0d0s4 # reboot Press CTL-d to boot into multiuser mode. [ノードをメタセットに追加し直す] phys-schost-2# metaset -s schost-1 -a -h phys-schost-1 |
この手順を使用し、バックアップ実行時にメタデバイスに存在していたルート (/) ファイルシステムを復元します。この手順は、破損したルートディスクを新しいディスクに交換する場合などに実行します。復元するノードは起動しないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害の発生したディスクと同じ形式でパーティション分割する必要があります。この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
復元するノード以外で、メタセットへのアクセスを持つクラスタノード上でスーパーユーザーになります。
復元するノードのホスト名をすべてのメタセットから削除します。
# 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-mountpoint |
次のコマンドを使用し、ルート (/) ファイルシステムを復元します。
# cd temp-mountpoint # ufsrestore rvf dump-device # rm restoresymtable |
新しい起動ブロックを新しいディスクにインストールします。
# /usr/sbin/installboot /usr/platform/`uname -狸/lib/fs/ufs/bootblk raw-disk-device |
/temp-mountpoint/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-mountpoint/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-mountpoint # 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 ¥ -狸/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [MDD ルート情報用の /temp-mountpoint/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-mountpoint/etc/vfstab file] 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 |
この手順を使用し、非カプセル化ルート (/) ファイルシステムをノードに復元します。復元するノードは起動しないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害の発生したディスクと同じ形式でパーティション分割する必要があります。この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
ルートファイルシステムを復元するノードで、障害が発生したディスクを交換します。
ディスク交換手順については、サーバーに付属のマニュアルを参照してください。
復元するノードを起動します。
Solaris CD-ROM を使用している場合は、次のコマンドを実行します。
ok boot cdrom -s |
JumpStart サーバーを使用している場合は、次のコマンドを実行します。
ok boot net -s |
format(1M) コマンドを使用し、ルートディスクのすべてのパーティションとスワップを作成します。
障害の発生したディスクに存在していた元のパーティションの分割方式を再作成します。
newfs(1M) コマンドを使用し、必要に応じてルート (/) ファイルシステムやその他のファイルシステムを作成します。
障害の発生したディスクに存在していた元のファイルシステムを再作成します。
/global/.devices/node@nodeid ファイルシステムが作成されていることを確認します。
ルート (/) ファイルシステムを一時マウントポイントにマウントします。
# mount device temp-mountpoint |
バックアップからルート (/) ファイルシステムを復元し、ファイルシステムをマウント解除して確認します。
# cd temp-mountpoint # ufsrestore rvf dump-device # rm restoresymtable # cd / # umount temp-mountpoint # fsck raw-disk-device |
これでファイルシステムが復元されました。
新しい起動ブロックを新しいディスクにインストールします。
# /usr/sbin/installboot /usr/platform/`uname -狸/lib/fs/ufs/bootblk raw-disk-device |
ノードをシングルユーザーモードで再起動します。
ルートディスクグループがルートディスクの単一のスライスにあることを確認します。
単一のスライスにある場合は、ルートディスクグループを作成および設定します。
# vxdctl init # vxdg init rootdg # vxdctl add disk diskslice type=simple # vxdisk -f init diskslice type=simple # vxdg adddisk diskslice # vxdctl enable |
単一のスライスにない場合は、手順 10 に進みます。
scdidadm コマンドを使用し、ディスク ID を更新します。
# scdidadm -R /dev/rdsk/disk-device |
Control-D キーを押してマルチユーザーモードで再起動します。
ノードがクラスタモードで再起動します。これでクラスタを使用できるようになります。
次に、非カプセル化ルート (/) ファイルシステムがテープデバイス /dev/rmt/0 からノード phys-schost-1 に復元される例を示します。
[障害の発生したディスクを交換してノードを起動する] ok boot cdrom -s [format および newfs を使用してパーティションとファイルシステムを作成する] [一時マウントポイントにルートファイルシステムをマウントする] # mount /dev/dsk/c0t0d0s0 /a [ルートファイルシステムを復元する] # cd /a # ufsrestore rvf /dev/rmt/0 # rm restoresymtable # cd / # umount /a # fsck /dev/rdsk/c0t0d0s0 [新しい起動ブロックをインストールする] # /usr/sbin/installboot /usr/platform/`uname ¥ -狸/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [シングルユーザーモードで再起動する] # reboot -- "-s" [ルートディスクグループが単一のスライスにある場合は、新しいルートディスク グループを作成する] # vxdctl init # vxdg init rootdg # vxdctl add disk c0t0d0s4 type=simple # vxdisk -f init c0t0d0s4 type=simple # vxdg adddisk c0t0d0s4 # vxdctl enable [ディスク ID を更新する] # scdidadm -R /dev/rdsk/c0t0d0 [CTRL + d キーを押してマルチユーザーモードを再開する] |
この手順を使用し、カプセル化ルート (/) ファイルシステムをノードに復元します。復元するノードは起動しないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害の発生したディスクと同じ形式でパーティション分割する必要があります。この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
ルートファイルシステムを復元するノードで、障害が発生したディスクを交換します。
ディスク交換手順については、サーバーに付属のマニュアルを参照してください。
復元するノードを起動します。
Solaris CD-ROM を使用している場合は、次のコマンドを実行します。
ok boot cdrom -s |
JumpStart サーバーを使用している場合は、次のコマンドを実行します。
ok boot net -s |
format(1M) コマンドを使用し、ルートディスクのすべてのパーティションとスワップを作成します。
障害の発生したディスクに存在していた元のパーティションの分割方式を再作成します。
newfs(1M) コマンドを使用し、必要に応じてルート (/) ファイルシステムやその他のファイルシステムを作成します。
障害の発生したディスクに存在していた元のファイルシステムを再作成します。
/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 など) に置換します。
Example: Change from- /dev/vx/dsk/rootdg/rootvol /dev/md/rdsk/rootdg/rootvol / ufs 1 no - Change to- /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - |
一時ファイルシステムをマウント解除してファイルシステムを確認します。
# cd / # umount temp-mountpoint # fsck raw-disk-device |
起動ブロックを新しいディスクにインストールします。
# /usr/sbin/installboot /usr/platform/`uname -狸/lib/fs/ufs/bootblk raw-disk-device |
ノードをシングルユーザーモードで再起動します。
# reboot -- "-s" |
scdidadm(1M) を使用し、ディスク ID を更新します。
# scdidadm -R /dev/rdsk/c0t0d0 |
ディスクをカプセル化して再起動するために、vxinstall を実行します。
# vxinstall |
マイナー番号が他のシステムと衝突している場合は、広域デバイスをマウント解除し、ディスクグループに別のマイナー番号を割り当てます。
クラスタノードの広域デバイスファイルシステムをマウント解除します。
# umount /global/.devices/node@nodeid |
クラスタノードの rootdg ディスクグループに別のマイナー番号を割り当てます。
# vxdg reminor rootdg 100 |
ノードを停止し、クラスタモードで再起動します。
# shutdown -g0 -i6 -y |
次に、カプセル化ルート (/) ファイルシステムがテープデバイス /dev/rmt/0 からノード phys-schost-1 に復元される例を示します。
[障害の発生したディスクを交換してノードを起動する] ok boot cdrom -s [format および newfs を使用してパーティションとファイルシステムを作成する] [一時マウントポイントにルートファイルシステムをマウントする] # mount /dev/dsk/c0t0d0s0 /a [ルートファイルシステムを復元する] # cd /a # ufsrestore rvf /dev/rmt/0 # rm restoresymtable [空の install-db ファイルを作成する] # touch /a/etc/vx/reconfig.d/state.d/install-db [一時ファイルシステムで /etc/system を編集するか、または次のエントリをコメントアウトする] # rootdev:/pseudo/vxio@0:0 # set vxio:vol_rootdev_is_volume=1 [一時ファイルシステムの /etc/vfstab を編集する] Example: Change from- /dev/vx/dsk/rootdg/rootvol /dev/md/rdsk/rootdg/rootvol / ufs 1 no- Change to- /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - [一時ファイルシステムをマウント解除してファイルシステムを確認する] # cd / # umount /a # fsck /dev/rdsk/c0t0d0s0 [新しい起動ブロックをインストールする] # /usr/sbin/installboot /usr/platform/`uname ¥ -狸/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [シングルユーザーモードで再起動する] # reboot -- "-s" [ディスク ID を更新する] # scdidadm -R /dev/rdsk/c0t0d0 [vxinstall を実行する] # vxinstall Choose to encapsulate the root disk. [マイナー番号が衝突している場合は、rootdg ディスクグループに別のマイナー番号を割り当てる] # umount /global/.devices/node@nodeid # vxdg reminor rootdg 100 # shutdown -g0 -i6 -y |
カプセル化されているルートディスクをミラー化する方法については、『Sun Cluster 3.0 12/01 ソフトウェアのインストール』を参照してください。