N1 SPS マスターサーバーは、PostgreSQL データベースを使用します。PostgreSQL の起動には、共有メモリーセグメントが必要です。PostgreSQL の共有メモリーセグメント要求が使用可能なメモリーを超えていると、データベースの起動に失敗し、コンソールに次のエラーメッセージが出力されます。
Error! Failed to initialize the database (exit value was 1). Exiting..
The installation of the Master Server is incomplete. It can be removed by using the following command:
# pkgrm SUNWspsms SUNWspsc1
また、db エラーログには、次のようなメッセージが含まれます。
IpcMemoryCreate: shmget(key=5432001, size=426688512, 03600) failed: Not enough space
マスターサーバーのインストール中は、共有メモリーを使用しているほかのすべてのプロセスを停止させることを推奨します。物理 RAM のアップグレード後もマスターサーバーをインストールできない場合は、『Sun N1 Service Provisioning System 5.2 インストールガイド』の第 10 章「Sun N1 Service Provisioning System 5.2 へのアップグレード」を参照してください。この章では、マスターサーバーを、このマシンから最小システム要件を満たしている別のマシンに移行するための手順が説明されています。
対処方法: この問題を回避するには、システムの物理 RAM を増設してください。最小システム構成要件を満たしていないシステムにマスターサーバーをインストールすることはできません。
マスターサーバーの最小システム構成要件は、『Sun N1 Service Provisioning System 5.2 インストールガイド』の「マスターサーバーのハードウェア要件」に記載されています。
また、マスターサーバーのインストールは成功したが、共有メモリーの制約で起動に失敗する場合は、次のいずれか一方または両方の方法で、マスターサーバーの共有メモリー要件を緩和することができます。
postgres 構成ファイル $BASEDIR/N1_Service_Provisioning_System_5.2/server/postgres/data/postgresql.conf 内のmax_connections および shared_buffers パラメータの値を小さくする。max_connections を 32 、shared_buffers を 8,000 に設定します。
$BASEDIR/N1_Service_Provisioning_System_5.2/server/config/config.properties ファイル内の db.maxconnections プロパティを 30 に減らす。