ナビゲーションリンクをスキップ
印刷ビューの終了
| Oracle Solaris Cluster システム管理 Oracle Solaris Cluster 3.3 3/13 (日本語)

検索範囲:

- このドキュメント
- ライブラリ全体

## クラスタファイルの復元

`ufsrestore`(1M) コマンドは、現在の作業用ディレクトリを基準に、`ufsdump`(1M) コマンドを使用して作成されたバックアップからファイルをディスクにコピーします。`ufsrestore` を使用すると、レベル 0 のダンプおよびそれに続く増分ダンプから、ファイルシステムの階層全体を再読み込みしたり、任意のダンプテープから 1 つまたは複数の単独ファイルを復元したりできます。スーパーユーザーとして、または同等の役割になって `ufsrestore` を実行すると、元の所有者、最終変更時間、およびモード (アクセス権) の情報とともにファイルが復元されます。

ファイルまたはファイルシステムの復元を開始する前に、次の点を確認してください。

- 必要なテープ

- ファイルシステムを復元する raw デバイス名

- 使用するテープドライブの種類

- テープドライブのデバイス名 (ローカルまたはリモート)

- 障害が発生したディスクのパーティション分割方式。これは、パーティションとファイルシステムを交換用ディスクに正確に複製しなければならないためです。

表 12-2 タスクリスト : クラスタファイルの復元

タスク | 手順
--- | ---
Solaris Volume Manager の場合にファイルを対話式に復元 | 「個々のファイルを対話式に復元する方法 (Solaris Volume Manager)」
Solaris Volume Manager の場合にルート (`/`) ファイルシステムを復元 | 「ルート (`/`) ファイルシステムを復元する方法 (Solaris Volume Manager)」
| 「Solaris Volume Manager ボリューム上にあったルート (`/`) ファイルシステムを復元する方法」

## 個々のファイルを対話式に復元する方法 (Solaris Volume Manager)

1 つまたは複数の個々のファイルを復元するには、この手順を使用します。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。

1. 復元するクラスタノードで、スーパーユーザーになるか、RBAC の承認 `solaris.cluster.admin` を提供する役割になります。
2. 復元するファイルを使用中のデータサービスをすべて停止します。

       # clresourcegroup offline resource-group

3. ファイルを復元します。

       # ufsrestore

## ルート (`/`) ファイルシステムを復元する方法 (Solaris Volume Manager)

障害が発生したルートディスクの交換後などに、ルート (`/`) ファイルシステムを新しいディスクに復元するには、この手順を使用します。復元中のノードはブートしなおさないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。

注 - 新しいディスクは、障害が発生したディスクと同じ形式でパーティション分割する必要があります。このため、この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。

`phys-schost#` プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。

この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。

1. 復元するノードの添付先であるディスクセットへのアクセス権があるクラスタノード上で、スーパーユーザーになるか、`solaris.cluster.modify` RBAC 権限を提供する役割になります。

   復元する以外のノードを使用します。

2. すべてのメタセットから、復元するノードのホスト名を削除します。

   このコマンドは、削除するノード以外のメタセットのノードから実行します。復元を行なっているノードはオフラインであるため、システムは「`RPC: Rpcbind failure - RPC: Timed out`」というエラーを表示します。このエラーを無視し、次のステップを続けます。

       # metaset -s setname -f -d -h nodelist

   `-s` setname

     ディスクセット名を指定します。

   `-f`

     ディスクセットから最後のホストを削除します。

   `-d`

     ディスクセットから削除します。

   `-h` nodelist

     ディスクセットから削除するノードの名前を指定します。

3. ルート (`/`) および `/usr` ファイルシステムを復元します。

   ルートおよび `/usr` ファイルシステムを復元するには、『Oracle Solaris の管理: デバイスとファイルシステム』の「UFS ファイルとファイルシステムの復元」の手順に従います。Oracle Solaris OS の場合のやり方の手順は省略してシステムをリブートします。

   注 - `/global/.devices/ node@nodeid` ファイルシステムが作成されていることを確認します。

4. ノードをマルチユーザーモードでリブートします。

       # reboot

5. デバイス ID を交換します。

       # cldevice repair rootdisk

6. `metadb`(1M) コマンドを使用して、状態データベースの複製を再作成します。

       # metadb -c copies -af raw-disk-device

   `-c` copies

     作成する複製の数を指定します。

   `-f` raw-disk-device

     複製の作成先の raw ディスクデバイス名を指定します。

   -a

     複製を追加します。

7. 復元するノード以外のクラスタノードから、復元するノードをすべてのディスクセットに追加します。

       phys-schost-2# metaset -s setname -a -h nodelist

   `-a`

     ホストを作成してディスクセットに追加します。

   ノードがクラスタモードでリブートします。これでクラスタを使用できるようになります。

