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

第 8 章 クラスタのバックアップと復元

この章では、次のような順を追った手順を説明します。

クラスタのバックアップ

表 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

クラスタファイルの復元の概要

ufsrestore コマンドは、ufsdump コマンドを使用して作成されたバックアップから、現在の作業ディレクトリにファイルをコピーします。ufsrestore を使用すると、レベル 0 のダンプとそれ以降の増分ダンプからファイルシステム階層全体を読み込み直したり、任意のダンプテープから個々のファイルを復元できます。スーパーユーザーとして ufsrestore を実行すると、元の所有者、最終修正時刻、モード (アクセス権) を保持したままファイルを復元できます。

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

クラスタファイルの復元の作業マップ

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

作業 

参照箇所 

Solstice DiskSuite の場合、Solaris の復元手順に従って対話形式でファイルを復元する。 

「個々のファイルを対話形式で復元する (Solstice DiskSuite)」

Solstice DiskSuite の場合、ルート (/) ファイルシステムを復元する。

「ルート (/) ファイルシステムを復元する (Solstice DiskSuite)」

 

「メタデバイスに存在していたルート (/) ファイルシステムを復元する (Solstice DiskSuite) 」

VERITAS Volume Manager の場合、非カプセル化ルート (/) ファイルシステムを復元する。 

「非カプセル化ルート (/) ファイルシステムを復元する (VERITAS Volume Manager) 」

VERITAS Volume Manager の場合、カプセル化ルート (/) ファイルシステムを復元する。 

「カプセル化ルート (/) ファイルシステムを復元する (VERITAS Volume Manager) 」

個々のファイルを対話形式で復元する (Solstice DiskSuite)

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

  1. 復元するクラスタノード上でスーパーユーザーになります。

  2. 復元するファイルを使用しているデータサービスをすべて停止します。


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

  3. ufsrestore コマンドを使用してファイルを復元します。

ルート (/) ファイルシステムを復元する (Solstice DiskSuite)

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


注 -

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


  1. 復元するノード以外で、メタセットへのアクセスを持つクラスタノード上でスーパーユーザーになります。

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

    このコマンドは、削除するノード以外のメタセットのノードから実行します。


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

    -s setname

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

    -f

    強制的に実行します。

    -d

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

    -h nodelist

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

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

    ディスク交換手順については、サーバーに付属のマニュアルを参照してください。

  4. 復元するノードを起動します。

    • Solaris CD-ROM を使用している場合は、次のコマンドを実行します。


      ok boot cdrom -s
      

    • Solaris JumpStartTM サーバーを使用している場合は、次のコマンドを実行します。


      ok boot net -s
      

  5. format(1M) コマンドを使用し、ルートディスクのすべてのパーティションとスワップを作成します。

    障害の発生したディスクに存在していた元のパーティションの分割方式を再作成します。

  6. newfs(1M) コマンドを使用し、必要に応じてルート (/) ファイルシステムやその他のファイルシステムを作成します。

    障害の発生したディスクに存在していた元のファイルシステムを再作成します。


    注 -

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


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


    # mount device temp-mountpoint
    

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


    # cd temp-mountpoint
    # ufsrestore rvf dump-device
    # rm restoresymtable
    # cd /
    # umount temp-mountpoint
    # fsck raw-disk-device
    

    これでファイルシステムが復元されました。

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


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

  10. ノードをシングルユーザーモードで再起動します。


    # reboot -- "-s"
    

  11. scdidadm コマンドを使用し、ディスク ID を置換します。


    # scdidadm -R rootdisk
    

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


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

    -c copies

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

    -f raw-disk-device

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

    -a

    複製を追加します。

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

    1. 再起動します。


      # reboot
      

      この起動中、次のような指示で終了するエラーまたは警告メッセージが表示されることがあります。


      Type control-d to proceed with normal startup,
      (or give root password for system maintenance):

    2. Control-D キーを押してマルチユーザーモードで起動します。

  14. 復元したノード以外のクラスタノードから、metaset(1M) コマンドを使用し、復元したノードをすべてのメタセットに追加します。


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

    -a

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

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

