19.24. エラーメッセージの解釈

19.24. エラーメッセージの解釈

次のようなエラー表示があるとします:

failed domain creation due to memory shortage, unable to balloon domain0

RAM が充分にないと、ドメインは失敗する可能性があります。Domain0 は、新規作成のゲスト用に領域を提供する為に縮小はしません。このエラーについては xend.logファイルを確認することになります:

[2006-12-21] 20:33:31 xend 3198] DEBUG (balloon:133) Balloon: 558432 Kib free; 0 to scrub; need 1048576; retries: 20
[2006-12-21] 20:33:31 xend. XendDomainInfo 3198] ERROR (XendDomainInfo: 202
Domain construction failed

xm list Domain0 コマンドを使うと domain0 が使用しているメモリーの量をチェックできます。domain0 が縮小しなければ、コマンド "xm mem-set Domain-0 NewMemSize" を使用してメモリーをチェックできます。

次のようなエラー表示があるとします:

wrong kernel image: non-PAE kernel on a PAE

このメッセージは、ユーザーが Hypervisor 上でサポートされていないゲストカーネルイメージを実行しようとしていることを示すものです。これは、RHEL 5.0 hypervisor 上で 非 PAE のparavirtual ゲストカーネルを起動しようとする時に発生します。Red Hat Virtualization は PAE と 64bit アーキテクチャを持つゲストカーネルのみをサポートします。

次のコマンドを入力します:

[root@smith]# xm create -c va base

Using config file "va-base"
Error: (22, 'invalid argument')
[2006-12-14 14:55:46 xend.XendDomainInfo 3874] ERRORs
(XendDomainInfo:202) Domain construction failed

Traceback (most recent call last)
File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 195 in create vm.initDomain()
File " /usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1363 in initDomain raise VmError(str(exn))
VmError: (22, 'Invalid argument')
[2006-12-14 14:55:46 xend.XendDomainInfo 3874] DEBUG (XenDomainInfo: 1449]
XendDlomainInfo.destroy: domin=1
[2006-12-14 14:55:46 xend.XendDomainInfo 3874] DEBUG (XenDomainInfo: 1457]
XendDlomainInfo.destroy:Domain(1)

32bit/非-PAE カーネルを実行する必要がある場合は、使用中のゲストを完全仮想化の仮想マシンとして実行する必要があります。paravirtual のゲストの為に 32bit PAE ゲストを実行する必要がある場合は、32bit PAE hypervisor が必要となります。paravirtual のゲストの為に、64bit PAE ゲストを実行する必要がある場合は、64bit PAE hypervisor が必要となります。完全仮想化のゲスト用には、64bit hypervisor を持つ 64bit ゲストを実行しなければなりません。RHEL 5 i686 に同梱してある 32bit PAE hypervisor は 32bit PAE paravirtual ゲスト OS と 32 bit の完全仮想化ゲスト OS の実行のみをサポートします。64bit hypervisor は 64bit paravirtual のゲストのみをサポートします。

これは、完全仮想化の HVM ゲストを RHEL 5.0 システムに移動する時に発覚します。ユーザーのゲストは起動に失敗する可能性があり、コンソール画面にエラーが出るでしょう。設定ファイル内の PAE エントリをチェックして、pae=1 であることを確認します。32bit のディストリビューションを使用する必要があります。

次のようなエラー表示があるとします:

Unable to open a connection to the Xen hypervisor or daemon

これは、virt-manager アプリケーションが起動に失敗した時に発生します。このエラーは/etc/hosts 設定ファイル内にローカルホストのエントリがない場合に起こります。そのファイルをチェックして、ローカルホストが有効であるかどうか確認します。以下に間違えたローカルホストのエントリ例を示します:

# Do not remove the following line, or various programs
# that require network functionality will fail.
localhost.localdomain localhost

以下に正しいローカルホストエントリの例を示します:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
localhost.localdomain. localhost

以下のエラーが表示されます( xen-xend.log ファイル内で) :

Bridge xenbr1 does not exist!

これは、ゲストのブリッジが間違えた設定を持っている時に発生し、これが Xen hotplug スクリプトを強制的にタイムアウトにします。設定ファイルをホスト間で移動する時は、ゲストの設定ファイルを更新してネットワークのトポロジーと設定修正を反映するようにしなければなりません。間違えた、又は存在しない Xen ブリッジの設定を持つゲストを開始しようとすると、以下のようなエラーが出ます:

[root@trumble virt]# xm create r5b2-mySQL01

Using config file " r5b2-mySQL01"
Going to boot Red Hat Enterprise Linux Server (2.6.18.-1.2747 .el5xen)
kernel: /vmlinuz-2.6.18-12747.el5xen
initrd: /initrd-2.6.18-1.2747.el5xen.img
Error: Device 0 (vif) could not be connected. Hotplug scripts not working.

更には、xend.log は次のエラーを表示します:

[2006-11-14 15:07:08 xend 3875] DEBUG (DevController:143) Waiting for devices vif
[2006-11-14 15:07:08 xend 3875] DEBUG (DevController:149) Waiting for 0
[2006-11-14 15:07:08 xend 3875] DEBUG (DevController:464) hotplugStatusCallback

/local/domain/0/backend/vif/2/0/hotplug-status

[2006-11-14 15:08:09 xend.XendDomainInfo 3875] DEBUG (XendDomainInfo:1449) XendDomainInfo.destroy: domid=2
[2006-11-14 15:08:09 xend.XendDomainInfo 3875] DEBUG (XendDomainInfo:1457) XendDomainInfo.destroyDomain(2)
[2006-11-14 15:07:08 xend 3875] DEBUG (DevController:464) hotplugStatusCallback

/local/domain/0/backend/vif/2/0/hotplug-status

この問題を解決するには、ゲスト設定ファイルを編集して、vif エントリを修正する必要があります。設定ファイルの vif を見つけた場合、ユーザーが xenbr0 をデフォルトブリッジとして使用していると想定すると、正しいエントリは以下の例に似ています:

# vif = ['mac=00:16:3e:49:1d:11, bridge=xenbr0',]

次のような python depreciation エラーを受け取るとします:

[root@python xen]# xm shutdown win2k3xen12
[root@python xen]# xm create win2k3xen12

Using config file "win2k3xen12".

/usr/lib64/python2.4/site-packages/xenxm/opts.py:520: Deprecation Warning:
Non ASCII character '\xc0' in file win2k3xen12 on line 1, but no encoding
declared; see http://www.python.org/peps/pep-0263.html for details

execfile (defconfig, globs, locs,)
Error: invalid syntax 9win2k3xen12, line1)

Python は、無効な(又は間違えた) 設定ファイルがある場合にこれらのメッセージを生成します。この問題を解決するには、間違えた設定ファイルを修正するか、又は新しいものを生成します。