Sun Cluster 3.0 12/01 のシステム管理

クラスタのバックアップ

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

作業 

参照箇所 

バックアップするファイルシステムの名前を検索する。 

「バックアップするファイルシステム名を確認する」

フルバックアップを作成するのに必要なテープの数を計算する。 

「フルバックアップに必要なテープ数を判別する」

ルートファイルシステムのバックアップを作成する。 

「ルート (/) ファイルシステムをバックアップする」

ミラーまたはプレックスファイルシステムのオンラインバックアップを実行する。 

「ミラーのオンラインバックアップを実行する (Solstice DiskSuite)」

「ボリュームのオンラインバックアップを実行する (VERITAS Volume Manager)」

バックアップするファイルシステム名を確認する

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

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

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


    % more /etc/vfstab
    

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

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


    % 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      -

フルバックアップに必要なテープ数を判別する

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

  1. バックアップするクラスタノード上でスーパーユーザーになります。

  2. バックアップのサイズをバイト単位で予測します。


    # ufsdump S filesystem 
    

    S

    バックアップの実行に必要な予測バイト数を表示します。

    filesystem

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

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

例 - 必要なテープ数の判別

次の例では、ファイルシステムのサイズは 905,881,620 バイトなので、4 GB のテープに収めることができます (905,881,620 / 4,000,000,000)。


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

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

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

  1. バックアップするクラスタノード上でスーパーユーザーになります。

  2. 実行中の各データサービスを、バックアップを作成するノードからクラスタ内の別のノードに切り替えます。


    # scswitch -z -D disk-device-group -h nodelist
    

    -z

    切り替えを実行します。

    -D disk-device-group

    切り替えるディスクデバイスグループの名前を指定します。

    -h nodelist

    ディスクデバイスグループの切り替え先のクラスタノードの名前を指定します。このノードが新しい主ノードになります。

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


    # shutdown -g0 -y -i0
    

  4. ok プロンプトの状態から、非クラスタモードで再起動します。


    ok boot -x
    

  5. ルート (/) ファイルシステムをバックアップします。

    • ルートディスクがカプセル化されていない場合は、次のコマンドを使用します。


      # ufsdump 0ucf dump-device /
      

    • ルートディスクがカプセル化されている場合は、次のコマンドを使用します。


      # ufsdump 0ucf dump-device /dev/vx/rdsk/rootvol
      

    詳細については、ufsdump(1M) のマニュアルページを参照してください。

  6. ノードをクラスタモードで再起動します。


    # 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)

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

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

  1. バックアップするクラスタノード上でスーパーユーザーになります。

  2. metaset(1M) コマンドを使用し、バックアップするボリュームの所有権を持つノードを判別します。


    # metaset -s setname
    

    -s setname

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

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


    # lockfs -w mountpoint 
    


    注 -

    ファイルシステムをロックする必要があるのは、UFS ファイルシステムがミラー上にある場合だけです。たとえば、メタデバイスが、データベース管理ソフトウェアやその他の特別なアプリケーションの 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 コマンドを実行し、ファイルシステムを確認します。


    # 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
    

例 - ミラーのオンラインバックアップの実行 (Solstice DiskSuite)

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


[メタセットの所有者を決定する]
# 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)

VERITAS Volume Manager では、ミラー化ボリュームはプレックスと認識されます。プレックスは、マウント解除したり、ボリューム全体をオフラインにしなくてもバックアップできます。プレックスは、ボリュームのスナップショットコピーを作成し、この一時ボリュームをバックアップします。システムを停止したり、データへのユーザーアクセスを拒否する必要はありません。

バックアップ手順を実行する前に、クラスタが正常に動作していることを確認してください。

  1. クラスタの任意のノードにログオンし、クラスタのディスクグループの現在の主ノード上でスーパーユーザーになります。

  2. ディスクグループ情報を表示します。


    # vxprint -g diskgroup
    

  3. scstat(1M) コマンドを実行し、現在ディスクグループをインポートしているノードを確認します。このノードがディスクグループの主ノードです。


    # scstat -D
    

    -D

    すべてのディスクデバイスグループの状態を表示します。

  4. vxassist(1M) コマンドを使用し、ボリュームのスナップショットを作成します。


    # vxassist -g diskgroup snapstart volume
    


    注 -

    ボリュームのサイズによっては、スナップショットの作成に時間がかかることがあります。


  5. 新しいボリュームが作成されたことを確認します。


    # vxprint -g diskgroup
    

    スナップショットの作成が完了すると、選択したディスクグループの State フィールドに Snapdone と表示されます。

  6. ファイルシステムにアクセスしているデータサービスを停止します。


    # scswitch -z -g resource-group -h ""
    


    注 -

    データファイルシステムが正しくバックアップされるように、すべてのデータサービスを停止します。データサービスが実行中でない場合は、手順 6 および 手順 8 を実行する必要はありません。


  7. bkup-vol というバックアップボリュームを作成し、vxassist コマンドを使用してスナップショットボリュームをそのボリュームに接続します。


    # vxassist -g diskgroup snapshot volume bkup-vol
    

  8. scswitch コマンドを使用し、手順 6 で停止したデータサービスを再起動します。


    # scswitch -z -g resource-group -h nodelist
    

  9. vxprint コマンドを使用し、ボリュームが新しいボリューム bkup-vol に接続されていることを確認します。


    # vxprint -g diskgroup
    

  10. ディスクグループ構成変更を登録します。


    # scconf -c -D name=diskgroup,sync
    

  11. fsck コマンドを使用し、バックアップボリュームを確認します。


    # fsck -y /dev/vx/rdsk/diskgroup/bkup-vol
    

  12. テープなどのメディアにボリューム bkup-vol をバックアップします。

    ufsdump(1M) コマンドか、それ以外の通常使用しているバックアップユーティリティーを使用します。


    # ufsdump 0ucf dump-device /dev/vx/dsk/diskgroup/bkup-vol
    

  13. vxedit(1M) を使用し、一時ボリュームを削除します。


    # vxedit -rf rm bkup-vol
    

  14. scconf コマンドを使用し、ディスクグループ構成変更を登録します。


    # scconf -c -D name=diskgroup,sync
    

例 - ボリュームのオンラインバックアップの実行(VERITAS Volume Manager)

次の例では、クラスタノード 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