例 - ルート (/) ファイルシステムの復元 (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 に再作成されます。


[復元するノード以外のクラスタノードでスーパーユーザーになる]
[メタセットからノードを削除する]
phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1
[障害の発生したディスクを交換してノードを起動する]
ok boot cdrom -s
[format および newfs を使用してパーティションとファイルシステムを再作成する]
[一時マウントポイントにルートファイルシステムをマウントする]
# mount /dev/dsk/c0t0d0s0 /a
[ルートファイルシステムを復元する]
# cd /a
# ufsrestore rvf /dev/rmt/0
# rm restoresymtable
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s0
[新しい起動ブロックをインストールする]
# /usr/sbin/installboot /usr/platform/`uname ¥
-狸/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0
[シングルユーザーモードで再起動する]
# reboot -- "-s"
[ディスク ID を置換する]
# scdidadm -R /dev/dsk/c0t0d0
[状態データベースの複製を再作成する]
# metadb -c 3 -af /dev/rdsk/c0t0d0s4
# reboot
Press CTL-d to boot into multiuser mode.
[ノードをメタセットに追加し直す]
phys-schost-2# metaset -s schost-1 -a -h phys-schost-1

メタデバイスに存在していたルート (/) ファイルシステムを復元する (Solstice DiskSuite)

この手順を使用し、バックアップ実行時にメタデバイスに存在していたルート (/) ファイルシステムを復元します。この手順は、破損したルートディスクを新しいディスクに交換する場合などに実行します。復元するノードは起動しないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。


注 -

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


  1. 復元するノード以外で、メタセットへのアクセスを持つクラスタノード上でスーパーユーザーになります。

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


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

    -s setname

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

    -f

    強制的に実行します。

    -d

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

    -h nodelist

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

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

    ディスク交換手順については、サーバーに付属のマニュアルを参照してください。

  4. 復元するノードを起動します。

    • Solaris CD-ROM を使用している場合は、次のコマンドを実行します。


      ok boot cdrom -s
      

    • JumpStart サーバーを使用している場合は、次のコマンドを実行します。


      ok boot net -s
      

  5. format(1M) コマンドを使用し、ルートディスクのすべてのパーティションとスワップを作成します。

    障害の発生したディスクに存在していた元のパーティションの分割方式を再作成します。

  6. newfs(1M) コマンドを使用し、必要に応じてルート (/) ファイルシステムやその他のファイルシステムを作成します。

    障害の発生したディスクに存在していた元のファイルシステムを再作成します。


    注 -

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


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


    # mount device temp-mountpoint
    

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


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

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


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

  10. /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) 

  11. /temp-mountpoint/etc/vfstab ファイルを編集し、ルートエントリを、メタデバイスから、そのメタデバイスの一部であるルートディスクの各ファイルシステムに対応する通常のスライスに変更します。


    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       -

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


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

  13. ノードをシングルユーザーモードで再起動します。


    # reboot -- "-s"
    

  14. scdidadm コマンドを使用し、ディスク ID を置換します。


    # scdidadm -R rootdisk
    

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


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

    -c copies

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

    -af raw-disk-device

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

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

    1. 再起動します。


      # reboot
      

      この起動中、次のような指示で終了するエラーまたは警告メッセージが表示されることがあります。


      Type control-d to proceed with normal startup,
      (or give root password for system maintenance):

    2. Control-D キーを押してマルチユーザーモードで起動します。

  17. 復元したノード以外のクラスタノードから、metaset(1M) コマンドを使用し、復元したノードをすべてのメタセットに追加します。


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

    -a

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

    Solstice DiskSuite のマニュアルに従って、ルート (/) のメタデバイスおよびミラーを設定します。

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

例 - メタデバイスに存在していたルート (/) ファイルシステムを復元する (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 に再作成されます。


[復元するノード以外の、メタセットにアクセスできるクラスタノード上でスーパーユーザーになる]
[メタセットからノードを削除する]
phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1
[障害の発生したディスクを交換してノードを起動する]
ok boot cdrom -s
[format および newfs を使用してパーティションとファイルシステムを再作成する]
[一時マウントポイントにルートファイルシステムをマウントする]
# mount /dev/dsk/c0t0d0s0 /a
[ルートファイルシステムを復元する]
# cd /a
# ufsrestore rvf /dev/rmt/0
# rm restoresymtable
[新しい起動ブロックをインストールする]
# /usr/sbin/installboot /usr/platform/`uname ¥
-狸/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0
[MDD ルート情報用の /temp-mountpoint/etc/system ファイルの行を削除する]
* 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       -
[一時ファルシステムをマウント解除して raw ディスクデバイスを確認する]
]
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s0
[シングルモードで再起動する]
# reboot -- "-s"
[ディスク ID を置換する]
# scdidadm -R /dev/dsk/c0t0d0
[状態データベース複製を再作成する]
# metadb -c 3 -af /dev/rdsk/c0t0d0s4
# reboot
Type CTRL-d to boot into multiuser mode.
[ノードをメタセットに追加し直す]
phys-schost-2# metaset -s schost-1 -a -h phys-schost-1

