Sun Cluster Data Service for Domain Name Service (DNS) ガイド (Solaris OS 版)

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

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

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

Sun Cluster HA for DNS をフェイルオーバーデータサービスとして構成する必要があります。データサービス、リソースグループ、リソースおよび関連トピックについては、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の第 1 章「Sun Cluster データサービスの計画」と『Sun Cluster の概念 (Solaris OS 版)』を参照してください。


注 –

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


Sun Cluster HA for DNS のインストールおよび構成プロセスの概要

次の表にインストール作業と構成作業を説明している節を示します。

表 1 Task Map: Sun Cluster HA for DNS のインストールと構成

タスク 

参照箇所 

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

ProcedureDNS をインストールする

この節では、DNS のインストール方法について説明します。

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

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

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

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

    DNS 実行可能ファイルは、Solaris 8 および Solaris 9 オペレーティング環境にバンドルされています。インストールを始める前に、この実行ファイルが /usr/sbin ディレクトリにあることを確認します。

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

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


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

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

  6. すべての DNS データベースファイル (named.conf ファイルに指定されています) を /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. すべてのクラスタノードで DNS をテストします。

    次に DNS をテストする例を示します。


    # /usr/sbin/in.named -c /global/dns/named.conf
    # nslookup phys-schost-1
    
  11. すべてのクラスタノードで DNS を停止します。

    検証を行う前に、in.named を必ず停止してください。


    # pkill -x 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 DNS パッケージをインストールしなかった場合は、この手順でパッケージをインストールしてください。この手順は、Sun Cluster HA for DNS パッケージをインストールする各クラスタノード上で個別に実行します。この手順の実行には、Sun Cluster Agents CD が必要です。

複数のデータサービスを同時にインストールする場合は、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』「ソフトウェアのインストール」に記載されている手順を実行してください。

次のインストールツールのどちらかを使用して、Sun Cluster HA for DNS パッケージをインストールします。


注 –

Solaris 10 を使用している場合は、これらのパッケージを大域ゾーンにだけインストールしてください。パッケージをインストールしたあとで作成されたローカルゾーンにそれらのパッケージが転送されないようにするには、scinstall ユーティリティーを使用してパッケージをインストールしてください。Web Start プログラムは使用しないでください。


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

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

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

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

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

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

  4. CD-ROM の Sun Cluster HA for DNS コンポーネントディレクトリに切り替えます。

    Sun Cluster HA for DNS データサービスの Web Start プログラムは、このディレクトリに入っています。


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


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

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

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

  7. 表示される手順に従って、ノードに Sun Cluster HA for DNS パッケージをインストールします。

    インストールが終了すると、Web Start プログラムのインストールサマリーが出力されます。この出力を使用して、インストール時に Web Start によって作成されたログを確認できます。これらのログは、/var/sadm/install/logs ディレクトリにあります。

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

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

    1. CD-ROM が使用されないように、CD-ROM 上のディレクトリ以外に移動します。

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


      # eject cdrom
      
次の手順

「Sun Cluster HA for DNS の登録と構成」に進みます。

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

この手順は、Sun Cluster HA for DNS をマスターできるすべてのクラスタメンバーで実行してください。

始める前に

Sun Cluster Agents CD が存在することを確認します。

手順
  1. CD-ROM ドライブに Sun Cluster Agents CD をロードします。

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

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

  3. メニューオプション「Add Support for New Data Service to This Cluster Node」を選択します。

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

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

    ユーティリティーはこの CD をデータサービス CD-ROM として示します。

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

    選択したデータサービスが scinstall ユーティリティーによって示され、選択を確定するように求められます。

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

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

次の手順

「Sun Cluster HA for DNS の登録と構成」に進みます。

Sun Cluster HA for DNS の登録と構成

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


注 –

データサービスはここで説明するオプション以外のオプションを使用して登録と構成を行えます。これらのオプションの詳細は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』「データサービスリソースを管理するためのツール」を参照してください。


Sun Cluster HA for DNS 拡張プロパティーの設定

以下の各項では、Sun Cluster HA for DNS リソースの登録と構成について説明します。拡張プロパティーの詳細は、付録 A 「Sun Cluster HA for DNS 拡張プロパティー」を参照してください。「調整可能」の欄には、そのプロパティーをいつ変更できるかが示されています。

Sun Cluster の全プロパティーの詳細は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の付録 A「標準プロパティー」を参照してください。

リソースの拡張プロパティーを設定するには、リソースを作成または変更する scrgadm(1M) コマンドに次のオプションを含めます。


-x property=value 
-x property

設定する拡張プロパティーを指定します。

value

設定する拡張プロパティーの値を指定します。

リソースの作成後は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の第 2 章「データサービスリソースの管理」に示されている手順でリソースを構成できます。

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

この節では、Sun Cluster HA for DNS を登録して構成する方法について説明します。

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


注 –

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


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

  2. SMF サービス /network/nfs/server:default を無効にします。

    この手順は、Sun Cluster HA for DNS リソースを起動する前に行います。

    当初の主ノードで何か障害が発生する場合は、Service Management Facility (SMF) サービス /network/nfs/server:default が無効になっている場合だけフェイルオーバーを行えます。すべての潜在的主ノードで、次のコマンドを実行してこのサービスを無効にします。


    # svcadm disable /network/nfs/server:default
    
  3. データサービスのリソースタイプを登録します。


    # scrgadm -a -t SUNW.dns
    
    -a

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

    -t SUNW.dns

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

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

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


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

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

    [-h nodelist]

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


    注 –

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


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

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


    注 –

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


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

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


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

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

    -n netiflist

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


    注 –

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


  7. 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 には、この拡張プロパティーが必要です。

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

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

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

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


    # scswitch -Z -g resource-group
    
    -Z

    リソースとモニターを使用可能にし、リソースグループを管理状態にし、オンラインにします。

    -g resource-group

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


例 1 フェイルオーバー 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 アプリケーションリソース)

(SMF サービス /network/nfs/server:default を無効にする) 
# svcadm disable /network/nfs/server:default

(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 と同じ動作を実行します。このリソースタイプには、ローカルファイルシステムを高可用化する別の機能もあります。Sun Cluster HA for DNS はディスク集約型ではなく、スケーラブルでもありません。したがって、SUNW.HAStoragePlus リソースタイプの設定は任意です。

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

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

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 障害モニターの調整

Sun Cluster HA for DNS 障害モニターは、DNS を表すリソースに含まれます。Sun Cluster HA for DNS の登録および構成時に、このリソースを作成できます。詳細は、「Sun Cluster HA for DNS の登録と構成」を参照してください。

このリソースのシステムプロパティーと拡張プロパティーが、障害モニターの動作を制御します。事前に設定された障害モニターの動作は、これらのプロパティーのデフォルト値に基づいています。現在の動作は、ほとんどの Sun Cluster システムに適しているはずです。したがって、Sun Cluster HA for DNS 障害モニターを調整する必要があるのは、この事前設定されている動作を変更する必要がある場合だけです。

詳細については、以下の節を参照してください。

検証中の障害モニターの動作

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

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

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

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