表 1–1 に、 Sun Cluster HA for DHCP のインストールと構成に必要な作業を示します。指定された順番どおりに、各作業を行ってください。
表 1–1 作業マップ : Sun Cluster HA for DHCP のインストールと構成
タスク |
参照箇所 |
---|---|
インストールを計画する | |
DHCP をインストールして構成する | |
インストールと構成を確認する | |
Sun Cluster HA for DHCP パッケージをインストールする | |
Sun Cluster HA for DHCP を登録して構成する | |
Sun Cluster HA for DHCP のインストールと構成を確認する | |
Sun Cluster HA for DHCP の障害モニターを理解する | |
Sun Cluster HA for DHCP をデバッグする |
Solaris DHCP は、DHCP クライアントに動的 TCP/IP 構成を提供します。Sun Cluster HA for DHCP データサービスは Solaris 8/9 にバンドルされている DHCP ソフトウェアを使用します。DHCP の詳細は、dhcp(4) のマニュアルページを参照してください。
Sun Cluster HA for DHCP データサービスのメカニズムによって、DHCP サービスの順序正しい起動、停止、障害モニター、自動フェイルオーバーを実行できます。次の DHCP コンポーネントは、Sun Cluster HA for DHCP データサービスによって保護されます。
表 1–2 コンポーネントの保護
コンポーネント |
DHCP サーバーコンポーネントを保護するデータサービス |
---|---|
DHCP サーバー |
Sun Cluster HA for DHCP |
ここでは、Sun Cluster HA for DHCP のインストールと構成の計画について説明します。
次の制限事項を守らないと、データサービスの構成がサポートされない場合があります。
ここで示す制限事項を考慮して、Sun Cluster HA for DHCP のインストールと構成の計画を行ってください。ここでは、Sun Cluster HA for DHCP にのみ適用されるソフトウェアとハードウェア構成の制限事項を示します。
すべてのデータサービスに適用される制限事項については、Sun Cluster Release Notes を参照してください。
Sun Cluster HA for DHCP データサービスは、フェイルオーバーサービスとしてのみ構成できます – DHCP はスケーラブルなサービスとしては運用できないため、Sun Cluster HA for DHCP データサービスは、フェイルオーバーサービスとして運用するようにのみ構成できます。
DHCP サーバー – DHCP は、中継ホストとしてではなく、DHCP サーバーとして運用しなければなりません。
単一の DHCP インスタンス– Sun Cluster 内で構成できる DHCP リソースは 1 つだけです。
DHCP ネットワークテーブル – DHCP のネットワークテーブルは、テキストファイルまたはバイナリファイルにすることができます。また、フェイルオーバーファイルシステム (FFS) または広域ファイルシステム (GFS) としてマウントできます。
広域ファイルシステムをマウントする場合は /global という接頭辞を指定し、フェイルオーバーファイルシステムをマウントする場合は /local という接頭辞を指定するようにしてください。 必須ではありませんが、こうするのが最も好都合です。
次の要件を満たさないと、データサービスの構成がサポートされない場合があります。
ここで示す要件に従って、Sun Cluster HA for DHCP のインストールと構成の計画を行ってください。これらの要件は、Sun Cluster HA for DHCP にのみ適用されます。 Sun Cluster HA for DHCP のインストールと構成を始める前に、次の要件を満たしておく必要があります。
DHCP のコンポーネントと依存関係— Sun Cluster HA for DHCP データサービスは、DHCP コンポーネントを保護するように構成できます。 このコンポーネントと依存関係について、簡単に説明します。
表 1–3 DHCP と依存関係 (-> 記号で示す)
コンポーネント |
説明 |
---|---|
DHCP サーバー(Mandatory) |
-> SUNW.HAStoragePlus リソース SUNW.HAStoragePlus リソースは、DHCP のファイルシステムのマウントポイントを管理し、ファイルシステムがマウントされるまでは DHCP が起動しないようにします。 |
DHCP コンポーネントは、 /opt/SUNWscdhc/util に構成/登録ファイルがあります。 これらのファイルによって、Sun Cluster に DHCP コンポーネントを登録できます。
# cd /opt/SUNWscdhc # # ls -l util/* total 6 -rwxr-xr-x 1 root sys 1094 Dec 20 14:44 dhcp_config -rwxr-xr-x 1 root sys 514 Dec 20 14:44 dhcp_register # # more util/* :::::::::::::: util/dhcp_config :::::::::::::: # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # This file will be sourced in by dhcp_register and the parameters # listed below will be used. # # These parameters can be customized in (key=value) form # # RS - name of the resource for the application # RG - name of the resource group containing RS # PORT - name of any port number # LH - name of the LogicalHostname SC resource # NETWORK - name of the DHCP Network, however comprised of following # <network>@<nafo_or_nodename>@<node number> # HAS_RS - name of the DHCP HAStoragePlus SC resource # # The following two examples illustrate sample parameters # for DHCP on a 2 node cluster (tequila/sunrise) # # Sun Cluster 3.0 using nafo # # NETWORK=192.168.100.0@nafo0@1/192.168.100.0@nafo0@2 # # Sun Cluster 3.1 using ipmp # # NETWORK=192.168.100.0@tequila@1/192.168.100.0@sunrise@2 # RS= RG= PORT= LH= NETWORK= HAS_RS= :::::::::::::: util/dhcp_register :::::::::::::: # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # . `dirname $0`/dhcp_config scrgadm -a -j $RS -g $RG -t SUNW.gds \ -x Start_command="/opt/SUNWscdhc/bin/start_dhcp \ -R $RS -G $RG -N $NETWORK " \ -x Stop_command="/opt/SUNWscdhc/bin/stop_dhcp \ -R $RS -G $RG -N $NETWORK " \ -x Probe_command="/opt/SUNWscdhc/bin/probe_dhcp \ -R $RS -G $RG -N $NETWORK " \ -y Port_list=$PORT/tcp -y Network_resources_used=$LH \ -x Stop_signal=9 \ -y Resource_dependencies=$HAS_RS # |
Sun Cluster HA for DHCP データサービス – パッチ 109077-07 (またはそれ以降) と 111302-01 (またはそれ以降) を適用した Solaris 8 7/01 (またはそれ以降) または Solaris 9 が必要です。
/etc/inet/dhcpsvc.conf パラメータ – /etc/inet/dhcpsvc.conf の次のパラメータを設定する必要があります。
DAEMON_ENABLED はつねに True です。
PATH は DHCP ネットワークテーブルに対応するクラスタファイルシステムを示します。
RUN_MODE はつねに SERVER です。
RESOURCE は SUNWbinfiles または SUNWfiles のどちらかに設定します。
/etc/inet/dhcpsvc.conf の次のパラメータは設定できません。
INTERFACE
/etc/inet/dhcpsvc.conf が DHCP サービスのホストとなる Sun Cluster 内の全ノードで整合性が保たれているか、または /etc/inet/dhcpsvc.conf がクラスタファイルシステム上のディレクトリ上にリンクされるようにしてください。
DHCP 要求への応答に関しては、DHCP ネットワークテーブル用に SUNWbinfiles を使用して、DHCPが最高のパフォーマンスを発揮するようにしてください。
ここでは DHCP をインストールして構成する手順について説明します。
次の手順で、DHCP をインストールして構成します。
Solaris CD から次のパッケージをインストールします。
SUNWdhcsu
SUNWdhcsb
SUNWdhcm
DHCP クラスタファイルシステムをマウントします。必ず、DHCP ネットワークテーブルに対応するクラスタファイルシステムをマウントしてください。
DHCP ネットワークテーブルでフェイルオーバーファイルシステムを使用する場合は、手動でこのファイルシステムをマウントする必要があります。
必要な DHCP パッチをインストールします。インストールしなければならないパッチのリストについては、構成に関する要件を参照してください。
次のコマンドを実行して DHCP を構成します。
# /usr/sadm/admin/bin/dhcpmgr |
「DHCP サーバとして構成」を選択します。
「テキストファイル」または「バイナリファイル 」を選択します。
DHCP ネットワークテーブルのパスを入力します。
ホストレコードの保管に使用するネームサービスを選択します。
「リース期間」とクライアントがリースを更新できるかどうかを選択します。
使用する場合は、このサーバーの DHCP クライアント用 DNS 構成を指定します。
IP アドレスを提供するネットワークとネットワークマスクを追加します。
「ネットワークタイプ」 として「ローカルエリア (LAN)」を選択します。
使用する場合は、このサーバーの DHCP クライアント用 NIS 構成を指定します。
使用する場合は、このサーバーの DHCP クライアント用 NIS+ 構成を指定します。
アドレスとマクロを作成します。
/etc/inet/dhcpsvc.conf を確認します。次のパラメタが定義されていなければなりません。
DAEMON_ENABLED はつねに True です。
PATH はクラスタファイルシステムを示します。
RUN_MODE はつねに SERVER です。
RESOURCE は SUNWbinfiles または SUNWfiles のどちらかに設定します。
/etc/inet/dhcpsvc.confの整合性を確認 – DHCP サービスのホストとなる Sun Cluster 内の全ノードにわたって整合性を保つ必要があります。
2 とおりの実現方法があります。
/etc/inet/dhcpsvc.conf を Sun Cluster 内の全ノードにコピーします。
編集済みの dhcpsvc.conf をクラスタファイルシステムに移動し、クラスタファイルシステム内の dhcpsvc.conf に対して /etc/inet/dhcpsvc.conf からシンボリックリンクを作成します。
全ノードで DHCP が停止していることを確認します。
# /etc/rc2.d/K21dhcp stop |
全ノードでブート時の DHCP の起動を無効にします。
# rm /etc/rc3.d/S34dhcp |
ここでは、 インストールと構成を確認する手順について説明します。
次の手順で インストールと構成を確認します。データサービスをまだインストールしていないため、この手順ではアプリケーションの可用性が高いかどうかを確認することはできません。
/etc/inet/dhcpsvc.conf を確認します。
要件に基づいて各パラメタが設定されているかどうかを確認します。
SERVER_MODE
PATH
DAEMON_ENABLED
Sun Cluster 内の全ノードにわたって /etc/inet/dhcpsvc.conf が矛盾していないかどうかを確認します。
ブート時の DHCP の起動が無効になっていることを確認します。
ここでは Sun Cluster HA for DHCP パッケージのインストール手順について説明します。
次の手順で、Sun Cluster HA for DHCP パッケージをインストールします。この作業には、Sun Cluster Agents CD-ROM が必要です。この手順では、Sun Cluster の初期インストール時にデータサービス パッケージをインストールしていない場合を想定しています。
Sun Cluster のインストール時に Sun Cluster HA for DHCP パッケージをインストールした場合は、Sun Cluster HA for DHCP の登録と構成 へ進んでください。
それ以外の場合は、次の手順で、Sun Cluster HA for DHCP パッケージをインストールします。Sun Cluster HA for DHCP を実行できるすべてのノードで、この作業が必要です。
CD-ROM ドライブに Sun Cluster Agents CD-ROM を挿入します。
オプションを指定しないで scinstall ユーティリティーを実行します。
scinstall ユーティリティーが対話型モードで起動します。
メニューオプション「新しいデータサービスのサポートをこのクラスタノードに追加」を選択します。
scinstall ユーティリティーにより、ほかの情報を入力するためのプロンプトが表示されます。
Sun Cluster Agents CD-ROM のパスを指定します。
ユーティリティーはこの CD をデータサービス CD-ROM として示します。
インストールするデータサービスを指定します。
選択したデータサービスが scinstall ユーティリティーによって示され、この選択内容の確認が求められます。
scinstall ユーティリティーを終了します。
ドライブから CD を取り出します。
ここでは Sun Cluster HA for DHCP の構成手順について説明します。
次の手順で、Sun Cluster HA for DHCP をフェイルオーバーデータサービスとして構成します。この手順では、Sun Cluster の初期インストール時にデータサービスパッケージをインストールしている場合を想定しています。
Sun Cluster のインストール時に Sun Cluster HA for DHCP をインストールしなかった場合は、Sun Cluster HA for DHCP パッケージのインストール方法 へ進んでください。
それ以外の場合は、次の手順で Sun Cluster HA for DHCP データサービスを構成します。
DHCP のホストとなるクラスタノードの 1 つで、スーパーユーザーになります。
SUNW.gds というリソースタイプを登録します。
# scrgadm -a -t SUNW.gds |
SUNW.HAStoragePlus というリソースタイプを登録します。
# scrgadm -a -t SUNW.HAStoragePlus |
フェイルオーバーリソースグループを作成します。
# scrgadm -a -g DHCP-failover-resource-group |
DHCP ディスク記憶装置に対応するリソースを作成します。
# scrgadm -a -j DHCP-has-resource \ -g DHCP-failover-resource-group \ -t SUNW.HAStoragePlus \ -x FilesystemMountPoints=DHCP- instance-mount-points |
DHCP 論理ホスト名に対応するリソースを作成します。
# scrgadm -a -L -j DHCP-lh-resource \ -g DHCP-failover-resource-group \ -l DHCP-logical-hostname |
DHCP ディスク記憶装置と DHCP 論理ホスト名のリソースが組み込まれたフェイルオーバーリソースグループを有効にします。
# scswitch -Z -g DHCP-failover-resource-group |
DHCP コンポーネントを作成して登録します。
# cd /opt/SUNWscdhc/util |
dhcp_config ファイルを編集し、ファイルの中のコメントの記述に従います。
# These parameters can be customized in (key=value) form # RS - name of the resource for the application # RG - name of the resource group containing RS # PORT - name of any port number, as it's ignored # LH - name of the LogicalHostname SC resource # NETWORK - name of the DHCP Network, however comprised of following # <network>@<nafo or nodename>@<node number> # HAS_RS - name of the DHCP HAStoragePlus SC resource |
次に、IPMP が組み込まれた 2 ノード ( tequila/sunrise) の Sun Cluster 3.1 に対応する DHCP の例を示します。
RS=dhcp-res RG=dhcp-rg PORT=23 LH=dhcp-lh-res NETWORK=192.168.100.0@tequila@1/192.168.100.0@sunrise@2 HAS_RS=dhcp-has-res |
dhcp_config の編集後、リソースを登録する必要があります。
# ./dhcp_register |
各 DHCP リソースを有効にします。
前の手順と同様、DHCP コンポーネントごとにこの手順を繰り返します。
# scstat |
# scswitch -e -j DHCP-resource |
ここでは、データサービスが正しくインストールされて構成されているかどうかを確認する手順について説明します。
次の手順で、Sun Cluster HA for DHCP が正しくインストールされ、構成されているかどうかを確認します。
DHCP のホストとなるクラスタノードの 1 つで、スーパーユーザーになります。
すべての DHCP リソースがオンラインになっていることを scstat で確認します。
# scstat |
オンラインになっていない DHCP リソースごとに、次のように scswitch コマンドを使用します。
# scswitch -e -j DHCP- resouce |
scswitch コマンドを実行し、 DHCP リソースグループをほかのクラスタノード (node2 など) に切り替えます。
# scswitch -z -g DHCP-failover-resource-group -h node2 |
この情報は、Sun Cluster HA for DHCP 障害モニターを理解するうえで役立ちます。ここでは、Sun Cluster HA for DHCP 障害モニターのプローブアルゴリズムまたは機能について説明し、検証の失敗に関連する条件、メッセージ、回復処理を示します。
障害モニターの概念については、 Sun Cluster Concepts Guide を参照してください。
Sun Cluster HA for DHCP 障害モニターでは、リソースタイプ SUNW.gds と同じリソースプロパティを使用します。 使用するリソースプロパティの全リストについては、SUNW.gds(5) のマニュアルページを参照してください。
DHCP
Thorough_probe_interval の間、休止します。
in.dhcpd デーモンが引き続き動作していることを確認します。これに失敗すると、プローブにより DHCP リソースを再起動します。
PNM (Public Network Monitoring) または IPMP (IP Multi Pathing) が DHCP で使用中のネットワークのアクティブインタフェースを変更したかどうかを確認します。これに失敗すると、検証が DHCP リソースを再起動します。
ここでは、Sun Cluster HA for DHCP のデバッグを有効にする方法について説明します。
DHCP コンポーネントの DEBUG ファイルは、 /opt/SUNWscdhc/etc にあります。
このファイルを使用すると、Sun Cluster 内の特定ノード上にある DHCP リソースに対して、デバッグを有効にできます。Sun Cluster 全体にわたって、DHCP リソースのデバッグを有効にしなければならない場合は、Sun Cluster 内のすべてのノードでこの手順を繰り返す必要があります。
/etc/syslog.conf を編集します。
/etc/syslog.conf を編集し、daemon.notice を daemon.debug に変更します。
# grep daemon /etc/syslog.conf *.err;kern.debug;daemon.notice;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator # |
daemon.notice を daemon.debug に変更し、syslogd を再起動します。次に示す grep daemon /etc/syslog.conf コマンドの出力例では、daemon.debug が設定されています。
# grep daemon /etc/syslog.conf *.err;kern.debug;daemon.debug;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator # # pkill -1 syslogd # |
/opt/SUNWscdhc/etc/config を編集します。
/opt/SUNWscdhc/etc/config を編集し、 DEBUG= を DEBUG=ALL または DEBUG= resource に変更します。
# cat /opt/SUNWscdhc/etc/config # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # Usage: # DEBUG=<RESOURCE_NAME> or ALL # DEBUG=ALL # |
デバッグを無効にするには、この手順を逆に実行して下さい。