ここではドメイン名が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) ---------------------------------