pooldの起動と構成方法
リソースプール (Resource Pool) をダイナミックに管理するpooldの起動と構成方法を紹介する。
【検証環境】
#
more /etc/release
Solaris 10 3/05 s10_74L2a SPARC
Copyright
2005 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 22 January 2005
# uname -a
SunOS s10test3 5.10 Generic sun4u sparc SUNW,Ultra-5_10
【起動&構成方法】
pooldはデフォルトでは起動していない。
試しに pooladm コマンドを引数なしで実行してみる。
#
pooladm
pooladm: プール状態ファイルをオープンできませんでした: 機能がアクティブでありません
これは poold が動作していないことを意味する。
poold を起動するには以下のコマンドを実行する。
#
pooladm -e
もういちど pooladm コマンドを実行すると以下の結果になる。
#
pooladm
system s10test3
string system.comment
int
system.version 1
boolean system.bind-default
true
int
system.poold.pid 10143
pool pool_default
int pool.sys_id 0
boolean pool.active true
boolean pool.default true
int pool.importance 1
string pool.comment
pset pset_default
pset pset_default
int pset.sys_id -1
boolean pset.default true
uint pset.min 1
uint pset.max 65536
string pset.units population
uint pset.load 670
uint pset.size 1
string pset.comment
cpu
int cpu.sys_id 0
string cpu.comment
string cpu.status on-line
これは1プロセッサマシンでの結果だが、マルチプロセッサマシンでは複数のCPUが pset_default
というデフォルトのプロセッサセットに組み込まれていることが確認できるはず。
通常はこの状態から poolcfgコマンドを使用して新しいプロセッサセットやプールを作成する。
poolcfg コマンドの使い方は別途紹介するとして、ここでは構成したつもりで先に進む。
とりあえず、上記設定で再起動後も poold が動くようにするためには/etc/pooladm.conf ファイルを作成する。
これは以下のコマンドで作成できる
#
pooladm -s [ファイル名]
-s のあとにファイルを指定すれば任意の名前で pool の構成ファイルを作成できるが、指定しない場合、デフォルトでは
/etc/pooladm.conf が作成される。ちなみにこれはXML形式になっている。
また、任意の構成ファイルを読みとるには以下のコマンドを実行する。
#
pooladm -c [ファイル名]
こちらもファイル名を指定しなければデフォルトで /etc/pooladm.conf が読みとられる。
ちなみにシステム起動時は /etc/rc2.d/S20sysetup ファイル内に以下のエントリで poold の起動が判断される。
pooladm.conf の存在チェック、pooladmコマンドの実行権チェック、globalゾーンであるかのチェックが行われ、pooladm
-e と pooladm -c が行われているのがわかる。
----------------------------------------------------------
if [ -f /etc/pooladm.conf ] && [ -x /usr/sbin/pooladm ]
&& \
[ "$_INIT_ZONENAME" = "global" ]; then
/usr/sbin/pooladm -e
/usr/sbin/pooladm -c
fi
----------------------------------------------------------
【停止方法】
カーネルが握っている現在の設定をクリアするには以下のコマンドを実行する。
#
pooladm -x
これにより、デフォルトの pset と pool の構成になる。
poold を停止するにはさらに以下のコマンドを実行する。
#
pooladm -d
これで poold も止まるので pooladm -e を実行する前の状態になっている。
起動後も poold を稼働させないようにするには当然、先ほど作成した /etc/pooladm.conf を削除orリネームする必要がある。
Solaris系技術トレーニング一覧