Sun Cluster 3.1 Data Service for Domain Name Service (DNS) ガイド

Installing and Configuring Sun Cluster HA for Domain Name Service (DNS)

この章では、Sun Cluster サーバー上で Sun Cluster HA for Domain Name Service (DNS) データサービスをインストールし構成するための手順を説明します。

この章の内容は次のとおりです。

Sun Cluster HA for DNS は、フェイルオーバーデータサービスとして構成する必要があります。データサービス、リソースグループ、リソース、およびその他の関連トピックについての一般的な情報は、『Sun Cluster 3.1 データサービスの計画と管理』の「Sun Cluster データサービスの計画」および『Sun Cluster 3.1 の概念』を参照してください。


注 –

このデータサービスのインストールと構成には、SunPlex Manager を使用できます。詳細については、SunPlex Manager のオンラインヘルプを参照してください。


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

インストール作業と構成作業を説明している節は次のとおりです。

表 1–1 作業マップ: Sun Cluster HA for NFS のインストールと構成

作業 

参照箇所 

DNS のインストール 

DNS のインストール

Sun Cluster HA for DNS パッケージのインストール 

Sun Cluster HA for DNS パッケージのインストール

Sun Cluster HA for DNS の構成と起動 

Sun Cluster HA for DNS の登録と構成

リソース拡張プロパティの構成 

Sun Cluster HA for DNS 拡張プロパティ

障害モニターの情報の表示 

Sun Cluster HA for DNS 障害モニター

DNS のインストール

この節では、DNS のインストール手順と、DNS を Sun Cluster HA for DNS として実行する方法について説明します。

Sun Cluster HA for DNS は、Solaris 8 オペレーティング環境にバンドルされているインターネットドメインネームサーバーソフトウェア (in.named) を使用します。DNS の設定については、in.named(1M) のマニュアルページを参照してください。Sun Cluster 構成での違いは、次のとおりです。

DNS をインストールする

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

  2. DNS サービスを提供するネットワークリソースを決定します。

    この名前は、Sun Cluster ソフトウェアのインストール時に設定した IP アドレス (論理ホスト名または共有アドレス) でなければなりません。ネットワークリソースの詳細については、『Sun Cluster 3.1 の概念』を参照してください。

  3. DNS 実行可能ファイル (in.named) が /usr/sbin ディレクトリにあることを確認します。

    DNS 実行可能ファイルは、Solaris 8 オペレーティング環境にバンドルされており、インストール前は /usr/sbin ディレクトリにあります。

  4. ディレクトリ構造 /global/dns/named をクラスタファイルシステムに作成して、DNS 構成ファイルとデータベースファイルを保持します。

    クラスタファイルシステムの設定については、『Sun Cluster 3.1 ソフトウェアのインストール』を参照してください。


    # mkdir -p /global/dns/named
    
  5. DNS 用の構成ファイルである named.conf または named.boot を、/global/dns/named ディレクトリに置きます。

    DNS をすでにインストール済みの場合は、既存の named.conf または named.boot ディレクトリを /global/dns/named ディレクトリにコピーできます。インストールされていない場合は、このディレクトリに named.conf ファイルを作成してください。named.conf または named.boot に登録できるエントリの種類については、in.named(1M) のマニュアルページを参照してください。named.conf または named.boot のいずれか 1 つ、または両ファイルが存在している必要があります。

  6. named.conf ファイルに指定されているすべての DNS ファイルを /global/dns/named ディレクトリ下に置きます。

  7. Sun Cluster HA for DNS のすべてのクライアント上で、/etc/resolv.conf ファイルに DNS サービスのネットワークリソースについてのエントリを作成します。

    すべてのノードで、/etc/resolv.conf を編集してネットワークリソースを登録します。次の例は、schost-1.eng.sun.com という論理ホスト名の 4 ノード構成 (phys-schost-1 phys-schost-2phys-schost-3phys-schost-4 ) のエントリを示しています。


    domain eng.sun.com
     
    ; schost-1.eng.sun.com
    
    (ファイルがすでに存在する場合はこのエントリのみ追加する)
     
    nameserver 192.29.72.90
     
    ; phys-schost-2.eng
    nameserver 129.146.1.151
     
    ; phys-schost-3.eng
    nameserver 129.146.1.152
     
    ; phys-schost-4.eng
    nameserver 129.144.134.19
     
    ; phys-schost-1.eng
    nameserver 129.144.1.57

    ドメイン名の直後にネットワークリソースのエントリを作成します。DNS は、resolv.conf ファイルにリストされている順番にアドレスを使用してサーバーへのアクセスを試みます。


    注 –

    /etc/resolv.conf がすでにノード上に存在する場合は、前の例で示したように、論理ホスト名を示す最初のエントリだけを追加してください。DNS がサーバーにアクセスする順番は、このエントリの順になります。


  8. すべてのクラスタノードで、/etc/inet/hosts ファイルを編集し、DNS サービスのネットワークリソースのためのエントリを作成します。

    次のように、手順を実行してください。

    • IPaddress には、129.146.87.53 のように実際に使用する IP アドレスを指定します。

    • logical-hostname 変数を実際のネットワークリソース (論理ホスト名または共有アドレス) に置き換えます。


    127.0.0.1						localhost
    IPaddress						logical-hostname
    
  9. すべてのクラスタノードで、/etc/nsswitch.conf ファイルを編集し、hosts エントリの clusterfiles のあとに文字列 dns を追加します。

    例:


    hosts:		 	cluster files dns
  10. scswitch(1M) コマンドを実行して次の作業を行います。

    • リソースと障害の監視を有効にします。

    • リソースグループを MANAGED 状態にします。

    • リソースグループをオンラインにします。


    # scswitch -Z -g resource-group
    
    -Z

    リソースとモニターを有効に設定し、リソースグループを MANAGED 状態にして、オンラインにします。

    -g resource-group

    リソースグループの名前を指定します。

  11. DNS を検証します。

    検証を行う前に、in.named を必ず停止してください。次に DNS をテストする例を示します。


    # cd /global/dns
    # /usr/sbin/in.named -c /global/dns/named.conf
    # nslookup phys-schost-1
    # pkill -x /usr/sbin/in.named
    

