NIS+ サービスを常に利用可能な状態にしておくため、ルート複製サーバーを少なくとも 1 つは作成しておくことをお勧めします。複製サーバーを作成すると複数のサーバーが存在することになり、要求の処理を分散させることができるため、ネットワーク要求の処理も高速化されます。
パフォーマンス上の理由から、1 つのドメインに多くの複製サーバーを置くことはお勧めできません。ただし、ネットワークが複数のサブネットで構成されている場合、あるいは広域ネットワーク (WAN) でリモートサイトに接続されている場合には、複製サーバーを追加した方がいい場合があります。
「サブネット」
複数のサブネットで構成されているドメインの場合、各サブネットに複製サーバーを少なくとも 1 つは作成することをお勧めします。そうしておけば、ネットワーク間の通信が一時的に途絶しても、接続が回復するまでの間、サブネットレベルの機能は維持されます。
「リモートサイト」
WAN によりリモートサイトに接続されているドメインの場合、WAN 接続の両側に複製サーバーを少なくとも 1 つは作成することをお勧めします。組織論的な見地からすれば、同一の NIS+ ドメインに物理的に離れた 2 つのサイトがあるのは意味のあることです。たとえば、ドメイン内のマスターサーバーとその複製サーバーがすべて一方のサイトに置かれている場合、そのサイトともう一方のサイトとの間の NIS+ ネットワークトラフィックが増大するのは目に見えています。もう一方のサイトにも複製サーバーを置いておけば、ネットワークトラフィックが減るはずです。複製サーバーの分散配置については、『NIS+ への移行』を参照してください。
最適な複製サーバーの数については、『Solaris ネーミングの管理』を参照してください。
「ルート複製サーバーを作成する方法」では、マシン client1 を doc.com. ドメインのルート複製サーバーとして構成します。この手順では、NIS+ スクリプトの nisserver を使用します。「NIS+ コマンドによる複製サーバーの構成」で説明しているように NIS+ コマンドを使用して複製サーバーを構成することもできます。
nisserver を実行してルート複製サーバーを作成するには、次の条件が必要です。
ドメインがすでに構成され、マスターサーバーが稼動している
マスターサーバーのテーブルが生成されている。少なくとも、hosts テーブルには新しいクライアントマシンのエントリが 1 つは必要
新たに作成した複製サーバーを doc.com. ドメインのクライアントマシンとして初期設定している。(具体的な手順については、「NIS+ クライアントマシンの設定」を参照)
新たに作成した複製サーバー上で rpc.nisd(1M) を起動している。(具体的な手順については、「NIS+ サーバーの設定」を参照)
ルートマスターサーバーにルートとしてログインしている。(この例では、ルートマスターマシン名は 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 (YP) 互換ではないルート複製サーバーを NIS 互換にする場合にだけ、/etc/init.d/rpc ファイルを変更します。つまり、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+ 複製サーバーの設定が完了したら、このあとの設定手順は、単一インタフェースのサーバーの設定手順とまったく同じです。