非カプセル化ルート (/) ファイルシステムを復元する (VERITAS Volume Manager)

この手順を使用し、非カプセル化ルート (/) ファイルシステムをノードに復元します。復元するノードは起動しないでください。復元手順を実行する前に、クラスタが正常に動作していることを確認してください。


注 -

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


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

    ディスク交換手順については、サーバーに付属のマニュアルを参照してください。

  2. 復元するノードを起動します。

    • Solaris CD-ROM を使用している場合は、次のコマンドを実行します。


      ok boot cdrom -s
      

    • JumpStart サーバーを使用している場合は、次のコマンドを実行します。


      ok boot net -s
      

  3. format(1M) コマンドを使用し、ルートディスクのすべてのパーティションとスワップを作成します。

    障害の発生したディスクに存在していた元のパーティションの分割方式を再作成します。

  4. newfs(1M) コマンドを使用し、必要に応じてルート (/) ファイルシステムやその他のファイルシステムを作成します。

    障害の発生したディスクに存在していた元のファイルシステムを再作成します。


    注 -

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


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


    # mount device temp-mountpoint
    

  6. バックアップからルート (/) ファイルシステムを復元し、ファイルシステムをマウント解除して確認します。


    # cd temp-mountpoint
    # ufsrestore rvf dump-device
    # rm restoresymtable
    # cd /
    # umount temp-mountpoint
    # fsck raw-disk-device
    

    これでファイルシステムが復元されました。

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


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

  8. ノードをシングルユーザーモードで再起動します。

    1. 再起動します。


      # reboot -- "-s"
      

      この起動中、次のような指示で終了するエラーまたは警告メッセージが表示されることがあります。


      Type control-d to proceed with normal startup,
      (or give root password for system maintenance):

    2. root パスワードを入力します。

  9. ルートディスクグループがルートディスクの単一のスライスにあることを確認します。

    • 単一のスライスにある場合は、ルートディスクグループを作成および設定します。


      # vxdctl init
      # vxdg init rootdg
      # vxdctl add disk diskslice type=simple
      # vxdisk -f init diskslice type=simple
      # vxdg adddisk diskslice
      # vxdctl enable
      

    • 単一のスライスにない場合は、手順 10 に進みます。

  10. scdidadm コマンドを使用し、ディスク ID を更新します。


    # scdidadm -R /dev/rdsk/disk-device
    

  11. Control-D キーを押してマルチユーザーモードで再起動します。

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

例 - 非カプセル化ルート (/) ファイルシステムの復元 (VERITAS Volume Manager)

次に、非カプセル化ルート (/) ファイルシステムがテープデバイス /dev/rmt/0 からノード phys-schost-1 に復元される例を示します。


[障害の発生したディスクを交換してノードを起動する]
ok boot cdrom -s
[format および newfs を使用してパーティションとファイルシステムを作成する]
[一時マウントポイントにルートファイルシステムをマウントする]
# mount /dev/dsk/c0t0d0s0 /a
[ルートファイルシステムを復元する]
# cd /a
# ufsrestore rvf /dev/rmt/0
# rm restoresymtable
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s0
[新しい起動ブロックをインストールする]
# /usr/sbin/installboot /usr/platform/`uname ¥
-狸/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0
[シングルユーザーモードで再起動する]
# reboot -- "-s"
[ルートディスクグループが単一のスライスにある場合は、新しいルートディスク
 グループを作成する]
# vxdctl init
# vxdg init rootdg
# vxdctl add disk c0t0d0s4 type=simple
# vxdisk -f init c0t0d0s4 type=simple
# vxdg adddisk c0t0d0s4
# vxdctl enable
[ディスク ID を更新する]
# scdidadm -R /dev/rdsk/c0t0d0
[CTRL + d キーを押してマルチユーザーモードを再開する]

カプセル化ルート (/) ファイルシステムを復元する (VERITAS Volume Manager)

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


