UNIX での Natural バッファプールのアクティブ化

このドキュメントでは、次のトピックについて説明します。


全般的な情報

Natural バッファプールにはシステム起動時に毎回作成する必要があるリソースが必要なため、システム起動時にバッファプールをアクティブ化する手順を呼び出す必要があります。

Natural のインストールプロセスにより、バッファプールの開始/停止サービス手順が提供されます。プロシージャの名前は、インストールディレクトリに応じて生成されます。

さらに、Natural のインストール処理によってプラットフォームが自動的に決定し、システムの起動/停止時に起動/停止サービスプロシージャを実行するため、システムの準備が行われます(V スタイルまたは AIX)。プラットフォームによっては、初期化用のシステムディレクトリ、および必要に応じてランレベルの起動ディレクトリが選択されます。起動/停止サービスプロシージャは初期化用のシステムディレクトリにコピーされ、ランレベルの起動ディレクトリにリンクが作成されます。

Natural のインストールプロセスは、sudoers 権限が利用可能な場合に、バッファプールの開始/停止サービスをインストールします。このサービスは後述の説明に従って手動で設定することも、<install-dir>/Natural/INSTALL ディレクトリでスクリプト install_daemon_natbpsrv を使用することもできます。

Natural バッファプールの動作には、いくつかのオペレーティングシステムリソースが必要です。そのため、カーネルパラメータをチェックし、必要に応じて以下のように値を増やす必要があります。

バッファプールの動作を確認するには、バッファプールのアクティビティを監視するために使用される NATBPMON ユーティリティを起動します。

起動プロシージャの準備

<install-dir>/Natural/INSTALL ディレクトリ内の手順 sag<install-dir-number>natbpsrv をスクリプトまたはスクリプトテンプレートとして使用し、システム起動時に Natural バッファプールを呼び出すことができます。

Software AG Installer によって、各インストールディレクトリに内部番号が割り当てられます。これは、上述のプロシージャ名の表記 <install-dir-number> に反映されます。後述の説明は、内部番号 1 でインストールディレクトリを使用することを想定しています。そのため、プロシージャ名 sag1natbpsrv が使用されます。複数のインストールディレクトリがあり、スクリプトをコピーする必要がある場合、プロシージャ名の番号を調整する必要がある場合があります。

以下では次のトピックについて説明します。

システムの V スタイル起動プロシージャの準備

システムを設定するには、以下の手順に従います。

  1. ユーザー "root" としてログインします。

  2. スクリプト sag1natbpsrvinit.d システムディレクトリにコピーします。

    この説明では、init.d および rc3.d(後述参照)は、使用しているプラットフォームの該当パスを表します。以下の表には、さまざまなプラットフォーム上の init.d ディレクトリおよび rc3.d ディレクトリの場所が示されます。

    プラットフォーム 初期化用のシステムディレクトリ ランレベルの起動ディレクトリ
    Oracle Solaris /etc/init.d /etc/rc3.d
    HP-UX /sbin/init.d /sbin/rc3.d
    Linux /etc/init.d /etc/init.d/rc3.d or /etc/init.d/rc5.d
  3. すでに利用可能な場合は、init.d ディレクトリに含まれる現在の sag1natbpsrv ファイルのバックアップコピーを作成します(上述の表参照)。

  4. デフォルト値を使用しない場合は、以下の環境変数を sag1natbpsrv プロシージャで設定します。

    NAT_HOME Natural がインストールされていた場所。
    NATADM このバッファプールを担当する Natural システム管理者のログイン名。この管理者アカウントは "sag" と呼ばれ、ユーザー ID がシステムで既知であると想定しています。ルート権限を持つユーザーである必要はありません。

    注意:
    Bourne シェルでは、カスタマイズする行の等号の前後に空白は入れないでください。

  5. リンク "S64sag1natbpsrv" を rc3.d ディレクトリの sag1natbpsrv プロシージャに作成します(上述の表参照)。

    UNIX マシンのランレベル 3 起動ディレクトリで、バッファプール手順へのリンクを作成できます。rc3.d ディレクトリには複数の Bourne シェルスクリプト、または "S" で始まり、後に番号が続く Bourne シェルスクリプトへのリンクが含まれます。バッファプールでは、番号 "64" が使用されます。小さな番号が先に実行されます。このディレクトリにファイルまたはリンクを追加した場合、システムが"マルチユーザーモード"に変更されると各コードが実行されます。

