Solaris カーネルパラメタのデフォルト値は、リソースデータベースを使用する際に変更する必要があります。変更が必要なカーネルパラメタについては、このセクションで列挙します。カーネルパラメタが/etc/system ファイルにすでに設定されている場合は、このセクションに記載された推奨値を追加する必要があります。カーネルパラメタが/etc/system ファイルに設定されていない場合は、このセクションに記載された推奨値をデフォルト値に追加する必要があります。
注意
/etc/systemファイルの値はシステムを再起動するまで有効になりません。クラスタ起動後に、クラスタにノードが追加された場合や、共用ディスクが追加された場合は、追加後の新しいノード数とディスク数を使用して再計算を行い、/etc/systemの値を変更してからクラスタ内の各ノードを再起動します。
カーネルパラメタ変更の説明と方法の詳細については、OSのマニュアルを参照してください。
注意
クラスタシステム上で動作させる製品やアプリケーションで使用する値を、カーネルパラメタ値に対して検証する必要があります。
以下の表では、リソースデータベースを使用する場合に必要なカーネルパラメタの値を示します。
カーネルパラメタ | リソースデータベースで必要な値 |
---|---|
semsys:seminfo_semmni | 20 |
shmsys:shminfo_shmmni | 30 |
shmsys:shminfo_shmmax | 以下参照 |
shminfo_shmmaxの値は、次のようにして計算します。
共用ディスクデバイスのリソース数
DISKS ×(NODES+1) ×2
DISKS は、共用ディスクデバイスの数です。 ディスクアレイユニットの場合は論理ユニットの数 (LUN) を使用し、 ディスクアレイユニット以外のデバイスの場合は物理ディスクの数を使用します。
NODESは、共用ディスクに接続されているノードの数です。
ローカルディスクのリソース数
LOCAL_DISKS: クラスタ内のすべてのノードのローカルディスクの数を合計します。
リソースデータベースで必要な値
リソースデータベースで必要な値 = 1048576 + 2776 × (共用ディスクデバイスのリソース数 + ローカルディスクのリソース数)
値の選択
shminfo_shmmax がすでに別の製品で変更されている場合 (/etc/system がすでにshminfo_shmmax のエントリを持っている場合) は、shminfo_shmmaxの現在の値と手順 3 の値と 4194394 のうちで一番大きな値を設定します。
shminfo_shmmax がデフォルトから変更されていない場合 (/etc/system にshminfo_shmmax のエントリが存在しない場合) および、手順3 の結果がSolaris OSのデフォルト値(8388608)より大きい場合は、shminfo_shmmax を手順3 の値に設定し、それ以外の場合はshminfo_shmmaxを編集しません。
すべてのリソースを計算する式をまとめると以下のようになります。
TotalResources ={DISKS × (NODES+1) × 2 + LOCAL_DISKS}× 2776 + 1048576
/etc/systemにshminfo_shmmax の定義がある場合
現在の値がTotalResourcesと4194394よりも大きいとき
shminfo_shmmaxを変更しません。
現在の値がTotalResourcesより大きく、かつ、4194394よりも小さいとき
shminfo_shmmaxを4194394に変更します。
上記のどちらにもあてはまらないとき
shminfo_shmmaxをTotalResourcesに変更します。
/etc/systemにshminfo_shmmax の定義がない場合
TotalResourcesがSolaris OSのデフォルト値(8388608)より大きいとき
shminfo_shmmaxをTotalResourcesに変更します。
TotalResourcesがSolaris OSのデフォルト値(8388608)以下のとき
shminfo_shmmaxを変更しません。
例
以下の図を例に、リソース数の合計を計算する方法を説明します。
図3.1 クラスタリソース構成図
上の図の場合、以下のようにリソース数の計算を行います。
手順1:共用ディスクデバイスのリソース数
DISKS=6、 NODES=4
Remote Resources = 6 × (4+1) × 2 = 60
手順2: ローカルディスクのリソース数
LOCAL_DISKS = 2 × 4 = 8
手順3: リソースデータベースで必要な値
1048576 + 2776 × (60+8) = 1237344
1237344 は 4194394 未満です。したがって、 shminfo_shmmax には 4194394 を設定する必要があります。 手順 3 の値が 4194394 を超える場合は、shminfo_shmmax に手順3の値を設定します。