Sun Cluster 3.0 12/01 データサービスのインストールと構成

Sun Cluster HA for NFS の設定と構成

この手順では、scrgadm(1M) コマンドを使って Sun Cluster HA for NFS の登録と構成を行う方法を説明します。


注 -

このデータサービスの登録と構成は、他のいくつかの方法でも行うことができます。これらの方法については、「データサービスリソースを管理するためのツール」を参照してください。


Sun Cluster HA for NFS を設定して構成する前に、次のコマンドを使用し、Sun Cluster HA for NFS パッケージ SUNWscnfs がクラスタにインストールされているかを確認してください。


# pkginfo -l SUNWscnfs

パッケージがインストールされていない場合は、「Sun Cluster HA for NFS パッケージのインストール」を参照してください。

Sun Cluster HA for NFS を設定する

  1. クラスタメンバーでスーパーユーザーになります。

  2. すべてのクラスタノードがオンラインであることを確認します。


    # scstat -n
    
  3. Pathprefix ディレクトリを作成します。

    Pathprefix ディレクトリは、Sun Cluster HA for NFS が管理情報とステータス情報の保持に使用するクラスタファイルシステム上に配置されます。

    ユーザーは任意のディレクトリを Pathprefix として指定できます。ただし、作成するリソースグループごとに admin-dir ディレクトリを手動で作成する必要があります(例: ディレクトリ /global/nfs)。


    # mkdir -p /global/admin-dir
    
  4. NFS リソースを含むフェイルオーバーリソースグループを作成します。


    # scrgadm -a -g resource-group -y Pathprefix=/global/admin-dir [-h nodelist]
    -a

    新しい構成を追加することを指定します。

    -g resource-group

    フェイルオーバーリソースグループを指定します。

    -y Pathprefix=path

    Sun Cluster HA for NFS が管理情報とステータス情報の保持に使用する、クラスタファイルシステム上のディレクトリを指定します。

    [-h nodelist]

    マスターになり得る物理ノードの名前または ID をコンマで区切ったリストを指定します (オプション)。フェイルオーバー時に Resource Group Manager (RGM) が主ノードとして選択する順番がこのリスト上のノードの順序で決まります。

  5. すべての論理ホスト名リソースがネームサービスデータベースに追加されているかどうかを確認します。

    ネームサービスの検索が原因で障害が発生するのを防ぐために、サーバーおよびクライアントの /etc/hosts ファイルに、すべての論理ホスト名が登録されていることを確認してください。

  6. サーバーの /etc/nsswitch.conf のネームサービスマッピングは、NIS または NIS+ にアクセスする前に、最初にローカルファイルを検査するように構成してください。

    このように構成することで、タイミングに関連するエラーを防止でき、ifconfig および statd が正しく論理ホスト名を解決できます。

  7. 希望する論理ホスト名リソースをフェイルオーバーリソースグループに追加します。

    この手順を行うには論理ホスト名リソースを設定する必要があります。Sun Cluster HA for NFS で使用される論理ホスト名が SharedAddress リソースタイプになることはありません


    # scrgadm -a -L -g resource-group -l logical-hostname, ...  [-n netiflist]
    -a

    新しい構成を追加することを指定します。

    -L -g resource-group

    論理ホスト名リソースを配置するリソースグループを指定します。

    -l logical-hostname, ...

    追加する論理ホスト名リソースを指定します。

    -n netiflist

    各ノード上の NAFO グループをコンマで区切って指定します (オプション)。netiflist には、リソースグループの nodelist にあるノードをすべて列挙する必要があります。このオプションを指定しない場合は、scrgadm (1M) コマンドは、nodelist 内の各ノードのホスト名 リストによって指定されるサブネット上からネットアダプタを見つけようとします。例: -n nafo0@nodename, nafo0@nodename2

  8. 任意のクラスタノードから、NFS 構成ファイル用のディレクトリ構造を作成します。

    手順 4Pathprefix プロパティで指定したディレクトリの下に、管理サブディレクトリを作成してください (例: /global/nfs/SUNW.nfs)。


    # mkdir Pathprefix/SUNW.nfs
  9. 手順 8 で作成した SUNW.nfs ディレクトリに dfstab.resource ファイルを作成し、共有オプションを設定します。

    1. Pathprefix/SUNW.nfs/dfstab. resource ファイルを作成します。

      このファイルには、共有パス名が指定された一連の share コマンドが入ります。共有パスは、クラスタファイルシステム上のサブディレクトリになります。


      注 -

      作成する予定の NFS リソース (手順 11) を指定する resource-name 接尾辞を選択します。リソース名は、そのリソースが実行するタスクを表す名前にします。たとえば、ユーザーのホームディレクトリを共有する NFS には、user-nfs-home という名前にします。


    2. 共有されるように作成した各パスに対し、共有オプションを設定します。

      このファイルで使用する書式は、/etc/dfs/dfstab ファイルで使用される書式と同じです。


      share [-F nfs] [-o] specific_options [-d "description"] pathname 
      
      -F nfs

      ファイルシステムタイプを nfs に指定します。

      -o specific_options

      すべてのクライアントに読み取りと書き込みのアクセス権を付与します。オプションについては、share(1M) のマニュアルページを参照してください。Sun Cluster には rw オプションを設定します。

      -d description

      追加するファイルシステムについての説明です。

      pathname

      共有するファイルシステムを指定します。

    共有オプションを設定する場合、以下の点を考慮してください。

    • 共有オプションを構成するときは、root オプションの使用と、rorw オプションを組み合わせて使用することは避けてください。

    • クラスタインターコネクト上のホスト名にアクセス権を付与しないでください。

      Sun Cluster HA for NFS による監視が十分に機能できるように、読み取りと書き込みの両方のアクセス権をすべてのクラスタノードと論理ホストに付与してください。ただし、ファイルシステムへの書き込みを制限したり、ファイルシステム全体を読み取り専用にすることはできます。この場合、Sun Cluster HA for NFS 障害モニターは、書き込みアクセス権なしで監視を実行できます。

    • share コマンドでクライアントリストを指定する場合は、クラスタが接続するすべてのパブリックネットワーク上のすべてのクライアント用のホスト名のほかに、そのクラスタと関連付けられるすべての物理ホスト名と論理ホスト名を含めてください。

    • share コマンドで、個々のホスト名を使用する代わりにネットグループを使用する場合は、これらすべてのクラスタホスト名を適切なネットグループに追加してください。

    share -o rw コマンドは、Sun Cluster ソフトウェアが使用するホスト名を含むすべてのクライアントに対する書き込みアクセス権を付与します。このコマンドにより、Sun Cluster HA for NFS 障害モニターは効果を最大限に発揮して動作するようになります。詳細は、各マニュアルページを参照してください。

    • dfstab(4)

    • share(1M)

    • share_nfs(1M)

  10. NFS リソースタイプを登録します。


    # scrgadm -a -t resource-type
    
    -a -t resource-type

    指定したリソースタイプを追加します。Sun Cluster HA for NFS の場合、リソースタイプは SUNW.nfs です。

  11. NFS リソースをフェイルオーバーリソースグループに作成します。


    # scrgadm -a -j resource -g resource-group -t resource-type
    
    -a

    構成を追加することを指定します。

    -j resource

    手順 9 で定義した、追加するリソースの名前を指定します。任意の名前を指定できますが、クラスタ内で一意にする必要があります。

    -g resource-group

    このリソースが追加される、作成済みのリソースグループの名前を指定します。

    -t resource-type

    このリソースが属するリソースタイプの名前を指定します。この名前は、登録されているリソースタイプの名前にする必要があります。

  12. scswitch (1M) コマンドを実行して次の作業を行います。

    • リソースとリソースモニターを有効にする。

    • リソースグループを管理状態にする。

    • リソースグループをオンライン状態に切り替える。


    # scswitch -Z -g resource-group
    