例 12-5 ルート (`/`) ファイルシステムの復元 (Solaris Volume Manager)

次の例では、テープデバイス `/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

## Solaris Volume Manager ボリューム上にあったルート (`/`) ファイルシステムを復元する方法

バックアップが実行されたときに Solaris Volume Manager ボリューム上にあったルート (`/`) ファイルシステムを復元するには、この手順を使用します。この手順は、ルートディスクが破損し、新しいディスクに交換する場合などの状況で実行します。復元中のノードはブートしなおさないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。

注 - 新しいディスクは、障害が発生したディスクと同じ形式でパーティション分割する必要があります。このため、この手順を始める前に、パーティションの分割方式を確認し、ファイルシステムを適切に再作成しておいてください。

`phys-schost#` プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。

この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。

1. ディスクセットにアクセスできる、復元するノード以外のクラスタノード上で、スーパーユーザーになるか、RBAC 権限 `solaris.cluster.modify` を提供する役割になります。

   復元する以外のノードを使用します。

2. そのノードが接続されているすべてのディスクセットから、復元しようとしているノードのホスト名を削除します。次のコマンドをディスクセットごとに 1 回実行します。

       # metaset -s setname -d -h hostname

   `-s` setname

     メタセット名を指定します。

   `-f`

     ディスクセットから最後のホストを削除します。

   `-d`

     メタセットから削除します。

   `-h` nodelist

     メタセットから削除するノードの名前を指定します。

   `-h` hostname

     ホストの名前を指定します。

   `-m` mediator_host_list

     ディスクセットに対して追加または削除するメディエータホストの名前を指定します。

3. ノードがデュアルストリングメディエータホストの場合は、メディエータを削除します。次のコマンドを、ノードの接続先になっているディスクセットごとに 1 回実行します。

       # metaset -ssetname-d -m hostname

4. ルート (`/`) ファイルシステムが復元されるノードで、障害が発生したディスクを交換します。

   ディスクの交換手順については、サーバーに付属するドキュメントを参照してください。

5. 復元するノードをブートします。修復されたノードは、CD-ROM からシングルユーザーモードでブートされるので、このノードでは Solaris Volume Manager は実行されていません。

   - Oracle 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 JumpStart サーバーを使用する場合は、次のことに注意してください。

     - 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

6. `format` コマンドを使用して、ルートディスク上にすべてのパーティションとスワップ空間を作成します。

   障害が発生したディスクでの元のパーティション分割スキームを再作成します。

7. `newfs` コマンドを使用して、ルート (`/`) ファイルシステムと、必要に応じてほかのファイルシステムを作成します。

   障害が発生したディスクでの元のファイルシステムを再作成します。

   注 - `/global/.devices/ node@nodeid` ファイルシステムが作成されていることを確認します。

8. ルート (`/`) ファイルシステムを一時マウントポイントにマウントします。

       # mount device temp-mountpoint

9. 次のコマンドを使用して、ルート (`/`) ファイルシステムを復元します。

       # cd temp-mountpoint
       # ufsrestore rvf dump-device
       # rm restoresymtable

10. 新しいブートブロックを新しいディスクにインストールします。

        # /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk
        raw-disk-device

11. `/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)

12. `/temp-mountpoint/etc/vfstab` ファイルを編集し、ルートエントリを 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       -

13. 一時ファイルシステムをアンマウントし、raw ディスクデバイスを確認します。

        # cd /
        # umount temp-mountpoint
        # fsck raw-disk-device

14. ノードをマルチユーザーモードでリブートします。

        # reboot

15. デバイス ID を交換します。

        # cldevice repair rootdisk

16. `metadb` コマンドを使用し、状態データベースの複製を再作成します。

        # metadb -c copies -af raw-disk-device

    `-c` copies

      作成する複製の数を指定します。

    `-af` raw-disk-device

      指定した raw ディスクデバイス上に、初期状態のデータベース複製を作成します。

17. 復元するノード以外のクラスタノードから、復元するノードをすべてのディスクセットに追加します。

        phys-schost-2# metaset -s setname -a -h nodelist

    `-a`

      メタセットを追加 (作成) します。

    ドキュメントに従って、ルート (`/`) のボリュームやミラーを設定します。

    ノードがクラスタモードでリブートします。

18. ノードがデュアルストリングメディエータホストであった場合は、メディエータを再度追加します。

        phys-schost-2# metaset -s setname -a -m hostname

例 12-6 Solaris Volume Manager ボリューム上にあったルート (`/`) ファイルシステムの復元

次の例では、テープデバイス `/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 -d -h phys-schost-1
    [Replace the failed disk and boot the node:]

Oracle 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

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 著作権について |