NIS+ への移行

サーバの必要条件を決める

各 NIS+ ドメインは、一組の NIS+ サーバによってサポートされています。各組は、一つのマスタサーバサーバと一つ以上のレプリカサーバを持っています。これらのサーバは、ドメインのディレクトリ、グループ、テーブルを格納して、ユーザ、管理者、アプリケーションからのアクセス要求に応答します。各ドメインをサポートしているのは、一組のサーバだけです。一組のサーバで、複数のドメインをサポートすることができますがお勧めできません。

NIS+ サービスでは、マスターサーバを少なくとも1つ各 NIS+ ドメインに割り当てる必要があります。各ドメインが必要とする複製サーバの数は、通信量の負荷、ネットワークの構成、および NIS クライアントが存在するかどうかなどによって決まります。サーバメモリの量、ディスク記憶容量、およびプロセッサの速度は、クライアントの数およびサーバ上に置かれる通信量の負荷によって決まります。

Solaris 2.x が動作しているワークステーションで、十分な容量のハードディスクさえ備わっていれば、NIS+ サーバにすることができます。NIS+ のサーバ用、クライアント用のソフトウェアは、どちらも Solaris 製品に含まれています。したがって、Solaris 2.x リリースがインストールされているワークステーションであれば、サーバかクライアント、またはこの両方にすることができます。

NIS+ 名前空間をサポートするために必要なサーバを決定するとき、次のセクションで説明する要因を考慮する必要があります。

サポートするドメインの数

初めに、階層内の各ドメインに1つのマスターサーバを割り当てます。

図 2-4 サーバをドメインに割り当てる

Graphic

1つ以上の複製を各ドメインに割り当てます。複製を使うと、マスターサーバが一時的に使用不可能な場合でも、要求に応答することができます。(使用する複製の数については、「名前空間の構造を設計する」を参照してください。)

図 2-5 ドメインへの複製サーバの追加

Graphic

複製サーバの数

ドメインに最適なサーバの数(マスターと複製)は、数多くの要因によって決まります。

各種のマシンを使わないでドメイン当たり複製の数を十分なものにする1つの方法は、マルチホームのサーバを作成することです。マルチホームサーバとは、複数のイーサネットまたはネットワークインタフェースを持っているマシンをいいます。マルチホームサーバは、1 つのドメイン内にある複数のサブネットにサービスを提供することができます。(マスターあるいは複製サーバに複数のドメインを設定することもできますが、これはお勧めできません。)

サーバの速度

サーバの速度が早いほど、 NIS+ の性能は向上します (しかし、その場合 NIS+ サーバは SMP マルチスレッドハードウェアを有効に利用することはできません)。NIS+ サーバは、あるいは平均的なクライアントと同等かそれ以上に強力にする必要があります。新しいクライアントのサーバとして古いマシンを使うことはお勧めできません。

サーバの速度以外に、その他の多くの要因が NIS+ の性能に影響を与えます。ユーザおよびホストの数と種類、実行しているアプリケーションの種類、ネットワークトポロジー、負荷の密度、およびその他の要因すべてが NIS+ の性能に影響します。したがって、 2 つの異なるネットワークにおいて、同じサーバハードウェアからまったく同じ性能を期待することはできません。

表 2-2 に示したベンチマーク数字は、比較のためにだけ示してあります。ネットワーク上の性能は、この数字とは違うこともあります。下に示したベンチマークの数字は、 10000 エントリという標準的なテーブルサイズのテストネットワークに基づいています。

表 2-2 ハードウェア速度と NIS+ 動作の比較
 マシン 秒当たりの整合動作数 秒当たりの追加動作数
 SS5-110  400  6
 SS20-50  440  6
 PPro-200  760 13
 Ultra-167  800 11
 Ultra-200 1270  8

サーバメモリの容量

サーバの絶対最低メモリ必要量は 32M バイトですが、中から大規模ドメインのサーバは少なくとも 64M バイトを装備した方が良いでしょう。

