NIS+ サービスを常に利用可能な状態にしておくため、ルート複製サーバーを少なくとも 1 つ作成しておくことをお勧めします。複製サーバーを作成すると複数のサーバーが存在することになり、要求の処理を分散させることができるため、ネットワーク要求の処理も高速化されます。
パフォーマンス上の理由から、1 つのドメインに多くの複製サーバーを置くことはお勧めできません。ただし、ネットワークが複数のサブネットで構成されている場合、あるいは広域ネットワーク (WAN) でリモートサイトに接続されている場合には、複製サーバーを追加した方がいい場合があります。
「サブネット」。複数のサブネットで構成されているドメインの場合、各サブネットに複製サーバーを少なくとも 1 つは作成することをお勧めします。そうしておけば、ネットワーク間の通信が一時的に途絶しても、接続が回復するまでの間、サブネットレベルの機能は維持されます。
「リモートサイト」。WAN によりリモートサイトに接続されているドメインの場合、WAN 接続の両側に複製サーバーを少なくとも 1 つは作成することをお勧めします。組織論的な見地からしても、同一の NIS+ ドメインに物理的に離れた 2 つのサイトがあるのは意味のあることです。たとえば、ドメイン内のマスターサーバーとその複製サーバーがすべて一方のサイトに置かれている場合、そのサイトともう一方のサイトとの間の NIS+ ネットワークトラフィックが増大するのは目に見えています。もう一方のサイトにも複製サーバーを置いておけば、ネットワークトラフィックが減るはずです。
最適な複製サーバー数の決定方法については、ルート複製サーバーの作成 を参照してくさい。
ルート複製サーバーを作成する方法では、マシン client1 を doc.com. ドメインのルート複製サーバーとして構成します。この手順では、NIS+ スクリプトの nisserver を使用します。NIS+ コマンドを使って複製サーバーを構成する で説明しているように NIS+ コマンドを使用して複製サーバーを構成することもできます。
nisserver を実行して複製サーバーを作成するには、次の条件が必要です。
ドメインがすでに構成され、マスターサーバーが稼動している
マスターサーバーのテーブルが生成されている。少なくとも、hosts テーブルには新しいクライアントマシンのエントリが必要
新たに作成した複製サーバーを doc.com. ドメインのクライアントマシンとして初期設定している
新たに作成した複製サーバー上で rpc.nisd を起動している (具体的な手順については、NIS+ サーバーの設定を参照)
ルートマスターサーバーに root としてログインしている (この例では、ルートマスターマシン名は master1)
次の情報が必要です。
ドメイン名
クライアントマシン名 (この例では、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. If you want to run this replica in NIS (YP) compatibility mode, edit the /etc/init.d/rpc file on the replica server ' to uncomment the line which sets EMULYP to "-Y". This will ensure that rpc.nisd will boot in NIS-compatibility mode. Then, restart rpc.nisd with the “-Y” option. These actions should be taken after this script completes. |
上記のメッセージはオプションの手順に関するものです。NIS 互換ではないルート複製サーバーを NIS 互換にする場合にだけ、/etc/init.d/rpc ファイルを変更します。つまり、NIS 互換のサーバーとして構成されていないルート複製サーバーで NIS クライアント要求を実行する場合にだけ、このファイルの変更が必要になります。NIS 互換サーバーの作成については、クライアントを NIS+ サーバーとして構成する方法を参照してください。
必要に応じて、複製サーバーを NIS (YP) 互換モードで稼動させることができるように構成します。
複製サーバーを NIS 互換モードで稼動させるには、次の手順に従います。
新たに作成した複製サーバーに名前空間データをロードします。
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+ 複製サーバーの設定が完了したら、このあとの設定手順は、単一インタフェースのサーバーの設定手順とまったく同じです。