NIS+ サービスを常に利用可能な状態にしておくため、ルート複製サーバーを少なくとも 1 つは作成しておくことをお勧めします。複製サーバーを作成すると複数のサーバーが存在することになり、要求の処理を分散させることができるため、ネットワーク要求の処理も高速化されます。
パフォーマンス上の理由から、1 つのドメインに多くの複製サーバーを置くことはお勧めできません。ネットワークが複数のサブネットで構成されている場合、あるいは広域ネットワーク (WAN) でリモートサイトに接続されている場合には、複製サーバーを追加すると良い場合があります。
「サブネット」。複数のサブネットで構成されているドメインの場合、各サブネットに複製サーバーを少なくとも 1 つは作成することをお勧めします。そうしておけば、ネットワーク間の通信が一時的に途絶しても、接続が回復するまでの間、サブネットレベルの機能は維持されます。
「リモートサイト」。WAN によりリモートサイトに接続されているドメインの場合、WAN 接続の両側に複製サーバーを少なくとも 1 つは作成することをお勧めします。組織論的な見地からしても、同一の NIS+ ドメインに物理的に離れた 2 つのサイトがあるのは意味のあることです。たとえば、ドメイン内のマスターサーバーとその複製サーバーがすべて一方のサイトに置かれている場合、そのサイトともう一方のサイトとの間の NIS+ ネットワークトラフィックが増大するのは目に見えています。もう一方のサイトにも複製サーバーを置いておけば、ネットワークトラフィックが減るはずです。
最適な複製サーバー数の決定方法については、「ルート複製サーバーの作成」を参照してください。
「ルート複製サーバーを作成する方法」では、マシン client1 を doc.com. ドメインのルート複製サーバーとして構成します。この手順では、NIS+ スクリプトの nisserver を使用します。「NIS+ コマンドを使って複製サーバーを構成する」で説明しているように、NIS+ コマンドを使用して複製サーバーを構成することもできます。
nisserver を実行して複製サーバーを作成するには、次の条件を満たしている必要があります。
ドメインがすでに構成され、マスターサーバーが稼働している
マスターサーバーのテーブルが生成されている。少なくとも、hosts テーブルには新しいクライアントマシンのエントリが必要
新たに作成したサーバーをそのドメインのクライアントマシンとして初期設定している (具体的な手順については、「NIS+ クライアントマシンの設定」を参照)
新たに作成した複製サーバー上で NIS+ サービス (rpc.nisd) を起動している (具体的な手順については、「NIS+ サーバーの設定」を参照)
ルートマスターサーバーにスーパーユーザーとしてログインしている。この例では、ルートマスターマシン名は master1
nisserver を実行するには、次の情報が必要です。
ドメイン名
クライアントマシン名 (この例では、client1)
ルートマスターサーバーのスーパーユーザーのパスワード
NIS+ ドメインのルートマスターサーバー上でスーパーユーザー (root) として次のように入力して、ルート複製サーバーを作成します。
master1# nisserver -R -d doc.com. -h client1 This script sets up a NIS+ replica server for domain doc.com. Domain name: :doc.com. NIS+ server : :client1 Is this information correct? (type 'y' to accept, 'n' to change) |
-R オプションは、複製サーバーを構成することを示します。-d オプションは NIS+ ドメイン名 (このサンプルでは doc.com.) を指定します。-h オプションはルート複製サーバーとなるクライアントマシン (この例では client1) を指定します。
y を入力して操作を続けます。
n を入力すると、スクリプトは正しい情報の入力を要求します。n を入力した場合の操作については、「誤った情報を変更する方法」を参照してください。
Is this information correct? (type 'y' to accept, 'n' to change) y This script will set up machine “client1” as an NIS+ replica server for domain doc.com. without NIS compatibility. The NIS+ server daemon, rpc.nisd, must be running on client1 with the proper options to serve this domain. Do you want to continue? (type 'y' to continue, 'n' to exit this script) |
y を入力して操作を続けます。
n を入力するとスクリプトは問題なく終了します。クライアントマシン上で rpc.nisd が動作していない場合、スクリプトは自動的に終了します。
Is this information correct? (type 'y' to continue, 'n' to exit this script) y The system client1 is now configured as a replica server for domain doc.com.. The NIS+ server daemon, rpc.nisd, must be running on client1 with the proper options to serve this domain. ... |
この複製サーバーを NIS (YP) 互換モードで実行する場合は、/lib/svc/method/nisplus ファイルに -Y オプションを追加します。このファイルの変更が必要となるのは、ルート複製サーバーで NIS クライアント要求を実行する場合で、このサーバーが NIS 互換サーバーとして構成されていない場合に限られます。NIS 互換サーバーの作成方法については、「クライアントを NIS+ サーバーとして構成する方法」を参照してください。NIS+ でのサービス管理機能コマンドの使用方法については、「NIS+ とサービス管理機能」を参照してください。
(省略可能) 複製サーバーを NIS (YP) 互換モードで稼働させることができるように構成します。
複製サーバーを NIS 互換モードで稼働させるには、次の手順に従います。
新たに作成した複製サーバーに名前空間データをロードします。
これには、次の 2 つの方法があります。
NIS+ の保存と復元の機能を使用して、マスターサーバーのデータを保存し、作成した複製サーバーに復元します (こちらの方法をお勧めします)。具体的な手順については、「名前空間データをロードする方法—nisrestore による方法」を参照してください。
nisping を実行します。nisping を実行すると、マスターサーバーのすべての NIS+ データを複製サーバーに完全に再同期させることができます。しかし、大きな名前空間の場合、処理に長時間かかることがあります。その間、マスターサーバーはビジーになって応答が遅く、また作成した複製サーバーはまだ NIS+ 要求に応答できない状態になることがあります。具体的な手順については、「名前空間データをロードする方法—nisping による方法」を参照してください。
名前空間データのロードが終了すれば、マシン client1 は NIS+ ルート複製サーバーとなります。この新しいルート複製サーバーは、ルートドメインのクライアントからの要求を処理できます。これでドメインで使用可能なサーバーが 2 台となるため、要求を速く処理できます。
これらの手順に従って、複製サーバーを必要なだけ作ることができます。同じ手順を使ってサブドメインに複製サーバーを作ることもできます。
Multihomed NIS+ サーバーを設定する手順は、単一インタフェースサーバーの設定手順と同じです。唯一の相違点は、ローカルの /etc/hosts ファイル、/etc/inet/ipnodes ファイルと NIS+ の hosts テーブルおよび ipnodes テーブル内に定義する必要があるインタフェースが、単一インタフェースサーバーよりも多いという点です。ホスト情報を定義したら、nisclient と nisserver スクリプトを使用して Multihomed NIS+ サーバーを設定します。
Multihomed NIS+ サーバーを設定する場合は、サーバーの主体名はシステムのノード名と同じにする必要があります。これは、Secured RPC と nisclient を同時に使用する際の必要条件です。
Secured RPC は、ノード名を使用して認証に必要なネット名を作成する
nisclient は、主体名を使用してクライアントの資格を作成する
次に、NIS+ ルートマスター以外のサーバーの設定手順を示します。以下の例では、ルートドメインの複製を作成しています。muitihomed ルートサーバーの設定方法については、「Multihomed NIS+ ルートマスターサーバーの設定方法」を参照してください。
サーバーのホスト情報を hosts ファイルまたは ipnodes ファイル内に追加します。
たとえば、3 つのインタフェースを装備した hostB システムの場合は、次のように入力します。
192.168.11.y hostB hostB-11 192.168.12.x hostB hostB-12 192.168.14.z hostB hostB-14 |
ルートマスターサーバー上で、nispopulate または nisaddent のどちらかを使用して、新しいホスト情報を hosts テーブルまたは ipnodes テーブル内にロードします。
たとえば、以下のようになります。
hostA# nispopulate -F -d sun.com hosts |
この例では、sun.com は NIS+ ルートドメイン名を表しています。自分の NIS+ ルートドメイン名を指定して nispopulate コマンドを実行してください。
ルートマスターサーバー上で、nisclient スクリプトを使用して新しいクライアントの資格を作成します。
hostA# nisclient -c -d sun.com hostB |
この例では、sun.com は ルートドメイン名を表しています。自分のルートドメイン名を指定して nisclient コマンドを実行してください。
ルート以外のマスターサーバー上で、新しいサーバーがまだ稼働していない場合は、nisclient を使用して新しいサーバーを起動し、このマシンを NIS+ クライアントとして初期化します。
たとえば、以下のようになります。
hostB# nisclient -i -d sun.com |
この例では、sun.com は ルートドメイン名を表しています。自分のルートドメイン名を指定して nisclient コマンドを実行してください。
ルートマスター上で、nisserver を使用してルートマスター以外のサーバーを設定します。
hostA# nisserver -M -d eng.sun.com -h hostB.sun.com. |
この例では、eng.sun.com は NIS+ ドメイン名を表し、hostB.sun.com は NIS+ サーバーの完全指定ホスト名を表しています。nisserver コマンドは、自分の NIS+ ドメイン名と NIS+ サーバーの完全指定ホスト名を指定して実行してください。
ルートマスターサーバー上で、nisserver を使用して複製サーバーを設定します。
たとえば、以下のようになります。
hostA# nisserver -R -d sun.com -h hostB.sun.com. |
この例では、sun.com は 複製サーバーを表し、hostB.sun.com は NIS+ サーバーの完全指定ホスト名を表しています。nisserver コマンドは、自分の複製サーバー名と NIS+ サーバーの完全指定ホスト名を指定して実行してください。
multihomed NIS+ 複製サーバーの設定が完了したら、このあとの設定手順は、単一インタフェースのサーバーの設定手順とまったく同じです。