次に進む手順

Sun Cluster のインストール時に Sun Cluster HA for DNS パッケージをインストールした場合は、Sun Cluster HA for DNS の登録と構成に進みます。 インストールしていない場合は、Sun Cluster HA for DNS パッケージのインストールに進みます。

Sun Cluster HA for DNS パッケージのインストール

Sun Cluster の初期インストール時に Sun Cluster HA for Domain Name Service (DNS) パッケージをインストールしなかった場合は、この手順を実行してパッケージをインストールしてください。次の手順は、Sun Cluster HA for Domain Name Service (DNS) パッケージをインストールする各クラスタノードで実行します。この手順の実行には、Sun Cluster Agents CD-ROM が必要です。

同時に複数のデータサービスをインストールする場合は、『Sun Cluster 3.1 10/03 ソフトウェアのインストール』の「ソフトウェアのインストール」の手順を実行してください。

次のいずれかのインストールツールを使用して、Sun Cluster HA for Domain Name Service (DNS) パッケージをインストールします。


注 –

Web Start プログラムは、Sun Cluster 3.1 データサービス 10/03 以前のリリースでは利用できません。


Web Start プログラムを使用して Sun Cluster HA for DNS パッケージをインストールする

Web Start プログラムは、コマンド行インタフェース (CLI) またはグラフィカルユーザーインタフェース (GUI) を使用して実行できます。 CLI と GUI では、指示の内容と順序がほぼ同じです。Web Start プログラムの詳細については、installer(1M) のマニュアルページを参照してください。

  1. Sun Cluster HA for Domain Name Service (DNS) パッケージをインストールするクラスタノードで、スーパーユーザーになります。

  2. (省略可能) GUI を使用して Web Start プログラムを実行する予定の場合は、DISPLAY 環境変数が設定されていることを確認してください。

  3. Sun Cluster Agents CD-ROM を CD-ROM ドライブに挿入します。

    ボリューム管理デーモンの vold(1M) が実行中で、CD-ROM デバイスを管理するように構成されている場合、デーモンによって自動的に CD-ROM が /cdrom/scdataservices_3_1_vb ディレクトリにマウントされます。

  4. CD-ROM の Sun Cluster HA for Domain Name Service (DNS) コンポーネントディレクトリに移動します。

    Sun Cluster HA for Domain Name Service (DNS) データサービス用の Web Start プログラムは、このディレクトリにあります。


    # cd /cdrom/scdataservices_3_1_vb/\
    components/SunCluster_HA_DNS_3.1
    
  5. Web Start プログラムを起動します。


    # ./installer
    
  6. プロンプトが表示されたら、インストールの種類を選択します。

    • C ロケールのみをインストールする場合は、Typical を選択します。

    • ほかのロケールをインストールする場合は、Custom を選択します。

  7. 画面上の指示に従って、Sun Cluster HA for Domain Name Service (DNS) パッケージをノードにインストールします。

    インストールを終了すると、Web Start プログラムはインストールの要約を表示します。この要約から、インストール時に Web Start プログラムによって作成されたログを表示できます。これらの記録は、/var/sadm/install/logs ディレクトリにあります。

  8. Web Start プログラムを終了します。

  9. Sun Cluster Agents CD-ROM を CD-ROM ドライブから取り出します。

    1. CD-ROM が使用中にならないように、CD-ROM に含まれていないディレクトリに移動します。

    2. CD-ROM を取り出します。


      # eject cdrom
      

