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

検索範囲:

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

## クラスタのバックアップ

表 12-1 タスクリスト : クラスタファイルのバックアップ

タスク | 手順
--- | ---
バックアップするファイルシステムの名前の検索 | 「バックアップするファイルシステム名を検索する方法」
フルバックアップを格納するのに必要なテープ数の計算 | 「完全バックアップに必要なテープ数を調べる方法」
ルートファイルシステムのバックアップ | 「ルート (`/`) ファイルシステムをバックアップする方法」
ミラーファイルシステムのオンラインバックアップの実行 | 「ミラーのオンラインバックアップを実行する方法 (Solaris Volume Manager)」
クラスタ構成のバックアップ | 「クラスタ構成をバックアップする方法」
ストレージディスクのディスクパーティション分割構成のバックアップ | ストレージディスクのドキュメントを参照

## バックアップするファイルシステム名を検索する方法

バックアップするファイルシステムの名前を調べるには、この手順を使用します。

1. `/etc/vfstab` ファイルの内容を表示します。

   このコマンドを実行するために、スーパーユーザーまたは同等の役割になる必要はありません。

       # more /etc/vfstab

2. バックアップするファイルシステムの名前の、マウントポイントを表す列を調べます。

   ファイルシステムのバックアップを作成する際にはこの名前を使用します。

       # more /etc/vfstab

例 12-1 バックアップするファイルシステム名の確認

