Sun Cluster のシステム管理 (Solaris OS 版)

クラスタのバックアップ

表 9–1 Task Map: クラスタファイルのバックアップ

タスク 

参照箇所 

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

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

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

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

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

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

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

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

 

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

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

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

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

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


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

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


    % more /etc/vfstab 
    

例 9–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      -

Procedure完全バックアップに必要なテープ数を判別する

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

手順
  1. バックアップするクラスタノード上で、スーパーユーザーまたは同等の役割になります。

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


    # ufsdump S filesystem 
    
    S

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

    filesystem

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

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


例 9–2 必要なテープ数の判別

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


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

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

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

手順
  1. バックアップするクラスタノード上で、スーパーユーザーまたは同等の役割になります。

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


    # scswitch -z -D disk-device-group[,...] -h node[,...]
    
    -z

    切り替えを実行します。

    -D disk-device-group

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

    -h node

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

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


    # shutdown -g0 -y -i0
    
  4. ノードを再起動して、非クラスタモードにします。

    • 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
      
  5. ルート (/) ファイルシステムをバックアップします。

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


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


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

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

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


    # init 6
    

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

次に、ルート (/) ファイルシステムをテープデバイス /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

Procedureミラーのオンラインバックアップを実行する (Solstice DiskSuite/Solaris Volume Manager)

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

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

手順
  1. バックアップするクラスタノード上で、スーパーユーザーまたは同等の役割になります。

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


    # metaset -s setname
    
    -s setname

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

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


    # lockfs -w mountpoint 
    

    注 –

    ファイルシステムをロックする必要があるのは、UFS ファイルシステムがミラー上にある場合だけです。たとえば、Solstice DiskSuite メタデバイスや 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 コマンドを実行し、ファイルシステムを確認します。


    # 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
    

例 9–4 ミラーのオンラインバックアップの実行 (Solstice DiskSuite/Solaris Volume Manager)

次の例では、クラスタノード 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
[サブミラーを 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)
...

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

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

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

手順
  1. クラスタの任意のノードにログインし、クラスタのディスクグループの現在の主ノードでスーパーユーザーまたは同等の役割になります。

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


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


    # scstat -D
    
    -D

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

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


    # 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(1M) コマンドを使用し、手順 6 で停止させたデータサービスを再起動します。


    # scswitch -z -g resource-group[,...] -h node[,...]
    
  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 を使用し、一時ボリュームを削除します。


    # vxedit -rf rm bkup-vol
    
  14. scconf(1M) コマンドを使用し、ディスクグループ構成変更を登録します。


    # scconf -c -D name=diskgroup,sync
    

例 9–5 SPARC: ボリュームのオンラインバックアップの実行 (VERITAS Volume Manager)

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