Natural 開発サーバーを使用している場合は、バッファプールの後に Natural 開発サーバーが起動され、バッファプールの前に停止していることを確認します。

AIX 起動プロシージャの準備

システムを設定するには、以下の手順に従います。

  1. ユーザールートとしてログインします。

  2. スクリプト sag1natbpsrvetc システムディレクトリにコピーします。

  3. デフォルト値を使用しない場合は、以下の環境変数を sag1natbpsrv プロシージャで設定します。

    NAT_HOME Natural がインストールされていた場所。
    NATADM このバッファプールを担当する Natural システム管理者のログイン名。この管理者アカウントは "sag" と呼ばれ、ユーザー ID がシステムで既知であると想定しています。ルート権限を持つユーザーである必要はありません。

    注意:
    Bourne シェルでは、カスタマイズする行の等号の前後に空白は入れないでください。

  4. /etc/inittab ファイルにより、init コマンドのロールにスクリプトが汎用プロセスディスパッチャとして入力されます。そのため、mkitab コマンドを使用して /etc/inittab ファイルにレコードを sag1natbpsrv スクリプトとともに入力します。例えば、次のようになります。

    mkitab "sag1natbpsrv:3:wait:/etc/sag1natbpsrv > dev/console"
  5. 変更を検証し、変更の整合性が取れており、必要な変更のみが行われていることを確認します。

カーネルパラメータの変更

以下の情報は、Oracle Solaris、HP-UX、および Linux に適用されます。

注意:
AIX は IPC 設定をダイナミックに調整するため、カーネルパラメータの変更は必要ありません。

Natural バッファプールの動作には、次のオペレーティングシステムリソースが必要です。

  • セマフォのセットによりユーザー間の同期が有効になります。

  • バッファプールオブジェクトを保存する共有メモリ。

使用可能な共有メモリおよびセマフォの量は、カーネルで設定されます。現在のカーネルの変更方法については、システム管理者にお問い合わせいただくか、各オペレーティングシステムドキュメントを参照してください。

注意:
セマフォは Natural システムファイルへのアクセスを同期するためにも必要なため、ここでは追加のオペレーティングシステムリソースも考慮する必要があります。

次の省略形が使用されます。

NBP 1 台のコンピュータで実行されているバッファプールの数。
SMU すべてのバッファプールに対するすべての"最大ユーザー"割り当ての合計。
MAXMEM すべてのバッファプールの最大バッファプールサイズ値。
NSF 使用されるシステムファイルの数。

コンピュータにバッファプールが 1 つしかない場合は、以下の値が使用されます。

NBP 1
SMU ローカルコンフィグレーションファイルのバッファプール割り当てからの"最大ユーザー"割り当て。
MAXMEM ローカルコンフィグレーションファイルのバッファプール割り当てからのバッファプールサイズ。

デフォルトのパラメータ設定で定義されたすべてのリソースが通常のシステム動作中に使用されるわけではないため、デフォルト値は、約 1 MB のメモリを使用して最大 20 ユーザーをサポートする 1 つのバッファプールの動作に十分です。

注意:
環境に固有のデフォルト値は、カーネルコンフィグレーションファイルで確認できます。他のソフトウェアでより大きな値が必要になる場合があるため、デフォルト値を超えるカーネルパラメータは、値を小さくしないでください。

以下のカーネルパラメータを次のように必要な値に変更します。

Name 必要な値
SEMAEM * 少なくとも SMU である必要があります。
SEMMNI (NBP + NSF)ずつ増加します。
SEMMNS (SMU + 5 * NBP)+ NSF ずつ増加します。
SEMMNU * SMU ごとに増加します。
SEMMSL 少なくとも SMU + 4 である必要があります。
SEMUME * 5 以上である必要があります。
SEMVMX * 少なくとも SMU である必要があります。
SHMMAX 少なくとも MAXMEM である必要があります。
SHMMNI NBP ずつ増加します。
SHMSEG 4 以上である必要があります。

* Linux では変更できません。

再起動中に起動メッセージが表示されない場合は、init.dディレクトリ内の sag1natbpsrv ファイルに加えられた変更を確認します。

注意:
変更後にシステムが起動に失敗する(つまり、新しいカーネルを起動できない)場合は、起動手順にエラーがないか確認します。オペレーティングシステムのトラブルシューティングに関する詳細情報は、各オペレーティングシステムのドキュメントに記載されています。問題を解決できない場合は、Software AG サポートにお問い合わせください。