Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、NIS+ 編)

既存のドメインに複製サーバーを追加する

NIS+ サービスを常に利用できる状態にしておきたいのであれば、ルート複製サーバーを少なくとも 1 つは作成しておくことをお勧めします。複製サーバーを作成すると複数のサーバーが存在することになり、要求の処理を分散させることができるため、ネットワーク要求の処理も高速化されます。

パフォーマンス上の理由から、1 つのドメインに多くの複製サーバーを置くことはお勧めできません。ネットワークが複数のサブネットで構成されている場合、あるいは広域ネットワーク (WAN) でリモートサイトに接続されている場合にだけ、複製サーバーを置くようにしてください。

複製サーバーの分散および最適な複製サーバー数については、サーバーの必要条件を決める を参照してください。既存のドメインに複製サーバーを追加するには、その複製サーバーを構成してから該当する名前空間の NIS+ データセットをロードします。

新しい複製サーバーを構成して NIS+ データセットをロードする方法には、次の 2 通りがあります。

NIS+ コマンドを使って複製サーバーを構成する

この節では、NIS+ コマンドを使って複製サーバーを既存のドメインに追加する方法について説明します。

セキュリティについて

この作業を実行する NIS+ 主体には、ドメインのディレクトリオブジェクトに対する変更権が必要です。

前提条件

必要な情報

NIS+ コマンドを使って複製サーバーを構成する— 作業マップ

表 7–1 NIS+ コマンドを使って複製サーバーを構成する

作業 

説明 

参照先 

NIS+ サーバーを設定する 

NIS+ コマンドを使って複製サーバーを設定する 

NIS+ コマンドを使って複製サーバーを構成する方法

NIS+ コマンドを使って複製サーバーを構成する方法

この例では、マスターサーバー名を master1、新しい複製サーバー名を replica2 とします。

  1. ドメインのマスターサーバーにログインします。

  2. rpc.nisd が稼働中であることを確認します。

  3. ドメインに複製サーバーを追加します。

    nismkdir コマンドに -s オプションを付けて実行します。次の例では、doc.com. ドメインに replica2 という名前の複製サーバーマシンを追加します。


    master1# nismkdir -s replica2 doc.com. 
    master1# nismkdir -s replica2 org_dir.doc.com. 
    master1# nismkdir -s replica2 groups_dir.doc.com.

    すでに存在するディレクトリオブジェクトに nismkdir コマンドを実行すると、ディレクトリは再作成されずに、与えられたフラグに基づいてディレクトリが変更されます。この場合、-s フラグはドメインに追加する複製サーバーを割り当てます。複製サーバーが追加されたことを確認するには、niscat -o コマンドを実行して、ディレクトリオブジェクトの定義を調べます。


    注意 – 注意 –

    nismkdir コマンドは必ずマスターサーバー上で実行してください。複製サーバー上で nismkdir コマンドを実行すると、マスターサーバーと複製サーバーとの間で通信上の問題が生じます。


    これで新しい複製サーバーの構成は完了です。次は、構成した複製サーバーに NIS+ データセットをロードします。NIS+ データセットのロードには、2 通りの方法があります。

    • nisping」。何もしなければ、マスターサーバーによって nisping コマンドが実行され、該当する名前空間データが新たに構成された複製サーバーにロードされます。名前空間が大きい場合は、データのロードに時間がかかることがあります。データのロード中は、ネーミング情報の要求は遅延することがあります。詳細は、nisping を使ってデータを複製サーバーにロードするを参照してください。

    • 「バックアップと復元」。nisping によるデータ転送に割り込みをかけ、NIS+ のバックアップ機能と復元機能を使って、名前空間データを新たに構成した複製サーバーにロードできます (nisrestore を使ってデータを複製サーバーにロードするを参照)。他の方法に比べて格段に早く効率的なので、こちらの方法をお勧めします。

nisrestore を使ってデータを複製サーバーにロードする

この節では、NIS+ のバックアップ機能と復元機能を使って名前空間データを新しい複製サーバーにロードする方法について説明します。この方法を使ってデータを複製サーバーにロードすることをお勧めします。

セキュリティについて

この作業を実行する NIS+ 主体には、ドメインのディレクトリオブジェクトに対する変更権が必要です。

前提条件

nisrestore を使ってデータを複製サーバーにロードする — 作業マップ

表 7–2 nisrestore を使ってデータを複製サーバーにロードする

作業 

説明 

参照先 

nisrestore を使ってデータを複製サーバーにロードする

