Sun Cluster 3.1 Data Service for Network File System (NFS) ガイド

Sun Cluster HA for NFS のインストールと構成

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


注 –

その他のオプションでもデータサービスは登録および構成できます。これらのオプションについては、『Sun Cluster 3.1 データサービスの計画と管理』の「データサービスリソース管理用ツール」を参照してください。


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/inet/hosts ファイルに、すべての論理ホスト名が登録されていることを確認してください。

  6. クラスタノードの /etc/nsswitch.conf ファイルのネームサービスマッピングは、rpc 検索で NIS または NIS+ にアクセスする前に、最初にローカルファイルを検査するように構成します。

    このように構成することで、パブリックネットワークまたはネームサービスが利用できないとき、rpc 検索でのタイミング関連エラーを防止できます。

  7. 名前をローカルで解決する際、ホストが最初に NIS/DNS に問い合わせを行わず、代わりに成功した状態を直ちに返すように /etc/nsswitch.conf のホストエントリを変更します。

    このように変更することで、パブリックネットワークの障害時に HA-NFS は正しくフェイルオーバーできるようになります。


    # hosts: cluster files [SUCCESS=return] nis
    # rpc: files nis
    
  8. (省略可能) nfsd または lockd 起動オプションをカスタマイズします。

    1. nfsd オプションをカスタマイズするには、各クラスタノードで /etc/init.d/nfs.server ファイルを開きます。/usr/lib/nfs/nfsdで開始されるコマンド行を見つけて、希望する引数を追加します。

    2. lockd 起動オプションをカスタマイズするには、各クラスタノードで /etc/init.d/nfs.client ファイルを開きます。 /usr/lib/nfs/lockd で開始されるコマンド行を見つけて、希望する引数を追加します。


    注 –

    コマンド行は 1 行に収まるようにしてください。コマンド行を 2 行以上に分けることはできません。追加する引数は、nfsd(1M) および lockd(1M) のマニュアルページで説明されている有効なオプションでなければなりません。


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

    この手順を行うには論理ホスト名リソースを設定する必要があります。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

    各ノード上にある IP Networking Multipathing グループをコンマで区切ったリストで指定します (省略可能)。netiflist 内の各要素は、netif@node の書式にする必要があります。 netif は、sc_ipmp0 のような IP Networking Multipathing グループ名で指定できます。ノードは、sc_ipmp0@1 または sc_ipmp@phys-schost-1 のような、ノード名またはノード ID で識別できます。


    注 –

    現バージョンの Sun Cluster では、netif にアダプタ名を使用できません。


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

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


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

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

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


      注 –

      手順 13で作成する予定の NFS リソースを識別する resource 名接尾辞を選択します。リソース名は、そのリソースが実行するタスクを表す名前にします。たとえば、ユーザーのホームディレクトリを共有する 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)

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


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

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

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


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

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

    -j resource

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

    -g resource-group

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

    -t resource-type

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

  14. 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 リソースをリソースグループに作成する)
# sc
rgadm -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_timeout Postnet_stop_timeout Monitor_Start_timeout
Start_timeout Validate_timeout Monitor_Stop_timeout
Stop_timeout Update_timeout Monitor_Check_timeout

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


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

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

SUNW.HAStoragePlus リソースタイプは、Sun Cluster 3.0 5/02 で導入されました。 新しいリソースタイプは、SUNW.HAStorage と同じ機能を実行し、HA ストレージと Sun Cluster HA for NFS との間のアクションを同期します。 SUNW.HAStoragePlus には、ローカルファイルシステムを高可用性にする追加機能があります。 Sun Cluster HA for NFS は、フェイルオーバー機能を持ちディスク集約型であるため、SUNW.HAStoragePlus リソースタイプを設定する必要があります。

背景情報については、SUNW.HAStoragePlus(5) のマニュアルページ、および『 Sun Cluster 3.1 データサービスの計画と管理』の「 リソースグループとディスク装置グループとの関係」を参照してください。手順については、『Sun Cluster 3.1 データサービスの計画と管理』の「リソースグループとディスク装置グループとの間の起動を同期させる」を参照してください。5/02 以前の Sun Cluster 3.0 バージョンを使用している場合は、SUNW.HAStoragePlus ではなく SUNW.HAStorage を設定する必要があります。手順については、『Sun Cluster 3.1 データサービスの計画と管理』の「リソースグループとディスク装置グループとの間の起動を同期させる」を参照してください。