次に進む手順

Sun Cluster HA for DNS の登録と構成を参照して、Sun Cluster HA for DNS を登録し、このデータサービス用にクラスタを構成します。

scinstall ユーティリティを使用して Sun Cluster HA for DNS パッケージをインストールする

  1. Sun Cluster Agents CD-ROM を CD-ROM ドライブに挿入します。

  2. オプションは指定せずに、scinstall ユーティリティーを実行します。

    scinstall ユーティリティーが対話型モードで起動します。

  3. メニューオプション「新しいデータサービスのサポートをこのクラスタノードに追加」を選択します。

    scinstall ユーティリティーにより、ほかの情報を入力するためのプロンプトが表示されます。

  4. Sun Cluster Agents CD-ROM のパスを指定します。

    ユーティリティーは、データサービス CD を参照します。

  5. インストールするデータサービスを指定します。

    選択したデータサービスが scinstall ユーティリティーによって示され、この選択内容の確認が求められます。

  6. scinstall ユーティリティーを終了します。

  7. ドライブから CD を取り出します。

次に進む手順

Sun Cluster HA for DNS の登録と構成を参照して、Sun Cluster HA for DNS を登録し、このデータサービス用にクラスタを構成します。

Sun Cluster HA for DNS の登録と構成

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


注 –

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


Sun Cluster HA for DNS を登録して構成する

この手順を実行するには、構成に関する次の情報が必要になります。


注 –