例 - Sun Cluster HA for NFS の設定と構成

次に、Sun Cluster HA for NFS を設定して構成する方法を示します。


(論理ホストリソースグループを作成し、NFS (Pathprefix) が使用する管理ファイルへのパスを指定する)
# scrgadm -a -g resource-group-1 -y Pathprefix=/global/nfs
 
(論理ホスト名リソースを論理ホストリソースグループに追加する)
# scrgadm -a -L -g resource-group-1 -l schost-1
 
(Sun Cluster HA for NFS 構成ファイルを含むディレクトリ構造を作成する)
# mkdir -p /global/nfs/SUNW.nfs
 
(dfstab.resource ファイルを nfs/SUNW.nfs ディレクトリの下に作成し、共有オプションを設定する)
# share -F nfs -o rw=engineering -d "home dirs" nfs/SUNW.nfs
 
(NFS リソースタイプを登録する)
# scrgadm -a -t SUNW.nfs
 
(NFS リソースをリソースグループに作成する)
# scrgadm -a -j r-nfs -g resource-group-1 -t SUNW.nfs
 
(リソースとそのモニターを有効にし、リソースグループを管理し、リソースグループをオンライン状態に切り替える)
# scswitch -Z -g resource-group-1

次の作業

NFS ファイルシステムの共有オプションを設定するには、「NFS ファイルシステムの共有オプションを変更する」を参照してください。拡張プロパティの検討や設定については、「Sun Cluster HA for NFS 拡張プロパティの構成」を参照してください。

