第3章 ETERNUS SF Managerのインストール
3.1 インストール前の作業
3.1.6 カーネルパラメーターのチューニング (Solaris/Linux 環境だけ )
運用時に必要となるカーネルパラメーターのチューニングを行います。
3.1.6.1 カーネルパラメーターのチューニング (Solaris 環境の場合 )
チューニングが必要なカーネルパラメーターとその値については、使用するSolarisのリリースに対応した説明を参照してください。
Solarisの各リリースと説明箇所の対応を以下に示します。
Solaris 10、Solaris 11
/etc/systemファイルに記載する方法と、/etc/projectファイルに記載する方法があります。導入する環境に応じて、どちらかの方法で
チューニングしてください。
- /etc/projectによるチューニング : Solaris 10およびSolaris 11(/etc/projectによるチューニング)の場合参照
- /etc/systemによるチューニング : Solaris 9、Solaris 10、およびSolaris 11(/etc/systemによるチューニング)の場合参照 Solaris 9
- /etc/systemによるチューニング : Solaris 9、Solaris 10、およびSolaris 11(/etc/systemによるチューニング)の場合参照
注意
表にある各パラメーターの説明で、“設定基準”が“最大値”とあるパラメーターについては、すでに設定されている値とデフォルト値を 比較して、大きい方の値を設定します。“加算”とあるパラメーターについては、すでに設定されている値またはデフォルト値に加算し た値を設定してください。
Solaris 9、Solaris 10、およびSolaris 11(/etc/systemによるチューニング)の場合
表3.1 カーネルパラメーターのチューニング値(Solaris環境の場合)
資源 パラメーター 必要となる値 設定基準
共有メモリ shmsys:shminfo_shmmax 40000000 最大値
shmsys:shminfo_shmmni 80 加算
セマフォ semsys:seminfo_semmni 310 加算
semsys:seminfo_semmns (*1) 610 加算
semsys:seminfo_semmnu (*1) 512 加算
semsys:seminfo_semmsl 35 最大値
メッセージ msgsys:msginfo_msgmax (*1) 512 最大値
msgsys:msginfo_msgmnb 4096 最大値
msgsys:msginfo_msgmni 3 加算
msgsys:msginfo_msgtql 100 最大値
(*1) Solaris 10およびSolaris 11では設定不要です。
カーネルパラメーターは、以下の方法で編集できます。
・ チューニングするためのレコードを/etc/systemファイルへ追加する
・ 現在のレコードの値を変更する 作業手順を以下に示します。
1. 以下のコマンドを使用して、現在システムに設定されている上記表に該当するパラメーターの設定値を確認します。
# /usr/sbin/sysdef
2. 「表3.1 カーネルパラメーターのチューニング値(Solaris環境の場合)」を参照し、現在の設定値と比較を行い、パラメーターごとに 最大、加算の種別を考慮の上、適切な設定値を算出します。
3. /etc/systemファイルを編集します。
/etc/systemファイルの編集例を以下に示します。(あくまでも例ですので、環境に合わせた設定を行ってください。) set shmsys:shminfo_shmmax = 40000000
set shmsys:shminfo_shmmni = 180 set shmsys:shminfo_shmseg = 60 set semsys:seminfo_semmni = 320 set semsys:seminfo_semmns = 670 set semsys:seminfo_semmnu = 542 set semsys:seminfo_semmsl = 35 set msgsys:msginfo_msgmax = 2048 set msgsys:msginfo_msgmnb = 4096 set msgsys:msginfo_msgmni = 53 set msgsys:msginfo_msgtql = 140
4. カーネルパラメーターのチューニングを反映させるため、システムを再起動します。
システムを再起動するコマンドを以下に示します。
# cd /
# /usr/sbin/shutdown -y -i6 -g0
5. システム再起動後、設定した値が反映されていることを、以下のコマンドの出力から確認します。
# /usr/sbin/sysdef
Solaris 10およびSolaris 11(/etc/projectによるチューニング)の場合
注意
・ 本製品を使用するサーバで、/etc/systemファイルによるチューニングだけサポートしている他ソフトウェアを使用する場合、設定値 に考慮が必要です。
・ /etc/systemファイルおよび/etc/projectファイルによるチューニングが混在する場合は、オペレーティングシステムのドキュメントを参
照し、適切な値を指定してください。
・ /etc/projectファイルによるチューニングの際には、Solarisのデフォルト値より小さく設定しないように注意してください。
ETERNUS SF Managerは、以下のプロジェクト配下で動作します。
・ systemプロジェクト
OS初期設定状態で存在するデーモンなどが動作するプロジェクト
・ user.rootプロジェクト
OS初期設定状態でroot権限で動作するプロセスが所属するプロジェクト 表3.2 資源制御のチューニング値
資源 パラメーター 必要となる値 設定基準 特権レベル
共有メモリ project.max-shm-memory 172000000 加算 特権値
project.max-shm-ids 80 加算 特権値
セマフォ project.max-sem-ids 310 加算 特権値
process.max-sem-nsems 35 最大値 特権値
メッセージ process.max-msg-qbytes 4096 最大値 特権値
project.max-msg-ids 3 加算 特権値
特権レベルの特権値は、/etc/projectファイルに "privileged"を指定します。
パラメーターを変更するには、/etc/projectファイルを編集します。
作業手順を以下に示します。
1. 以下のように、systemプロジェクトとuser.rootプロジェクトの初期値、および設定可能な値の上限を確認します。
# newtask -p system
# prctl $$
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT process.max-port-events
privileged 65.5K - deny - system 2.15G max deny -process.max-msg-messages
privileged 8.19K deny system 4.29G max deny
-~ 略 -~ zone.cpu-shares
privileged 1 none system 65.5K max none
-# newtask -p user.root
# prctl $$
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT process.max-port-events
privileged 65.5K - deny system 2.15G max deny process.max-msg-messages
privileged 8.19K deny system 4.29G max deny
-~ 略 -~ zone.cpu-shares
privileged 1 none system 65.5K max none
-2. 「表3.2 資源制御のチューニング値」を参照し、現在の設定値と比較を行い、パラメーターごとに最大、加算の種別を考慮の上、
適切な設定値を算出します。
3. projmodコマンドで、systemプロジェクトとuser.rootプロジェクトのそれぞれに対して値を設定します。
/etc/projectファイルの編集例を以下に示します。(あくまでも例ですので、環境に合わせて正しく設定を行ってください。)
# projmod -s -K 'project.max-msg-ids=(privileged,131,deny)' system
# projmod -s -K 'project.max-shm-ids=(privileged,208,deny)' system
# projmod -s -K 'project.max-sem-ids=(privileged,438,deny)' system
# projmod -s -K 'project.max-shm-memory=(privileged,270585456,deny)' system
# projmod -s -K 'project.max-msg-ids=(privileged,131,deny)' user.root
# projmod -s -K 'project.max-shm-ids=(privileged,208,deny)' user.root
# projmod -s -K 'project.max-sem-ids=(privileged,438,deny)' user.root
# projmod -s -K 'project.max-shm-memory=(privileged,270585456,deny)' user.root
4. 以下のコマンドを実行して設定情報を確認します。
確認コマンドの実行例を以下に示します。
# projects -l system
projid : 0 comment: ""
users : (none) groups : (none)
attribs: project.max-msg-ids=(privileged,131,deny) project.max-shm-ids=(privileged,208,deny) project.max-sem-ids=(privileged,438,deny)
project.max-shm-memory=(privileged,270585456,deny) user.root
projid : 1 comment: ""
users : (none) groups : (none)
attribs: project.max-msg-ids=(privileged,131,deny) project.max-shm-ids=(privileged,208,deny) project.max-sem-ids=(privileged,438,deny)
project.max-shm-memory=(privileged,270585456,deny) noproject
projid : 2 comment: ""
users : (none) groups : (none) attribs:
default
projid : 3 comment: ""
users : (none) groups : (none) attribs:
group.staff projid : 10 comment: ""
users : (none) groups : (none) attribs:
#
5. カーネルパラメーターのチューニングを有効にします。
実行例を以下に示します。コマンドの詳細についてはSolarisのマニュアルなどを参照してください。
- systemプロジェクト
# newtask -p system
- user.rootプロジェクト
# newtask -p user.root
6. 変更後のカーネルパラメーターの値を確認します。
実行例を以下に示します。コマンドの詳細についてはSolarisのマニュアルなどを参照してください。
- systemプロジェクト
# prctl -i project system
- user.rootプロジェクト
# prctl -i project user.root
3.1.6.2 カーネルパラメーターのチューニング(Linux環境の場合)
チューニングが必要なカーネルパラメーターとその値については、「表3.3 カーネルパラメーターのチューニング値(Linux環境の場合)」
を参照してください。
なお、カーネルパラメーターを編集するには、/etc/sysctl.confファイルへチューニングのためのレコードを追加または現在のレコードの 値を変更することで行います。
注意
・ /etc/sysctl.confファイルに値が設定されていない場合は、OSのデフォルト値が使用されています。この場合には、OSのデフォルト
値を基準にして追加や変更を行ってください。OSが使用している値は、sysctlコマンドにより表示できます。sysctlコマンドの詳細に ついては、OSのmanコマンドで確認してください。
・ 「表3.3 カーネルパラメーターのチューニング値(Linux環境の場合)」の各パラメーターの説明で、“設定済みの場合の対処”が“最 大値”とあるパラメーターについては、すでに設定されている値とデフォルト値の大きい方の値を設定します。“加算”とあるパラメー ターについては、すでに設定されている値またはデフォルト値に、加算した値を設定してください。
表3.3 カーネルパラメーターのチューニング値(Linux環境の場合)
資源 パラメーター名 必要となる値 設定済みの場合の対処 共有メモリ kernel.shmmax 40000000 最大値
kernel.shmmni 50 加算
セマフォ kernel.semの1番目の値(*1) 30 最大値
kernel.semの2番目の値(*1) 600 加算
kernel.semの4番目の値(*1) 300 加算
メッセージ kernel.msgmax 512 最大値
kernel.msgmnb 4096 最大値
kernel.msgmni 3 加算
(*1)kernel.semパラメーターは以下の形式で記述するため、設定値である4つの値で何番目かを表します。
なお、3番目の値は、すでに設定されている値またはデフォルト値を設定してください。
kernel.sem = para1 para2 para3 para4
/etc/sysctl.confファイルの編集例を以下に示します。
kernel.shmmax = 40000000 kernel.shmmni = 4200
kernel.sem = 250 32600 32 428 kernel.msgmax = 8192
kernel.msgmnb = 16384 kernel.msgmni = 18
カーネルパラメーターのチューニングを反映させるため、システムを再起動するか、sysctlコマンドを実行してください。
システムを再起動するコマンドを以下に示します。
# cd /
# /sbin/shutdown -r now
sysctlコマンドを実行して反映する場合の入力例を以下に示します。
# /sbin/sysctl -p /etc/sysctl.conf