次の例は、`/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      -

## 完全バックアップに必要なテープ数を調べる方法

ファイルシステムのバックアップに必要なテープ数を計算するには、この手順を使用します。

1. バックアップするクラスタノード上で、スーパーユーザーまたは同等の役割になります。
2. バックアップのサイズをバイト単位で推定します。

       # ufsdump S filesystem

   `S`

     バックアップの実行に必要だと推定されるバイト数を表示します。

   filesystem

     バックアップするファイルシステムの名前を指定します。

3. 推定のサイズをテープの容量で割り、必要なテープの数を確認します。

例 12-2 必要なテープの数の特定

次の例では、ファイルシステムのサイズが 905,881,620 バイトなので、4G バイトのテープに容易に収まります (905,881,620 ÷ 4,000,000,000)。

    # ufsdump S /global/phys-schost-1
    905881620

## ルート (`/`) ファイルシステムをバックアップする方法

クラスタノードのルート (`/`) ファイルシステムをバックアップするには、この手順を使用します。バックアップ手順を実行する前に、クラスタが問題なく動作していることを確認してください。

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

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

1. バックアップするクラスタノードで、スーパーユーザーになるか、RBAC の承認 `solaris.cluster.modify` を提供する役割になります。
2. 実行中の各データサービスを、バックアップ対象のノードから、クラスタ内の別のノードに切り替えます。

       # clnode evacuate node

   node

     リソースグループとデバイスグループを切り替えるノードを指定します。

3. ノードを停止します。

       # shutdown -g0 -y -i0

4. ノードを非クラスタモードでリブートします。

   - SPARC ベースのシステム上で、次のコマンドを実行します。

         ok boot -xs

   - x86 ベースのシステム上で、次のコマンドを実行します。

         phys-schost# shutdown -g -y -i0

         Press any key to continue

   1. GRUB メニューで矢印キーを使用して該当する Oracle Solaris エントリを選択し、`e` と入力してコマンドを編集します。

      次のような GRUB メニューが表示されます。

          GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
          +-------------------------------------------------------------------------+
          | Solaris 10 /sol_10_x86                                                  |
          | Solaris failsafe                                                        |
          |                                                                         |
          +-------------------------------------------------------------------------+
          Use the ^ and v keys to select which entry is highlighted.
          Press enter to boot the selected OS, 'e' to edit the
          commands before booting, or 'c' for a command-line.

      GRUB ベースのブートの詳細については、『Oracle Solaris の管理: 基本管理』の「GRUB を使用して x86 システムをブートする (タスクマップ)」を参照してください。

   2. ブートパラメータの画面で、矢印キーを使用してカーネルエントリを選択し、`e` を入力してエントリを編集します。

      次のような GRUB ブートパラメータの画面が表示されます。

          GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
          +----------------------------------------------------------------------+
          | root (hd0,0,a)                                                       |
          | kernel /platform/i86pc/multiboot                                     |
          | module /platform/i86pc/boot_archive                                  |
          +----------------------------------------------------------------------+
          Use the ^ and v keys to select which entry is highlighted.
          Press 'b' to boot, 'e' to edit the selected command in the
          boot sequence, 'c' for a command-line, 'o' to open a new line
          after ('O' for before) the selected line, 'd' to remove the
          selected line, or escape to go back to the main menu.

   3. コマンドに `-x` を追加して、システムが非クラスタモードでブートするように指定します。

          [ Minimal BASH-like line editing is supported. For the first word, TAB
          lists possible command completions. Anywhere else TAB lists the possible
          completions of a device/filename. ESC at any time exits. ]

          grub edit> kernel /platform/i86pc/multiboot -x

   4. Enter キーを押して変更を受け入れ、ブートパラメータの画面に戻ります。

      画面には編集されたコマンドが表示されます。

          GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
          +----------------------------------------------------------------------+
          | root (hd0,0,a)                                                       |
          | kernel /platform/i86pc/multiboot -x                                  |
          | module /platform/i86pc/boot_archive                                  |
          +----------------------------------------------------------------------+
          Use the ^ and v keys to select which entry is highlighted.
          Press 'b' to boot, 'e' to edit the selected command in the
          boot sequence, 'c' for a command-line, 'o' to open a new line
          after ('O' for before) the selected line, 'd' to remove the
          selected line, or escape to go back to the main menu.-

   5. `b` と入力して、ノードを非クラスタモードでブートします。

      注 - カーネルブートパラメータコマンドへのこの変更は、システムをブートすると無効になります。次にノードをリブートする際には、ノードはクラスタモードでブートします。そうではなく、非クラスタモードでブートするには、これらの手順を再度実行して、カーネルブートパラメータコマンドに -x オプションを追加します。

5. UFS スナップショットを作成することで、ルート (`/`) ファイルシステムをバックアップします。
   1. ファイルシステムに、バッキングストアファイル用の十分なディスク容量があることを確認します。

          # df -k

   2. 名前と場所が同じバッキングストアファイルがすでに存在してないことを確認します。

          # ls /backing-store-file

   3. UFS スナップショットを作成します。

          # fssnap -F ufs -o bs=/backing-store-file /file-system

   4. スナップショットが作成されたことを確認します。

          # /usr/lib/fs/ufs/fssnap -i /file-system

6. ファイルシステムのスナップショットをバックアップします。

       # ufsdump 0ucf /dev/rmt/0 snapshot-name

   例:

       # ufsdump 0ucf /dev/rmt/0 /dev/rfssnap/1

7. スナップショットがバックアップされたことを確認します。

       # ufsrestore ta /dev/rmt/0

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

       # init 6

例 12-3 ルート (`/`) ファイルシステムのバックアップ

次の例では、ルート (`/`) ファイルシステムのスナップショットは /usr ディレクトリの /scratch/usr.back.file に保存されます。

    # fssnap -F ufs -o bs=/scratch/usr.back.file /usr
      /dev/fssnap/1

## ミラーのオンラインバックアップを実行する方法 (Solaris Volume Manager)

Solaris Volume Manager のミラー化ボリュームは、マウント解除したりミラー全体をオフラインにしたりしなくても、バックアップできます。 サブミラーの 1 つを一時的にオフラインにする必要があるので、ミラー化の状態ではなくなりますが、バックアップ完了後ただちにオンラインに戻し、再度同期をとることができます。システムを停止したり、データへのユーザーアクセスを拒否する必要はありません。ミラーを使用してオンラインバックアップを実行すると、アクティブなファイルシステムの「スナップショット」であるバックアップが作成されます。

`lockfs` コマンドを実行する直前にプログラムがボリュームにデータを書き込むと、問題が生じることがあります。この問題を防ぐには、このノードで実行中のすべてのサービスを一時的に停止します。また、バックアップ手順を実行する前に、クラスタが正常に動作していることを確認してください。

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

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

1. バックアップするクラスタノード上で、スーパーユーザーまたは同等の役割になります。
2. `metaset`(1M) コマンドを使用して、バックアップするボリュームの所有権を持っているノードを確認します。

       # metaset -s setname

   `-s` setname

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

3. `lockfs`(1M) コマンドに `-w` オプションを付けて使用し、ファイルシステムへの書き込みをロックします。

       # lockfs -w mountpoint

   注 - ファイルシステムをロックする必要があるのは、UFS ファイルシステムがミラー上にある場合のみです。たとえば、データベース管理ソフトウェアまたはほかの特定アプリケーションのために、Solaris Volume Manager ボリュームが raw デバイスとして設定されている場合は、`lockfs` コマンドを使用する必要はありません。ただし、ベンダーに依存する適切なユーティリティーを実行し、任意のバッファーをフラッシュしてアクセスをロックすることもできます。

4. `metastat`(1M) コマンドを使用し、サブミラーの名前を調べます。

       # metastat -s setname -p

   `-p`

     `md.tab` ファイルと同様の形式でステータスを表示します。

5. `metadetach`(1M) コマンドを使用し、ミラーから 1 つのサブミラーをオフラインにします。

       # metadetach -s setname mirror submirror

   注 - 読み取り操作は引き続きそのほかのサブミラーから行われます。読み取り操作は引き続きそのほかのサブミラーから実行できますが、 オフラインのサブミラーは、ミラーに最初に書き込んだ直後から同期がとれなくなります。この不一致は、オフラインのサブミラーをオンラインに戻したときに修正されます。`fsck` を実行する必要はありません。

6. `-u` オプションを指定して `lockfs` コマンドを使用し、ファイルシステムのロックを解除して書き込みを続行できるようにします。

       # lockfs -u mountpoint

7. ファイルシステムを検査します。

       # fsck /dev/md/diskset/rdsk/submirror

8. オフラインのサブミラーをテープなどのメディアにバックアップします。

   `ufsdump`(1M) コマンド、または通常使用しているバックアップユーティリティーを使用します。

       # ufsdump 0ucf dump-device submirror

   注 - ブロックデバイス (`/dsk`) 名ではなく、サブミラーの raw デバイス (`/rdsk`) 名を使用してください。

9. `metattach`(1M) コマンドを使用し、メタデバイスまたはボリュームをオンラインに戻します。

       # metattach -s setname mirror submirror

   メタデバイスまたはボリュームをオンラインに戻すと、自動的にミラーとの再同期が行われます。

10. `metastat` コマンドを使用し、サブミラーが再同期されていることを確認します。

        # metastat -s setname mirror

例 12-4 ミラーのオンラインバックアップの実行 (Solaris Volume Manager)

次の例では、クラスタノード `phys-schost-1` はメタセット `schost-1` の所有者なので、バックアップ手順は `phys-schost-1` から実行します。ミラー `/dev/md/schost-1/dsk/d0` は、サブミラーの `d10`、`d20`、および `d30` で構成されています。

    [Determine the owner of the metaset:]
    # metaset -s schost-1
    Set name = schost-1, Set number = 1
    Host                Owner
      phys-schost-1     Yes
    ...
    [Lock the file system from writes:]
    # lockfs -w /global/schost-1
    [List the submirrors:]
    # 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
    [Take a submirror offline:]
    # metadetach -s schost-1 d0 d30
    [Unlock the file system:]
    # lockfs -u /
    [Check the file system:]
    # fsck /dev/md/schost-1/rdsk/d30
    [Copy the submirror to the backup device:]
    # 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
    [Bring the submirror back online:]
    # metattach -s schost-1 d0 d30
    schost-1/d0: submirror schost-1/d30 is attached
    [Resynchronize the submirror:]
    # 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)
    ...

## クラスタ構成をバックアップする方法

クラスタ構成をアーカイブし、クラスタ構成の簡単な復元を実現するため、定期的にクラスタ構成をバックアップします。Oracle Solaris Cluster には、クラスタ構成を XML (eXtensible Markup Language) ファイルにエクスポートする機能があります。

1. クラスタ内の任意のノードにログオンし、スーパーユーザーになるか、RBAC の承認 `solaris.cluster.read` を提供する役割になります。
2. クラスタ構成情報をファイルにエクスポートします。

       # /usr/cluster/bin/cluster export -o configfile

   configfile

     クラスタコマンドのクラスタ構成情報のエクスポート先である XML 構成ファイルの名前。XML 構成ファイルについては、`clconfiguration`(5CL) を参照してください。

3. クラスタ構成情報が正常に XML ファイルにエクスポートされたことを確認します。

       # vi configfile

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