NFS ファイルシステムの共有オプションを変更する

share -o コマンドで rwrw=roro= オプションを使用する場合は、すべての物理ホストまたはすべての Sun Cluster サーバーと関連付けられる netgroups にアクセス権を付与してください。NFS 障害モニターが効果的に動作します。

share(1M) コマンドで、netgroups を使用する場合は、Sun Cluster のすべてのホスト名を適切な netgroup に追加してください。理想的には、読み取りと書き込みの両方のアクセス権をすべての Sun Cluster ホスト名に付与し、NFS 障害検証機能が正常に動作するようにします。


注 -

共有オプションを変更する前に、share_nfs(1M) のマニュアルページを参照し、有効なオプションの組み合わせを理解してください。


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

  2. NFS リソースの障害モニターを無効にします。


    # scswitch -n -M -j resource
    
    -M

    リソースモニターを無効にします。

  3. 新しい share オプションをテストします。

    1. 新しい共有オプションで dfstab.resource ファイルを編集する前に、新しい share コマンドでオプションの組み合わせが有効であることを確認してください。


      # share -F nfs [-o] specific_options [-d "description"] pathname
      
      -F nfs

      ファイルシステムタイプを NFS に指定します。

      -o specific_options

      オプションを指定します。読み取りと書き込みの両方のアクセス権をすべてのクライアントに付与する rw の使用を推奨します。

      -d description

      追加するファイルシステムについての説明です。

      pathname

      共有するファイルシステムを指定します。

    2. 新しい share コマンドの実行に失敗した場合は、直ちに以前のオプションを使用してもう一度 share コマンドを実行してください。新しい share コマンドが正しく実行された場合は、手順 4へ進んでください。

  4. 新しい共有オプションを使用し、dfstab.resource ファイルを編集します。

    1. dfstab.resource ファイルからパスを削除する場合は、以下の手順を順に実行してください。

      1. unshare (1M) コマンドを実行します。

      2. dfstab.resource ファイルから、削除したいパスの share コマンドを削除します。


      # unshare [-F nfs] [-o specific_options] pathname
      # vi dfstab.resource
      
      -F nfs

      ファイルシステムタイプを NFS に指定します。

      -o specific_options

      NFS ファイルシステム固有のオプションを指定します。

      pathname

      無効にするファイルシステムを指定します。

    2. dfstab.resource ファイルにパスを追加する場合またはこのファイルの既存のパスを変更する場合は、マウントポイントが正しいことを確認してから、dfstab.resource ファイルを編集します。


    注 -

    このファイルで使用する書式は、/etc/dfs/dfstab ファイルで使用する書式と同じです。各行は、share コマンドから成ります。


  5. NFS リソースで障害モニターを有効にします。


    # scswitch -e -M -j resource
    

Sun Cluster HA for NFS メソッドのタイムアウトを調整する

Sun Cluster HA for NFS メソッドが終了するために要する時間は、dfstab.resource ファイルに含まれる、リソースによって共有されるパスの数に依存します。これらのメソッドのデフォルトのタイムアウト値は、300 秒です。

一般には、共有される各パスのメソッドタイムアウト値に 10 秒を割り当てます。デフォルトのタイムアウトは 30 の共有パスを処理するように設計されています。

共有パスの数が 30 を超える場合は、次のメソッドのタイムアウト値を更新してください。

Prenet_start_timeoutPostnet_stop_timeoutMonitor_Start_timeout
Start_timeoutValidate_timeoutMonitor_Stop_timeout
Stop_timeoutUpdate_timeoutMonitor_Check_timeout

メソッドタイムアウトを変更するには、次のように、scrgadm-c オプションを使用します。


% scrgadm -c -j resource -y Prenet_start_timeout=500

SUNW.HAStorage リソースタイプを構成する

SUNW.HAStorage リソースタイプは、HA 記憶装置と Sun Cluster HA for NFS 間の動作を同期させます。Sun Cluster HA for NFS はディスクに負荷がかかることが多いので、SUNW.HAStorage リソースタイプの設定を強く推奨します。

詳細は、SUNW.HAStorage(5) のマニュアルページおよび 「リソースグループとディスクデバイスグループの関連性」を参照してください。手順については、「新しいリソース用に SUNW.HAStorage リソースタイプを設定する」を参照してください。