この章で説明する手順は次のとおりです。
「ミラーのオンラインバックアップを実行する (Solstice DiskSuite/Solaris Volume Manager)」
「個々のファイルを対話形式で復元する (Solstice DiskSuite/Solaris Volume Manager)」
「Solstice DiskSuite メタデバイスまたは Solaris Volume Manager 上に存在していたルート (/) ファイルシステムを復元する」
「SPARC: カプセル化されていないルート(/)ファイルシステムを復元する (VERITAS Volume Manager)」
「SPARC: カプセル化されたルート (/) ファイルシステムを復元する (VERITAS Volume Manager)」
タスク |
参照箇所 |
---|---|
バックアップするファイルシステムの名前の検索 | |
フルバックアップを作成するのに必要なテープ数の計算 | |
ルートファイルシステムのバックアップの作成 | |
ミラーまたはプレックスファイルシステムのオンラインバックアップの実行 |
「ミラーのオンラインバックアップを実行する (Solstice DiskSuite/Solaris Volume Manager)」 |
この手順を使用し、バックアップするファイルシステムの名前を判別します。
/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 node[,...] |
切り替えを実行します。
切り替えるディスクデバイスグループの名前を指定します。
ディスクデバイスグループの切り替え先のクラスタノードの名前を指定します。このノードが新しい主ノードになります。
ノードを停止します。
# shutdown -g0 -y -i0 |
ノードを再起動して、非クラスタモードにします。
SPARC:
ok boot -x |
x86:
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/ sd@0,0:a Boot args: Type b [file-name] [boot-flags] <ENTER> to boot with options or i <ENTER> to enter boot interpreter or <ENTER> to boot with defaults <<< timeout in 5 seconds >>> Select (b)oot or (i)nterpreter: b -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 |
ミラー化した Solstice DiskSuite メタデバイスまたは Solaris Volume Manager のボリュームは、マウント解除したりミラー全体をオフラインにすることなくバックアップできます。サブミラーの 1 つを一時的にオフラインにする必要があるので、ミラー化の状態ではなくなりますが、バックアップ完了後ただちにオンラインに戻し、再度同期をとることができます。システムを停止したり、データへのユーザーアクセスを拒否する必要はありません。ミラーを使用してオンラインバックアップを実行すると、アクティブなファイルシステムの「スナップショット」であるバックアップが作成されます。
lockfs コマンドを実行する直前にプログラムがボリュームにデータを書き込むと、問題が生じることがあります。この問題を防ぐには、このノードで実行中のすべてのサービスを一時的に停止します。また、バックアップ手順を実行する前に、クラスタが正常に動作していることを確認してください。
バックアップするクラスタノード上で、スーパーユーザーまたは同等の役割になります。
metaset(1M) コマンドを使用し、バックアップするボリュームの所有権を持つノードを判別します。
# metaset -s setname |
ディスクセット名を指定します。
-w オプションを指定して lockfs(1M) コマンドを使用し、ファイルシステムへの書き込みをロックします。
# lockfs -w mountpoint |
ファイルシステムをロックする必要があるのは、UFS ファイルシステムがミラー上にある場合だけです。たとえば、Solstice DiskSuite メタデバイスや Solaris Volume Manager ボリューム がデータベース管理ソフトやその他の特定のアプリケーションに使用する 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 [サブミラーを Resync する:] # 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 コマンドを使用し、ボリュームのスナップショットを作成します。
# 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(1M) コマンドを使用し、手順 6 で停止させたデータサービスを再起動します。
# scswitch -z -g resource-group[,...] -h node[,...] |
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 を使用し、一時ボリュームを削除します。
# vxedit -rf rm bkup-vol |
scconf(1M) コマンドを使用し、ディスクグループ構成変更を登録します。
# scconf -c -D name=diskgroup,sync |
次の例では、クラスタノード phys-schost-2 がディスクデバイスグループ schost-1 の主所有者なので、phys-schost-2 からバックアップ手順を実行します。ボリューム /vo101 がコピーされ、新しいボリューム bkup-vol と関連付けられます。
[主ノードのスーパーユーザーになるか同等の役割を引き受ける] [ディスクグループの現在の主ノードを特定する:] # scstat -D -- デバイスグループのサーバー -- デバイスグループ プライマリ セカンダリ ------------ ------- --------- デバイスグループのサーバー: rmt/1 - - デバイスグループのサーバー: schost-1 phys-schost-2 phys-schost-1 -- デバイスグループの状態 -- デバイスグループ 状態 ------------ ------ デバイスグループの状態: rmt/1 Offline デバイスグループの状態: 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 [バックアップボリュームが作成されたことを確認する:] # 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 [バックアップデバイスにバックアップボリュームをコピーする:] # 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 [バックアップボリュームを削除する:] # vxedit -rf rm bkup-vol [ディスクグループを同期化する:] # scconf -c -D name=schost-1,sync |
ufsrestore(1M) コマンドを使うと、ufsdump(1M) コマンドで作成されたバックアップから現在の作業ディレクトリに対する相対パスで指定されるディスク上の位置にファイルがコピーされます。ufsrestore を使用すると、レベル 0 のダンプとそれ以降の増分ダンプからファイルシステム階層全体を読み込み直したり、任意のダンプテープから個々のファイルを復元できます。スーパーユーザまたは同等の役割として ufsrestore を実行すると、元の所有者、最終修正時刻、モード (アクセス権) を保持したままファイルを復元できます。
ファイルまたはファイルシステムの復元を開始する前に、次の点を確認してください。
必要なテープ
ファイルシステム全体を復元する raw デバイス名
使用するテープドライブの種類
テープドライブのデバイス名 (ローカルまたはリモート)
障害が発生したディスクのパーティション分割方式。これは、パーティションとファイルシステムを交換用ディスクに正確に複製しなければならないためです。
タスク |
参照箇所 |
---|---|
Solstice DiskSuite/Solaris Volume Manager の場合、Solaris の復元手順に従って対話形式でファイルを復元 |
「個々のファイルを対話形式で復元する (Solstice DiskSuite/Solaris Volume Manager)」 |
Solstice DiskSuite/Solaris Volume Manager の場合、ルート (/) ファイルシステムを復元 | |
|
「Solstice DiskSuite メタデバイスまたは Solaris Volume Manager 上に存在していたルート (/) ファイルシステムを復元する」 |
VERITAS Volume Manager の場合、カプセル化されていないルート ( /) ファイルシステムを復元 |
「SPARC: カプセル化されていないルート(/)ファイルシステムを復元する (VERITAS Volume Manager)」 |
VERITAS Volume Manager の場合、カプセル化されたルート ( /) ファイルシステムを復元 |
「SPARC: カプセル化されたルート (/) ファイルシステムを復元する (VERITAS Volume Manager)」 |
この手順を使用し、1 つまたは複数の個々のファイルを復元します。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
復元するクラスタノード上で、スーパーユーザーまたは同等の役割になります。
復元するファイルを使用しているデータサービスをすべて停止します。
# scswitch -z -g resource-group[,...] -h ““ |
ufsrestore コマンドを使用してファイルを復元します。
障害の発生したルートディスクを交換した後などに、この手順を使用してルート (/) ファイルシステムを新しいディスクに復元します。復元するノードは起動しないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害が発生したディスクと同じ形式でパーティション分割する必要があります。このため、この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
復元されるノードが接続されているディスクセットにアクセスできるクラスタノード上で、スーパーユーザーまたは同等の役割になります。
復元するノード以外のノードで、スーパーユーザーまたは同等の役割になります。
復元するノードのホスト名をすべてのメタセットから削除します。
このコマンドは、削除するノード以外のメタセットのノードから実行します。
# metaset -s setname -f -d -h nodelist |
ディスクセット名を指定します。
強制的に実行します。
ディスクセットから削除します。
ディスクセットから削除するノードの名前を指定します。
root (/) ファイルシステムと /usr ファイルシステムを復元します。
root ファイルシステムと /usr ファイルシステムを復元するには、『Solaris のシステム管理 (デバイスとファイルシステム)』の第 26 章「ファイルとファイルシステムの復元 (手順)」の手順に従ってください。Solaris の手順にあるシステムを再起動する手順は省略してください。
/global/.devices/node@nodeid ファイルシステムが作成されていることを確認します。
ノードをマルチユーザーモードで再起動します。
# reboot |
scdidadm(1M) コマンドを使用し、ディスク ID を置換します。
# scdidadm -R rootdisk |
metadb(1M) コマンドを使用し、状態データベースの複製を再作成します。
# metadb -c copies -af raw-disk-device |
作成する複製の数を指定します。
複製の作成先の raw ディスクデバイス名を指定します。
複製を追加します。
復元したノード以外のクラスタノードから、metaset コマンドを使用し、復元したノードをすべてのディスクセットに追加します。
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 [障害のあるディスクを交換し、ノードを起動する:] Solaris のシステム管理マニュアル内の手順に従って root (/) ファイルシステムと /usr ファイル システムを復元する [再起動する:] # reboot [ディスク ID を置き換える:] # scdidadm -R /dev/dsk/c0t0d0 [状態データベース複製を再作成する:] # metadb -c 3 -af /dev/rdsk/c0t0d0s4 [ノードを再びメタセットに追加する:] phys-schost-2# metaset -s schost-1 -a -h phys-schost-1 |
この手順を使用して、バックアップ実行時に Solstice DiskSuite メタデバイスまたは Solaris Volume Manager 上に存在していたルート (/) ファイルシステムを復元します。この手順は、破損したルートディスクを新しいディスクに交換する場合などに実行します。復元するノードは起動しないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害の発生したディスクと同じ形式でパーティション分割する必要があります。この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
復元するノード以外の、ディスクセットにアクセスできるクラスタノード上で、スーパーユーザーになるか、あるいは同等の役割になります。
復元するノードのホスト名をすべてのディスクセットから削除します。
# metaset -s setname -f -d -h nodelist |
メタセット名を指定します。
強制的に実行します。
メタセットから削除します。
メタセットから削除するノードの名前を指定します。
ルート (/) ファイルシステムを復元するノードで、障害の発生したディスクを交換します。
ディスク交換手順については、サーバーに付属のマニュアルを参照してください。
復元するノードを起動します。
Solaris CD-ROM を使用している場合は、次のコマンドを実行します。
SPARC:OpenBoot PROM の ok プロンプトで、次のコマンドを入力します。
ok boot cdrom -s |
x86: CD をシステムの CD ドライブに挿入し、システムを停止して、電源を切って入れなおすことにより、システムを起動します。「Current Boot Parameters」画面で次のコマンドを入力します。
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@ 7,1/sd@0,0:a Boot args: Type b [file-name] [boot-flags] <ENTER> to boot with options or i <ENTER> to enter boot interpreter or <ENTER> to boot with defaults <<< timeout in 5 seconds >>> Select (b)oot or (i)nterpreter: b -s |
Solaris JumpStartTM サーバーを使用する場合は次のように操作します。
SPARC:OpenBoot PROM の ok プロンプトで、次のコマンドを入力します。
ok boot net -s |
x86: システムを停止し、電源を切って入れなおすことにより起動します。「Current Boot Parameters」画面で次のコマンドを入力します。
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@ 7,1/sd@0,0:a Boot args: Type b [file-name] [boot-flags] <ENTER> to boot with options or i <ENTER> to enter boot interpreter or <ENTER> to boot with defaults <<< timeout in 5 seconds >>> Select (b)oot or (i)nterpreter: b -s |
format コマンドを使用し、ルートディスクのすべてのパーティションとスワップを作成します。
障害の発生したディスクに存在していた元のパーティションの分割方式を再作成します。
newfs コマンドを使用し、必要に応じてルート (/) ファイルシステムやその他のファイルシステムを作成します。
障害の発生したディスクに存在していた元のファイルシステムを再作成します。
/global/.devices/node@nodeid ファイルシステムが作成されていることを確認します。
ルート (/) ファイルシステムを一時マウントポイントにマウントします。
# mount device temp-mountpoint |
次のコマンドを使用し、ルート (/) ファイルシステムを復元します。
# cd temp-mountpoint # ufsrestore rvf dump-device # rm restoresymtable |
新しい起動ブロックを新しいディスクにインストールします。
# /usr/sbin/installboot /usr/platform/`uname -i`/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 ファイルを編集して、ルートエントリを Solstice DiskSuite メタデバイスまたは Solaris Volume Manager ボリュームからメタデバイスまたはボリュームの一部であるルートディスク上の各ファイルシステムの対応する正常なスライスに変更します。
Example: Change from— /dev/md/dsk/d10 /dev/md/rdsk/d10 / ufs 1 no - Change to— /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - |
一時ファイルシステムをマウント解除し、raw ディスクデバイスを確認します。
# cd / # umount temp-mountpoint # fsck raw-disk-device |
ノードをマルチユーザーモードで再起動します。
# reboot |
scdidadm コマンドを使用し、ディスク ID を置換します。
# scdidadm -R rootdisk |
metadb コマンドを使用し、状態データベースの複製を再作成します。
# metadb -c copies -af raw-disk-device |
作成する複製の数を指定します。
指定した raw ディスクデバイスに初期状態のデータベースの複製を作成します。
復元したノード以外のクラスタノードから、metaset コマンドを使用し、復元したノードをすべてのディスクセットに追加します。
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 [障害のあるディスクを交換し、ノードを起動する:] |
次の操作で、SolarisCD からノードを起動します。
SPARC:OpenBoot PROM の ok プロンプトで、次のコマンドを入力します。
ok boot cdrom -s |
x86: CD をシステムの CD ドライブに挿入し、システムを停止して、電源を切って入れなおすことにより、システムを起動します。「Current Boot Parameters」画面で次のコマンドを入力します。
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/ sd@0,0:a Boot args: Type b [file-name] [boot-flags] <ENTER> to boot with options or i <ENTER> to enter boot interpreter or <ENTER> to boot with defaults <<< timeout in 5 seconds >>> Select (b)oot or (i)nterpreter: b -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 [/ 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 /a # fsck /dev/rdsk/c0t0d0s0 [再起動する:] # reboot [ディスク ID を置き換える:] # scdidadm -R /dev/rdsk/c0t0d0 [状態データベース複製を再作成する:] # metadb -c 3 -af /dev/rdsk/c0t0d0s4 [ノードを再びメタセットに追加する:] phys-schost-2# metaset -s schost-1 -a -h phys-schost-1 |
この手順を使用し、カプセル化されていないルート (/) ファイルシステムをノードに復元します。復元するノードは起動しないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害の発生したディスクと同じ形式でパーティション分割する必要があります。この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
ルートファイルシステムを復元するノードで、障害が発生したディスクを交換します。
ディスク交換手順については、サーバーに付属のマニュアルを参照してください。
復元するノードを起動します。
Solaris CD を使用している場合は、OpenBoot PROM の ok プロンプトで、次のコマンドを入力します。
ok boot cdrom -s |
Solaris JumpStartTM サーバーを使用している場合は、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 # cd / # umount temp-mountpoint # fsck raw-disk-device |
これでファイルシステムが復元されます。
新しい起動ブロックを新しいディスクにインストールします。
# /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device |
ノードをマルチユーザーモードで再起動します。
# reboot |
scdidadm コマンドを使用し、ディスク ID を更新します。
# scdidadm -R /dev/rdsk/disk-device |
Control-D キーを押して、マルチユーザーモードで再起動します。
ノードがクラスタモードで再起動します。これでクラスタを使用できるようになります。
次に、カプセル化されていないルート (/) ファイルシステムがテープデバイス /dev/rmt/0 からノード phys-schost-1 に復元される例を示します。
[Replace the failed disk and boot the node:] |
SolarisCD からノードを起動します。OpenBoot PROM の ok プロンプトで、次のコマンドを入力します。
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 \ -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [再起動する:] # reboot [ディスクID をアップデートする:] # scdidadm -R /dev/rdsk/c0t0d0 |
この手順を使用し、カプセル化されたルート (/) ファイルシステムをノードに復元します。復元するノードは起動しないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害の発生したディスクと同じ形式でパーティション分割する必要があります。この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
ルートファイルシステムを復元するノードで、障害が発生したディスクを交換します。
ディスク交換手順については、サーバーに付属のマニュアルを参照してください。
復元するノードを起動します。
Solaris CD を使用している場合は、OpenBoot PROM の ok プロンプトで、次のコマンドを入力します。
ok boot cdrom -s |
Solaris JumpStartTM サーバーを使用している場合は、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 を更新します。
# 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 に復元される例を示します。
[Replace the failed disk and boot the node:] |
SolarisCD からノードを起動します。OpenBoot PROM の ok プロンプトで、次のコマンドを入力します。
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/vx/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 \ -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [再起動する:] # reboot [ディスク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 ソフトウェアのインストール (Solaris OS 版)』を参照してください。