I理想的には、 NIS+ サーバは、 有効な NIS+ テーブルすべての検索可能カラムのエントリすべてを RAM 内に一度に保存できるほど十分なメモリが必要です。要するに、最適なサーバメモリは、すべてのNIS+ テーブルが必要とするの合計メモリ必要量になります。

分かりやすくするため、表 2-3 は検索可能カラムが5つある netgroup テーブルのメモリ必要量を示し、表 2-4passwdhost および cred テーブルのおおよそのメモリ必要量を示しています。

表 2-3 netgroups テーブルに必要なサーバメモリ
 エントリの数 サーバメモリ使用量( M バイト)
 6000 4.2
 60000 39.1
 120000 78.1
 180000 117.9
 240000 156.7
 300000 199.2

表 2-4 passwd テーブルに必要なおおよそのメモリ
 エントリの数 サーバメモリ使用量( M バイト)
 6000 3.7
 60000 31.7
 120000 63.2
 180000 94.9
 240000 125.8
 300000 159.0
 1000000 526.2

他のテーブルには、検索可能な各カラムに対してエントリ当たりの平均バイト数に予測エントリ数を掛けると、メモリサイズを予測することができます。たとえば、エントリが 10000 で検索可能カラムが 2 のテーブルがあるとします。最初のカラムでのエントリ当たりの平均バイト数は 9 で、 2 番目のカラムでのエントリ当たり平均バイト数は 37 です。したがって、計算結果は、 ( 10000 x 9 )+( 10000 x 37 )= 46000 になります。


注 -

cred テーブルのエントリ数を予測するときは、ユーザのローカル資格証明書に 1 つ、DES 資格証明書に 1 つづつ、すべてのユーザ2 つのエントリを持つことを忘れないでください。各マシンが使用するエントリは 1 つだけです。


標準的な NIS+ テーブルのそれぞれにある検索可能カラムの数については、「NIS+ 標準テーブル」を参照してください。

サーバディスク容量

必要なディスクスペースは、次の 4 つの要因によって決まります。

Solaris 2.x ソフトウェアは、インストールした量によって、220 M バイトを超えるディスクスペースを必要とすることがあります。正確な数字については、『Solaris のインストール (上級編)』を参照してください。また、サーバが使用する他のソフトウェアの使用するディスクスペースも計算に入れる必要があります。NIS+ ソフトウェア自体は、Solaris 2.4 配布の一部であるため、余分なディスクスペースを使用しません。

NIS+ のディレクトリ、グループ、テーブル、クライアント情報は、/var/nis に格納されています。この /var/nis ディレクトリは、1 つのクライアントごとにおよそ 5 K バイトのディスクスペースを使用します。たとえば、名前空間に 1000 のクライアントがあると、/var/nis には、およそ 5 M バイトのディスクスペースが必要になります。ただし、同じく /var/nis に格納されるトランザクションのログが大量になる場合があるため、クライアント-ごとにディスクスペースを追加する必要があるかもしれません。この場合は 10〜15 M バイトの容量を追加するようお勧めします。つまり、1000 のクライアントがあるときは、15〜20 M バイトを /var/nis に割り当ててください。トランザクションのログに対して定期的にチェックポイントを実行する場合、この数字を減らすことができます。 /var/nis には独立したパーティションを設けることをお勧めします。パーティションが独立していることにより、オペレーティングシステムのアップグレードを行う際、その作業が容易になります。

NIS+ を NIS と並行して使用するときは、/var/yp に対して、/var/nis に割り当てている量と同じ容量を割り当てて、NIS から転送する NIS マップを格納してください。

さらに、サーバの通常のスワップ空間の所要量に加えて、rpc.nisd- のサイズの 2 倍のスワップ空間も必要になります。システム上で rpc.nisd が使用しているメモリの量を確認するには、 nisstat コマンドを実行します。詳細は、 rpc.nisd マニュアルページを参照してください。この空間のほとんどは、コールバック操作中や、 nisping -C によってディレクトリに対しチェックポイントを実行するか、複製サーバが作成されるときに使用されます。これは、このような手続き中には、NIS+ サーバプロセス全体がフォークされるためです。使用するスワップ空間が、64 M バイト未満になることはありません。