Xen Domain0からのxmよる操作コマンド一覧

ここではドメイン名がvt01, vt02等の場合でxmコマンドの使い方を説明している。

DomainU(ゲストOS)の起動

xm create vt01

このコマンドでは起動だけで、起動状況は確認できない。起動状況を確認しながら(コンソール接続しながら)起動したい場合はcreateに-cオプションをつけて実行する。

xm create -c vt01

DomainUシャットダウン

xm shutdown vt01

指定したDomainUがシャットダウンされるまでコンソールを止めておく場合は-wオプションをつける。

xm shutdown -w vt01

コンソール接続(アタッチ)

xm console vt01

ちなみにコンソールのデタッチはCtrl+”]”で行える。

Domain一覧表示

xm list
---------------------------------------------------------
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      490     2 r-----    436.1
vt01                                       4      255     1 -b----     33.6
---------------------------------------------------------

Domain負荷状態確認topコマンド

xm top
---------------------------------------------------------
xentop - 06:42:45   Xen 3.1.0-53.1.21.el5
3 domains: 1 running, 2 blocked, 0 paused, 0 crashed, 0 dying, 0 shutdown
Mem: 1046696k total, 1045944k used, 752k free    CPUs: 2 @ 3192MHz
NAME  STATE   CPU(sec) CPU(%)     MEM(k) MEM(%)  MAXMEM(k)
vt02 --b---       1224    0.0     261908   25.0     262144
Domain-0 -----r       3380    0.0     501944   48.0   no limit
vt01 --b---        923    0.0     262004   25.0     262144
---------------------------------------------------------

※画面が長いので途中で切っています。

vt01以外にvt02も起動しています。
topコマンドのような感じで負荷状態をリアルタイムで確認できます。

メモリの割り当てを動的に変更する

現在割り当てられているメモリを減らす場合は問題は無いが、動的割り当てではmaxmem以上を割り当てることはできないので、事前に設定ファイルのmaxmemをあげている必要がある。maxmemを変更した場合はDomainUを一度リブートではなく停止して再起動する必要がある。virt-installdでDomainUをインストールした場合は設定ファイルは/etc/xen/以下にある。

xm mem-set vt01 256
maxmem = 512
memory = 256

もちろん、Domain0も含めて物理的にハードウェアが持っているメモリ以上には割り当てることはできない。このとき注意したいのはDomain0の割り当てメモリである。Domain0にもある程度メモリ(デフォルトでは最低256MB)を割り当てていなければならないのでDomainUのために割り当てられるメモリは(物理的なメモリ)-(Domain0のメモリ)が理論値になる。これまでの経験上では実際には理論値よりも少なくしか割り当てられないようだ。
Domain0のメモリはDomainUへメモリを割り当てるとdom0-min-memで設定されている最小メモリまでは自動的に減っていく。

Domain0のメモリを減らしてでもDomainUに割り当てたい場合はDomain0のメモリの割り当てを減らすことになる。

xm mem-set 0 200

再起動時にもこの設定が有効になるようにするには/etc/xen/xend-config.sxpを編集しておく必要がある。

vi /etc/xen/xend-config.sxp
---------------------------------
#(dom0-min-mem 256)
(dom0-min-mem 200)
---------------------------------