この手順は、すべてのクラスタメンバー上で実行します。


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

  2. データサービスのリソースタイプを登録します。


    # scrgadm -a -t SUNW.dns
    
    -a

    データサービスのリソースタイプを追加します。

    -t SUNW.dns

    当該データサービス用にあらかじめ定義されているリソースタイプを指定します。

  3. 使用するネットワークリソースと DNS リソースのリソースグループを作成します。

    必要に応じて、-h オプションを指定してデータサービスを実行できる一群のノードを選択することもできます。


    # scrgadm -a -g resource-group [-h nodelist]
    -g resource-group

    リソースグループの名前を指定します。任意の名前を指定できますが、クラスタ内で一意のリソースグループ名にする必要があります。

    [-h nodelist]

    潜在マスターを識別するための物理ノード名または ID をコンマで区切って指定します (省略可能)。フェイルオーバー時、ノードはこのリスト内の順番に従ってプライマリとして判別されます。


    注 –

    ノードリストの順番を指定するには、-h オプションを使用します。すべてのクラスタノードが潜在的マスターの場合、-h オプションを使用する必要はありません。


  4. 使用するすべてのネットワークリソースがネームサービスデータベースに登録されていることを確認します。

    Sun Cluster のインストール時に、この確認を行っておく必要があります。詳細については、『Sun Cluster 3.1 ソフトウェアのインストール』の計画に関する章を参照してください。


    注 –

    ネームサービスの検索が原因で障害が発生するのを防ぐために、サーバーおよびクライアントの /etc/inet/hosts ファイルに、すべてのネットワークリソースが登録されていることを確認してください。サーバーの /etc/nsswitch.conf ファイルのネームサービスマッピングは、NIS または NIS+ にアクセスする前に最初にローカルファイルを検査するように構成してください。


  5. リソースグループへネットワークリソースを追加します。

    たとえば、リソースグループの論理ホスト名を追加するには次のコマンドを実行します。


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

    ネットワークリソース (論理ホスト名または共有アドレス) をコンマで区切ったリストで指定します。

    -n netiflist

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


    注 –

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


  6. DNS アプリケーションリソースをリソースグループに追加します。


    # scrgadm -a -j [resource] -g resource-group \
    -t SUNW.dns -y Network_resources_used=network-resource, …\
    -y Port_list=port-number/protocol -x DNS_mode=config-file \ 
    -x Confdir_list=config-directory
    
    -j resource

    DNS アプリケーションリソース名を指定します。

    -t SUNW.dns

    このリソースが属するリソースタイプの名前を指定します。このエントリは必須です。

    -y Network_resources_used =network-resource, …

    DNS が使用するネットワークリソース (論理ホスト名または共有アドレス) をコンマで区切ったリストを指定します。このプロパティを指定しない場合は、デフォルトで、リソースグループに含まれるすべてのネットワークリソースになります。

    -y Port_list =port-number/protocol

    使用するポート番号とプロトコルを指定します。このプロパティを指定しない場合は、デフォルトで 53/udp が使用されます。

    -x DNS_mode =config-file

    conf (named.conf) または boot (named.boot) のいずれかの構成ファイルを指定します。このプロパティを指定しない場合は、デフォルトで conf が使用されます。

    -x Confdir_list =config-directory

    DNS 構成ディレクトリパスの場所を指定します。必ず、クラスタファイルシステム上の場所である必要があります。Sun Cluster HA for DNS にはこの拡張プロパティが必要です。

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

    • リソースと障害の監視を有効にします。

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

    • リソースグループをオンラインにします。


    # scswitch -Z -g resource-group
    
    -Z

    リソースとモニターを有効に設定し、リソースグループを管理状態にし、オンラインにします。

    -g resource-group

    リソースグループの名前を指定します。

例 – フェイルオーバー Sun Cluster HA for DNS の登録

次の例では、Sun Cluster HA for DNS を 2 ノードクラスタに登録する方法を示します。この例の最後で scswitch コマンドが Sun Cluster HA for DNS を起動していることに注意してください。


クラスタ情報
ノード名: phys-schost-1, phys-schost-2
論理ホスト名: schost-1
リソースグループ: resource-group-1 (すべてのリソース用), 
リソース: schost-1 (論理ホスト名), dns-1 (DNS アプリケーション
    リソース)

(DNS リソースタイプを登録する)
# scrgadm -a -t SUNW.dns
 
(すべてのリソースを含めるためのリソースグループを追加する)
# scrgadm -a -g resource-group-1
 
(論理ホスト名リソースとリソースグループに追加する)
# scrgadm -a -L -g resource-group-1 -l schost-1 
 
(DNS アプリケーションリソースをリソースグループに追加する)
# scrgadm -a -j dns-1 -g resource-group-1 -t SUNW.dns \
-y Network_resources_used=schost-1 -y Port_list=53/udp \
-x DNS_mode=conf -x Confdir_list=/global/dns
 
(フェイルオーバーリソースグループをオンラインにする)
# scswitch -Z -g resource-group-1

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

SUNW.HAStoragePlus リソースタイプは、Sun Cluster 3.0 5/02 で導入されました。 新しいリソースタイプは、SUNW.HAStorage と同じ機能を実行し、HA ストレージと Sun Cluster HA for NFS との間のアクションを同期します。 SUNW.HAStoragePlus には、ローカルファイルシステムを高可用性にする追加機能があります。 Sun Cluster HA for DNS はディスク集約型ではなく、スケーラブルでもありません。したがって、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 データサービスの計画と管理』の「リソースグループとディスク装置グループとの間で起動を同期させる」を参照してください。

データサービスのインストールと構成の確認

