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

ProcedureSolstice DiskSuite メタデバイスまたは Solaris Volume Manager 上に存在していたルート (/) ファイルシステムを復元する

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


注 –

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


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

この手順では、長形式の Sun Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。コマンドのリストとその短縮形については、付録 B Sun Cluster オブジェクト指向コマンドを参照してください。

  1. ディスクセットへのアクセス権があるクラスタノード、ただし復元するノード以外のノード上で、スーパーユーザーになるか、RBAC の承認 solaris.cluster.modifiy を提供する役割になります。

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

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


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

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

    -f

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

    -d

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

    -h nodelist

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

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

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

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

    • 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 JumpStartTM サーバーを使用している場合は、次の点に注意してください。

      • 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
        
  5. format コマンドを使用し、ルートディスクのすべてのパーティションとスワップ空間を作成します。

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

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

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


    注 –

    /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 -i`/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 ファイルを編集して、ルートエントリを Solstice DiskSuite メタデバイスまたは 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       -
  12. 一時ファイルシステムをマウント解除し、raw ディスクデバイスを確認します。


    # cd /
    # umount temp-mountpoint
    # fsck raw-disk-device
    
  13. ノードをマルチユーザーモードで再起動します。


    # reboot
    
  14. ディスク ID を交換します。


    # cldevice repair rootdisk
    
  15. metadb コマンドを使用し、状態データベースの複製を再作成します。


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

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

    -af raw-disk-device

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

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


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

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

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

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


例 11–7 Solstice DiskSuite メタデバイスまたは 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 -f -d -h phys-schost-1
[Replace the failed disk and boot the node:]

次の操作で、Solaris OS CD からノードを起動します。


[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