ufsrestore(1M) コマンドを実行すると、ufsdump(1M) コマンドで作成されたバックアップのファイルが、現在の作業ディレクトリを基準として指定されるディスク上の位置にコピーされます。ufsrestore を使用すると、レベル 0 のダンプとそれ以降の増分ダンプからファイルシステム階層全体を読み込み直したり、任意のダンプテープから個々のファイルを復元できます。スーパーユーザーまたは同等の役割として ufsrestore を実行すると、元の所有者、最終修正時刻、モード (アクセス権) を保持したままファイルを復元できます。
ファイルまたはファイルシステムの復元を開始する前に、次の点を確認してください。
必要なテープ
ファイルシステムを復元する raw デバイス名
使用するテープドライブの種類
テープドライブのデバイス名 (ローカルまたはリモート)
障害が発生したディスクのパーティション分割方式。これは、パーティションとファイルシステムを交換用ディスクに正確に複製しなければならないためです。
作業 |
参照先 |
---|---|
Solaris Volume Manager の場合、対話形式でファイルを復元 | |
Solaris Volume Manager の場合、ルート (/) ファイルシステムを復元 | |
|
「Solstice DiskSuite メタデバイスまたは Solaris Volume Manager 上に存在していたルート (/) ファイルシステムを復元する」 |
Veritas Volume Manager の場合、ルート (/) ファイルシステムを復元 |
「SPARC: カプセル化されていないルート (/) ファイルシステムを復元する (Veritas Volume Manager)」 |
Veritas Volume Manager の場合、カプセル化されたルート ( /) ファイルシステムを復元 |
「SPARC: カプセル化されたルート (/) ファイルシステムを復元する (VERITAS Volume Manager)」 |
この手順を使用し、1 つまたは複数の個々のファイルを復元します。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
復元するクラスタノード上で、スーパーユーザーになるか、RBAC の承認 solaris.cluster.admin を提供する役割になります。
復元するファイルを使用しているデータサービスをすべて停止します。
# clresourcegroup offline resource-group |
ファイルを復元します。
# ufsrestore |
障害の発生したルートディスクを交換した後などに、この手順を使用してルート (/) ファイルシステムを新しいディスクに復元します。復元中のノードは起動しなおさないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害が発生したディスクと同じ形式でパーティション分割する必要があります。このため、この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Sun Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。コマンドのリストとその短縮形については、付録 B Sun Cluster オブジェクト指向コマンドを参照してください。
復元するノードの添付先であるディスクセットへのアクセス権があるクラスタノード上で、スーパーユーザーになるか、RBAC の承認 solaris.cluster.modify を提供する役割になります。
復元する以外のノードを使用します。
すべてのメタセットから、復元するノードのホスト名を削除します。
このコマンドは、削除するノード以外のメタセットのノードから実行します。復元を行っているノードはオフラインであるため、システムは「RPC: Rpcbind failure - RPC: Timed out」というエラーを表示します。このエラーを無視し、次のステップを続けます。
# metaset -s setname -f -d -h nodelist |
ディスクセット名を指定します。
ディスクセットから最後のホストを削除します。
ディスクセットから削除します。
ディスクセットから削除するノードの名前を指定します。
root (/) ファイルシステムと /usr ファイルシステムを復元します。
root ファイルシステムと /usr ファイルシステムを復元するには、『Solaris のシステム管理 (デバイスとファイルシステム)』の第 26 章「UFS ファイルとファイルシステムの復元 (手順)」の手順に従ってください。Solaris OS の手順にあるシステムを再起動する手順は省略してください。
/global/.devices/ node@nodeid ファイルシステムが作成されていることを確認します。
ノードをマルチユーザーモードで再起動します。
# reboot |
ディスク ID を交換します。
# cldevice repair rootdisk |
metadb(1M) コマンドを使用し、状態データベースの複製を再作成します。
# metadb -c copies -af raw-disk-device |
作成する複製の数を指定します。
複製の作成先の raw ディスクデバイス名を指定します。
複製を追加します。
復元するノード以外のクラスタノードから、復元するノードをすべてのディスクセットに追加します。
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 に再作成されます。
[Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on a cluster node other than the node to be restored .] [Remove the node from the metaset:] phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1 [Replace the failed disk and boot the node:] Restore the root (/) and /usr file system using the procedure in the Solaris system administration documentation [Reboot:] # reboot [Replace the disk ID:] # cldevice repair /dev/dsk/c0t0d0 [Re-create state database replicas:] # metadb -c 3 -af /dev/rdsk/c0t0d0s4 [Add the node back to the metaset:] phys-schost-2# metaset -s schost-1 -a -h phys-schost-1 |
この手順を使用して、バックアップ実行時に Solstice DiskSuite メタデバイスまたは Solaris Volume Manager のボリューム上に存在していたルート (/) ファイルシステムを復元します。この手順は、破損したルートディスクを新しいディスクに交換する場合などに実行します。復元中のノードは起動しなおさないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害が発生したディスクと同じ形式でパーティション分割する必要があります。このため、この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Sun Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。コマンドのリストとその短縮形については、付録 B Sun Cluster オブジェクト指向コマンドを参照してください。
ディスクセットへのアクセス権があるクラスタノード、ただし復元するノード以外のノード上で、スーパーユーザーになるか、RBAC の承認 solaris.cluster.modifiy を提供する役割になります。
復元する以外のノードを使用します。
すべてのディスクセットから、復元するノードのホスト名を削除します。
# metaset -s setname -f -d -h nodelist |
メタセット名を指定します。
ディスクセットから最後のホストを削除します。
メタセットから削除します。
メタセットから削除するノードの名前を指定します。
ルート (/) ファイルシステムを復元するノードで、障害の発生したディスクを交換します。
ディスク交換手順については、サーバーに付属のマニュアルを参照してください。
復元するノードを起動します。
Solaris OS CD を使用している場合は、次の点に注意してください。
SPARC:次のように入力します。
ok boot cdrom -s |
x86:CD をシステムの CD ドライブに挿入し、システムを停止して、電源を切って入れなおすことにより、システムを起動します。「Current Boot Parameters」画面で b または i を入力します。
<<< 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:次のように入力します。
ok boot net -s |
x86:CD をシステムの CD ドライブに挿入し、システムを停止して、電源を切って入れなおすことにより、システムを起動します。「Current Boot Parameters」画面で b または i を入力します。
<<< 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 |
ディスク ID を交換します。
# cldevice repair rootdisk |
metadb コマンドを使用し、状態データベースの複製を再作成します。
# metadb -c copies -af raw-disk-device |
作成する複製の数を指定します。
指定した raw ディスクデバイスに初期状態のデータベースの複製を作成します。
復元したノード以外のクラスタノードから、復元したノードをすべてのディスクセットに追加します。
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 に再作成されます。
[Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on a cluster node with access to the metaset, other than the node to be restored.] [Remove the node from the metaset:] phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1 [Replace the failed disk and boot the node:] |
次の操作で、Solaris OS CD からノードを起動します。
SPARC:次のように入力します。
ok boot cdrom -s |
x86:CD をシステムの CD ドライブに挿入し、システムを停止して、電源を切って入れなおすことにより、システムを起動します。「Current Boot Parameters」画面で b または i を入力します。
<<< 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 |
[Use format and newfs to recreate 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 [Install a new boot block:] # /usr/sbin/installboot /usr/platform/`uname \ -i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0 [Remove the lines in / temp-mountpoint/etc/system file for MDD root information: ] * 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 - [Unmount the temporary file system and check the raw disk device:] # cd / # umount /a # fsck /dev/rdsk/c0t0d0s0 [Reboot:] # reboot [Replace the disk ID:] # cldevice repair /dev/rdsk/c0t0d0 [Re-create state database replicas:] # metadb -c 3 -af /dev/rdsk/c0t0d0s4 [Add the node back to the metaset:] phys-schost-2# metaset -s schost-1 -a -h phys-schost-1 |
この手順を使用して、カプセル化されていないルート (/) ファイルシステムをノードに復元します。復元中のノードは起動しなおさないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害が発生したディスクと同じ形式でパーティション分割する必要があります。このため、この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Sun Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。コマンドのリストとその短縮形については、付録 B 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 # cd / # umount temp-mountpoint # fsck raw-disk-device |
これでファイルシステムが復元されます。
新しい起動ブロックを新しいディスクにインストールします。
# /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device |
ノードをマルチユーザーモードで再起動します。
# reboot |
ディスク ID を更新します。
# cldevice repair /dev/rdsk/disk-device |
Ctrl-D キーを押して、マルチユーザーモードで再起動します。
ノードがクラスタモードで再起動します。これでクラスタを使用できるようになります。
次に、カプセル化されていないルート (/) ファイルシステムがテープデバイス /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 # 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 |
この手順を使用して、カプセル化されているルート (/) ファイルシステムをノードに復元します。復元中のノードは起動しなおさないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。
新しいディスクは、障害が発生したディスクと同じ形式でパーティション分割する必要があります。このため、この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Sun Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。コマンドのリストとその短縮形については、付録 B 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 など) に置換します。
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 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 版)』 を参照してください。