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

メタデバイスにあったルート (/) ファイルシステムを復元する (Solstice DiskSuite/Solaris Volume Manager)

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


注 –

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


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

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


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

    -s setname

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

    -f

    強制的に実行します。

    -d

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

    -h nodelist

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

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

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

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

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

      • SPARC: OpenBoot PROM の ok プロンプトで、次のコマンドを入力します。


         ok boot cdrom -s
        

      • x86: システムの CD ドライブに CD を挿入し、システムを停止して、電源を切って入れ直すことにより、システムを起動します。 「Current Boot Parameters」画面で次のコマンドを入力します。


                             <<< 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: OpenBoot PROM の ok プロンプトで、次のコマンドを入力します。


        ok boot net -s
        

      • x86: システムをシャットダウンし、電源を切ってから、また入れ直してシステムをブートします。 「Current Boot Parameters」画面で次のコマンドを入力します。


                             <<< 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 ファイルを編集し、ルートエントリを、メタデバイスから、そのメタデバイスの一部であるルートディスクの各ファイルシステムに対応する通常のスライスに変更します。


    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 -- "-s"
    

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


    # scdidadm -R rootdisk
    

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


    # 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 コマンドを使用し、復元したノードをすべてのメタセットに追加します。


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

    -a

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

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

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

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


[復元しようとするノード以外のクラスタノード (メタセットへのアクセス権が必要) でスーパーユーザーになる.]
[ノードをメタセットから削除する:]
phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1
[障害のあるディスクを交換し、ノードを起動する:]

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


[formatnewfs を使用してパーティションとファイルシステムを再作成する]
[一時マウントポイント上でルートファイルシステムをマウントする:]
# mount /dev/dsk/c0t0d0s0 /a
[ルートファイルシステムを復元する:]
# cd /a
# ufsrestore rvf /dev/rmt/0
# rm restoresymtable
[新しいブートブックをインストールする:]
# /usr/sbin/installboot /usr/platform/`uname \
-i`/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)
[/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       -
[一時ファイルシステムをアンマウントし、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 Control-d to boot into multiuser mode.
[ノードを再びメタセットに追加する:]
phys-schost-2# metaset -s schost-1 -a -h phys-schost-1