赤び~家のネットワーク環境はこのようになっています。
centos_i386 (CentOS 5.5 32bit環境) は必要に応じて起動しているのですが、ノートPCから VNC 経由で Domain-0 に接続している場合、VNC の設定の問題なのか「仮想マシンマネージャー」を使用することができていません。
サーバから直接 Domain-0 を操作している場合
問題なく「仮想マシンマネージャー」が起動します。
![赤び~の備忘録-20100605_01_Xen1](https://stat.ameba.jp/user_images/20100605/12/kurabeat/01/5f/p/t02200091_0770032010575680671.png?caw=800)
VNC 経由でDomain-0 を操作している場合
エラーが発生し「仮想マシンマネージャー」も起動しません。
この現象は root権限で起動する GUI アプリケーション全てで発生するようです。
ex.)「ソフトウェアの追加/削除」の例
原因は調査していませんが、漠然と『画面の出力先に接続できないことが原因かな?』と考えています。
前置きが長くなってしまいましたが、上記理由により VNC 経由で Domain-U の起動や停止を行う場合はコマンドから行っています。
今回の記事は、普段使っている Xen コマンドの備忘録です。
![赤び~の備忘録-20100605_02_Xen2](https://stat.ameba.jp/user_images/20100605/12/kurabeat/5f/07/p/t02200165_0674050710575680673.png?caw=800)
![赤び~の備忘録-20100605_03_Xen3](https://stat.ameba.jp/user_images/20100605/12/kurabeat/ba/96/p/t02200165_0674050710575680674.png?caw=800)
最初に GRUB 画面が表示されます。
起動する kernel を選択すると、以下のような詳細メッセージが表示されて起動が完了します。
(メッセージの内容は環境により異なります)
(以下は centos_i386 の設定ファイルの例です。)
maxmem : 最大メモリサイズ
memory : 起動時のメモリサイズ
vcpus : CPU数
centos_i386 (CentOS 5.5 32bit環境) は必要に応じて起動しているのですが、ノートPCから VNC 経由で Domain-0 に接続している場合、VNC の設定の問題なのか「仮想マシンマネージャー」を使用することができていません。
サーバから直接 Domain-0 を操作している場合
# virt-manager
問題なく「仮想マシンマネージャー」が起動します。
![赤び~の備忘録-20100605_01_Xen1](https://stat.ameba.jp/user_images/20100605/12/kurabeat/01/5f/p/t02200091_0770032010575680671.png?caw=800)
VNC 経由でDomain-0 を操作している場合
# virt-manager
Xlib: connection to "[サーバ名].[ドメイン名]:1.0" refused by server
Xlib: No protocol specified
Xlib: connection to "[サーバ名].[ドメイン名]:1.0" refused by server
Xlib: No protocol specified
Traceback (most recent call last):
File "/usr/share/virt-manager/virt-manager.py", line 376, in ?
_show_startup_error(str(run_e), "".join(traceback.format_exc()))
File "/usr/share/virt-manager/virt-manager.py", line 52, in _show_startup_error
import gtk
File "/usr/lib64/python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 76, in ?
_init()
File "/usr/lib64/python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 64, in _init
_gtk.init_check()
RuntimeError: could not open display
エラーが発生し「仮想マシンマネージャー」も起動しません。
この現象は root権限で起動する GUI アプリケーション全てで発生するようです。
ex.)「ソフトウェアの追加/削除」の例
# pirut
Xlib: connection to "[サーバ名].[ドメイン名]:1.0" refused by server
Xlib: No protocol specified
Unable to import modules. Maybe you're not running under X?
Xlib: connection to "[サーバ名].[ドメイン名]:1.0" refused by server
Xlib: No protocol specified
Unable to import modules. Maybe you're not running under X?
原因は調査していませんが、漠然と『画面の出力先に接続できないことが原因かな?』と考えています。
前置きが長くなってしまいましたが、上記理由により VNC 経由で Domain-U の起動や停止を行う場合はコマンドから行っています。
今回の記事は、普段使っている Xen コマンドの備忘録です。
1. 起動サーバのリスト表示
# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 768 1 r----- 154.5
centos_x86_64 1 2047 3 -b---- 10.3
2. 起動サーバの状況確認
# xm top
![赤び~の備忘録-20100605_02_Xen2](https://stat.ameba.jp/user_images/20100605/12/kurabeat/5f/07/p/t02200165_0674050710575680673.png?caw=800)
3. Domain-U の起動
centos_i386を起動します。# xm create centos_i386
Using config file "/etc/xen/centos_i386".
Started domain centos_i386
# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 662 1 r----- 267.4
centos_i386 2 1023 1 -b---- 16.1
centos_x86_64 1 2047 3 -b---- 11.8
4. Domain-U の起動 (コンソールあり)
centos_i386をコンソールありで起動します。# xm create -c centos_i386
![赤び~の備忘録-20100605_03_Xen3](https://stat.ameba.jp/user_images/20100605/12/kurabeat/ba/96/p/t02200165_0674050710575680674.png?caw=800)
最初に GRUB 画面が表示されます。
起動する kernel を選択すると、以下のような詳細メッセージが表示されて起動が完了します。
(メッセージの内容は環境により異なります)
Using config file "/etc/xen/centos_i386".
Started domain centos_i386
rtc: IRQ 8 is not free.
i8042.c: No controller found.
(*) コンソールから Domain-0 に戻る場合は、"Ctrl" + "]" キーを押してください。Started domain centos_i386
rtc: IRQ 8 is not free.
i8042.c: No controller found.
5. Domain-U の停止
centos_i386を停止します。# xm shutdown centos_i386
# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 662 1 r----- 289.7
centos_x86_64 1 2047 3 -b---- 12.2
6. Domain-U の再起動
centos_i386を再起動します。# xm reboot centos_i386
7. 起動中の Domain-U のメモリサイズ変更
centos_i386のメモリサイズを1024MB→768MBに変更します。# xm mem-set centos_i386 768
# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 662 1 r----- 446.1
centos_i386 5 767 1 -b---- 17.9
centos_x86_64 1 2047 3 -b---- 14.3
8. 起動中の Domain-U のCUP数変更
centos_x86_64のCPU数を3→2に変更します。# xm vcpu-set centos_x86_64 2*) CPU数の最大数は /etc/xen/ 配下にある各 Domain-U の設定ファイル依存します。
# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 662 1 r----- 520.3
centos_i386 5 767 1 -b---- 17.9
centos_x86_64 1 2047 2 -b---- 15.5
9. Domain-U のデフォルト値の変更
起動していない Domain-U のメモリサイズやCPU数を変更する場合は、各 Domain-U の設定ファイルを変更する必要があります。(以下は centos_i386 の設定ファイルの例です。)
# less /etc/xen/centos_i386
name = "centos_i386"
uuid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
maxmem = 1024
memory = 1024
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncunused=1,keymap=ja" ]
disk = [ "tap:aio:/xen/centos_i386.img,xvda,w" ]
vif = [ "mac=00:00:00:00:00:00,bridge=xenbr0,script=vif-bridge" ]
name = "centos_i386"
uuid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
maxmem = 1024
memory = 1024
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncunused=1,keymap=ja" ]
disk = [ "tap:aio:/xen/centos_i386.img,xvda,w" ]
vif = [ "mac=00:00:00:00:00:00,bridge=xenbr0,script=vif-bridge" ]
maxmem : 最大メモリサイズ
memory : 起動時のメモリサイズ
vcpus : CPU数