注 -

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


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

    ディスク交換手順については、サーバーに付属のマニュアルを参照してください。

  2. 復元するノードを起動します。

    • Solaris CD-ROM を使用している場合は、次のコマンドを実行します。


      ok boot cdrom -s
      
    • JumpStart サーバーを使用している場合は、次のコマンドを実行します。


      ok boot net -s
      

  3. format(1M) コマンドを使用し、ルートディスクのすべてのパーティションとスワップを作成します。

    障害の発生したディスクに存在していた元のパーティションの分割方式を再作成します。

  4. newfs(1M) コマンドを使用し、必要に応じてルート (/) ファイルシステムやその他のファイルシステムを作成します。

    障害の発生したディスクに存在していた元のファイルシステムを再作成します。


    注 -

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


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


    # mount device temp-mountpoint
    

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


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

  7. 空の install-db ファイルを作成します。

    これによって、次回起動時にノードが VxVM インストールモードになります。


    # touch /temp-mountpoint/etc/vx/reconfig.d/state.d/install-db
    

  8. /temp-mountpoint/etc/system ファイルの次のエントリを削除またはコメントアウトします。


    * rootdev:/pseudo/vxio@0:0
    * set vxio:vol_rootdev_is_volume=1

  9. /temp-mountpoint/etc/vfstab ファイルを編集し、すべての VxVM マウントポイントをルートディスクの標準ディスクデバイス (/dev/dsk/c0t0d0s0 など) に置換します。


    Example:
    Change from-
    /dev/vx/dsk/rootdg/rootvol /dev/md/rdsk/rootdg/rootvol /      ufs   1     no -
     
    Change to-
    /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0  / ufs   1     no       -

  10. 一時ファイルシステムをマウント解除してファイルシステムを確認します。


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

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


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

  12. ノードをシングルユーザーモードで再起動します。


    # reboot -- "-s"
    

  13. scdidadm(1M) を使用し、ディスク ID を更新します。


    # scdidadm -R /dev/rdsk/c0t0d0
    

  14. ディスクをカプセル化して再起動するために、vxinstall を実行します。


    # vxinstall
    

  15. マイナー番号が他のシステムと衝突している場合は、広域デバイスをマウント解除し、ディスクグループに別のマイナー番号を割り当てます。

    • クラスタノードの広域デバイスファイルシステムをマウント解除します。


      # umount /global/.devices/node@nodeid
      

    • クラスタノードの rootdg ディスクグループに別のマイナー番号を割り当てます。


      # vxdg reminor rootdg 100
      

  16. ノードを停止し、クラスタモードで再起動します。


    # shutdown -g0 -i6 -y
    

例 - カプセル化ルート (/) ファイルシステムの復元 (VERITAS Volume Manager)

次に、カプセル化ルート (/) ファイルシステムがテープデバイス /dev/rmt/0 からノード phys-schost-1 に復元される例を示します。


[障害の発生したディスクを交換してノードを起動する]
ok boot cdrom -s
[format および newfs を使用してパーティションとファイルシステムを作成する]
[一時マウントポイントにルートファイルシステムをマウントする]
# mount /dev/dsk/c0t0d0s0 /a
[ルートファイルシステムを復元する]
# cd /a
# ufsrestore rvf /dev/rmt/0
# rm restoresymtable
[空の install-db ファイルを作成する]
# touch /a/etc/vx/reconfig.d/state.d/install-db
[一時ファイルシステムで /etc/system を編集するか、または次のエントリをコメントアウトする]
	# rootdev:/pseudo/vxio@0:0
	# set vxio:vol_rootdev_is_volume=1
[一時ファイルシステムの /etc/vfstab を編集する]
Example:
Change from-
/dev/vx/dsk/rootdg/rootvol /dev/md/rdsk/rootdg/rootvol / ufs 1 no-
 
Change to-
/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0  / ufs   1     no       -
[一時ファイルシステムをマウント解除してファイルシステムを確認する]
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s0
[新しい起動ブロックをインストールする]
# /usr/sbin/installboot /usr/platform/`uname ¥
-狸/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0
[シングルユーザーモードで再起動する]
# reboot -- "-s"
[ディスク ID を更新する]
# scdidadm -R /dev/rdsk/c0t0d0
[vxinstall を実行する]
# vxinstall
Choose to encapsulate the root disk.
[マイナー番号が衝突している場合は、rootdg ディスクグループに別のマイナー番号を割り当てる]
# umount /global/.devices/node@nodeid
# vxdg reminor rootdg 100
# shutdown -g0 -i6 -y

次の作業

カプセル化されているルートディスクをミラー化する方法については、『Sun Cluster 3.0 12/01 ソフトウェアのインストール』を参照してください。