Sun Cluster HA for DNS を正しくインストールし、構成したことを確認するには、Sun Cluster HA for DNS を登録して構成するの手順を終了したあとで、次のコマンドを実行します。


# nslookup logical-hostname logical-hostname

この例では、logical-hostname は、DNS 要求をサービスするために構成したネットワークリソースの名前です。前述の登録の例では、schost-1 がこれに該当します。出力では、指定したネットワークリソースによって照会が処理されたことが示されます。

Sun Cluster HA for DNS 拡張プロパティ

DNS リソースの作成に必須の拡張プロパティは Confdir_list プロパティだけです。通常、拡張プロパティは、DNS リソースを作成するときにコマンド行から scrgadm -x parameter = value を実行して構成します。『 Sun Cluster 3.1 データサービスの計画と構成』の「データサービスリソースの管理」で説明されている手順を使用して、これらのプロパティをあとで構成することもできます。

すべての Sun Cluster プロパティの詳細については、『Sun Cluster 3.1 データサービスの計画と構成』の「標準プロパティ」を参照してください。

表 1–2は、Sun Cluster HA for DNS 拡張プロパティを説明しています。拡張プロパティの中には動的に変更できるものもありますが、それ以外の拡張プロパティは、リソースを作成するときにしか更新できません。「調整可能」エントリは、いつプロパティを更新できるかを示します。

表 1–2 Sun Cluster HA for DNS 拡張プロパティ

名前/データタイプ 

説明 

Confdir_ list (文字配列)

パス名をコンマで区切ったリスト。各パス名は、DNS インスタンスの conf ディレクトリを含むディレクトリを示します。

 

初期値: なし

範囲: なし

調整: 作成時

DNS_mode

使用する DNS 構成ファイル。conf (named.conf) または boot (named.boot) を指定します。

 

初期値: conf

範囲: なし

調整: 作成時

Monitor_retry_count (整数)

Monitor_retry_ interval プロパティで指定された時間の範囲内に、プロセスモニター機能 (PMF) が障害モニターを再起動する回数。このプロパティは、障害モニターの再起動について制御するのであって、リソースの再起動を制御するわけではありません。リソースの再起動は、システム定義プロパティの Retry_interval および Retry_count によって制御されます。

 

初期値: 4

範囲: 0 – 2, 147, 483, 641

–1 は、再試行の数が無限であることを示します。 

調整: 任意の時点

Monitor_retry_interval (整数)

障害モニターの失敗がカウントされる期間 (分)。この期間内に、障害モニターの失敗の数が、拡張プロパティ Monitor_retry_ count で指定した値を超えた場合、PMF は障害モニターを再起動しません。

 

初期値: 2

範囲: 0 – 2, 147, 483, 641

–1 は、再試行の間隔が無限であることを示します。 

調整: 任意の時点

Probe_ timeout (整数)

DNS インスタンスの検証に障害モニターが使用するタイムアウト値 (秒)。 

 

初期値: 120

範囲: 0 – 2, 147, 483, 641

調整: 任意の時点

Sun Cluster HA for DNS 障害モニター

検証機能は、nslookup コマンドを使用して DNS の状態を照会します。検証機能が実際に DNS サーバーを照会する前に、ネットワークリソースが DNS データサービスと同じリソースグループ内で構成されていることの確認が行われます。ネットワークリソースが構成されていない場合は、エラーメッセージが記録され、検証はエラーとなって終了します。

検証機能は、次のことを行います。

  1. Probe_timeout リソースプロパティで指定されたタイムアウト値を使用し、nslookup コマンドを実行します。

    この nslookup コマンドの実行結果は、異常か正常のどちらかになります。nslookup の照会に対して DNS が正常に応答した場合は、検証機能は無限ループに戻り、次の検証時間まで待機します。

    nslookup コマンドが正常に終了しなかった場合、検証機能は DNS データサービスで異常が発生したと判断し、履歴に異常を記録します。DNS 検証機能は、すべての異常を致命的な異常とみなします。

  2. 正常/異常履歴に基づいて、ローカルでの再起動、またはデータサービスのフェイルオーバーを実行します。このアクションの詳細については、『 Sun Cluster 3.1 データサービスの計画と構成』の「Sun Cluster データサービス障害モニター」を参照してください。