nisrestore を使って名前空間データをロードする

名前空間データをロードする方法—nisrestore による方法

名前空間データをロードする方法—nisrestore による方法

この例では、マスターサーバー名を master1、新しい複製サーバー名を replica2 とします。

  1. 複製サーバー上の rpc.nisd を終了させます。

    マスターサーバーから複製サーバーへの名前空間データの自動ロード ( nisping による) が中断されます。

  2. マスターサーバー上で NIS+ バックアップ機能を実行します。

    この手順の詳細については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』を参照してください。以下の例では、nisbackup コマンドを使って master1/var/master1_bakup ディレクトリにバックアップします。


    master1# nisbackup -a /var/master1_bakup

    nisrestore を使って新しい複製サーバーを構成する最も簡単な方法は、マスターサーバーのデータを NFS にマウントされた (複製サーバーからアクセス可能な) ディレクトリにバックアップするというものです。この例では、マスターサーバーと新しい複製サーバーの両方に、/var/master1_bakup ディレクトリへのアクセス権が与えられているものと想定します。

    このほかに、tar コマンドを使って /var/master1_bakup ディレクトリからテープカートリッジなどの可搬記憶メディアにデータをコピーし、次に、その可搬記憶メディアから新しい複製サーバーにマウントされているディレクトリにデータをコピーしてから、そのディレクトリを nisrestore コマンドの情報源として使うという方法 (手順 3 を参照) もあります。

  3. nisrestore コマンドを使って、NIS+ データセットを新しい複製サーバーにロードします。

    この手順の詳細については、『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』を参照してください。以下の例では、nisrestore コマンドを使って NIS+ データを/var/master1_bakup ディレクトリから client2 にダウンロードします。


    replica2# nisrestore -a /var/master1_bakup

    作成している複製サーバーがルートドメインで使うものである場合、あるいは nisrestore が必要なデータを検証または見つけることができないという旨のエラーメッセージが出た場合は、次に示すように -f オプション付きで実行してみてください。


    replica2# nisrestore -f -a /var/master1_bakup
  4. 新しい複製サーバー上で rpc.nisd を再実行します。

    NIS+ サーバーを構成する方法 を参照してください。

nisping を使ってデータを複製サーバーにロードする

この節では、nisping コマンドを使って名前空間データを新しい複製サーバーにロードする方法について説明します。通常、このプロセスは自動的に実行されるため、nisping コマンドを実行する必要はまずありません。

nisping コマンドを使う方法の問題点は、マスターサーバーから複製サーバーへデータの再同期をとるために、NIS+ プロトコルを使ったネットワーク上のデータのやりとりが必要だということです。名前空間が大きい場合は、この処理に何時間もかかり、その間、名前管理情報の要求に対する応答が遅れることがあります。

セキュリティについて

この作業を実行する NIS+ 主体には、ドメインのディレクトリオブジェクトに対する変更権が必要です。

前提条件

nisping を使ってデータを複製サーバーにロードする — 作業マップ

表 7–3 nisping を使ってデータを複製サーバーにロードする

作業 

説明 

参照先 

nisping を使ってデータを複製サーバーにロードする

nisping を使ってデータを複製サーバーにロードする

名前空間データをロードする方法—nisping による方法

名前空間データをロードする方法—nisping による方法

通常、名前空間データのロードは、マスターサーバーによって自動的に開始されます。マスターサーバーによるロードが行われなかった場合は、次の説明に従って nisping コマンドを実行してください。

    ディレクトリに対して nisping を実行します。

この手順では、新しい複製サーバーにメッセージ「ping」を送信して、マスターサーバーに対して更新を要求するように通知します。複製サーバーがルートドメインに所属していない場合、必ずドメイン名を指定してください。次の例では、ドメイン名は完全を期すためにだけ記述してあります。この作業で使用する例は、ルートドメインに複製サーバーを追加しているため、次の例にあるドメイン名 doc.com. は必要ありません。


master1# nisping doc.com. 
master1# nisping org_dir.doc.com. 
master1# nisping groups_dir.doc.com.

次のような画面が表示されます。


master1# nisping doc.com. 
Pinging replicas serving directory doc.com. :
Master server is master1.doc.com.
 No last update time
Replica server is replica1.doc.com.
 Last update seen was Wed Nov 18 11:24:32 1992
 Pinging ... replica2.doc.com.

大きな名前空間の場合、この処理に何時間もかかる場合があります。nisping の詳細については、第 18 章「NIS+ ディレクトリの管理」を参照してください。