B.2 Oracle VM Serverのトラブルシューティング

B.2.1 デバッグ・ツール
B.2.2 DHCPの使用
B.2.3 ゲストのクロックの設定
B.2.4 wallclock時刻のずれの問題
B.2.5 マウス・ポインタ追跡の問題
B.2.6 ハードウェア仮想化ゲストの停止
B.2.7 ハードウェア仮想化ゲスト・デバイスが正常に動作しない
B.2.8 ファイアウォールでのNFSアクセスのブロック
B.2.9 仮想マシンの移行

この項では、Oracle VM Serverの使用時に発生する可能性があるいくつかの問題およびその解決方法について説明します。

Oracleサポート・サービスに問合せが必要な場合、この項で説明するログ・ファイルの提供を求められます。各Oracle VM構成要素の正確なバージョンを提供する必要がある場合もあります。Oracle VM Managerのバージョンを確認するには、「Help」メニューをクリックし、次に「About」をクリックします。Oracle VM ServerおよびOracle VMエージェントのバージョンを確認するには、6.9.15項「Oracle VM Serverオペレーティング・システム情報および制御ドメインの表示」を参照してください。

B.2.1 デバッグ・ツール

仮想マシンの作成に失敗した場合、Oracle VM Serverのログ・ファイルを確認し、コマンドライン・ツールを使用して問題の原因を特定してください。Oracle VM Serverの問題をトラブルシューティングする際に使用する多くの便利なコマンドライン・ツールや、確認する必要のある重要なディレクトリおよびログ・ファイルがあります。この項では、次の内容を説明します。

  • Oracle VM Serverのディレクトリ

  • Oracle VM Serverのログ・ファイル

  • Oracle VM Serverのコマンドライン・ツール

B.2.1.1 Oracle VM Serverのディレクトリ

表B.2「Oracle VM Serverのディレクトリ」に、Oracle VM Serverの問題をトラブルシューティングする際に確認する必要がある重要なOracle VM Serverのディレクトリを示します。

表B.2 Oracle VM Serverのディレクトリ

ディレクトリ

目的

/etc/xen

Oracle VM Serverデーモンと仮想化ゲストのOracle VM Server構成ファイルを含みます。

/etc/xen/scripts

ネットワーク関連スクリプトを含みます。

/var/log

Oracle VMエージェントのログ・ファイルのovs-agent.logを含みます。

仮想マシン・ライフ・サイクル・イベントを記録するovmwatch.logを含みます。

リモートVNCコンソール・アクセスを記録し、Oracle VM Managerとのすべての通信を記録するovm-consoled.logを含みます。

/var/log/xen

Oracle VM Serverのログ・ファイルを含みます。

/var/log/messages

Oracle VM Serverのメッセージを含みます。


B.2.1.2 Oracle VM Serverのログ・ファイル

表B.3「Oracle VM Serverのログ・ファイル」に、Oracle VM Serverの問題をトラブルシューティングする際に確認する必要があるOracle VM Serverのログ・ファイルを示します。

表B.3 Oracle VM Serverのログ・ファイル

ログ・ファイル

目的

xend.log

Oracle VM Serverデーモンのすべてのアクションのログを含みます。アクションは、通常の条件またはエラー条件です。このログ・ファイルには、xm logコマンドによる出力と同じ情報が含まれます。このファイルは/var/log/xenディレクトリにあります。

xend-debug.log

Oracle VM Serverデーモンのアクションの詳細ログを含みます。このファイルは/var/log/xenディレクトリにあります。

xen-hotplug.log

ホットプラグ・イベントのログを含みます。デバイスまたはネットワーク・スクリプトが起動しない、または使用できない場合、ホットプラグ・イベントがログに記録されます。このファイルは/var/log/xenディレクトリにあります。

qemu-dm.pid.log

各ハードウェア仮想化ゲストのログを含みます。このログは、quemu-dmプロセスによって作成されます。psコマンドを使用してpid(プロセス識別子)を検索し、これをファイル名に置き換えます。このファイルは/var/log/xenディレクトリにあります。

ovs-agent.log

Oracle VMエージェントのログを含みます。このファイルは/var/log/ディレクトリにあります。

osc.log

Oracle VM Storage Connectプラグインのログを含みます。このファイルは/var/log/ディレクトリにあります。

ovm-consoled.log

Oracle VM仮想マシン・コンソールのログを含みます。このファイルは/var/log/ディレクトリにあります。

ovmwatch.log

Oracle VM監視デーモンのログを含みます。このファイルは/var/log/ディレクトリにあります。


B.2.1.3 Oracle VM Serverのコマンドライン・ツール

表B.4「Oracle VM Serverのコマンドライン・ツール」に、Oracle VM Serverの問題をトラブルシューティングする際に使用する必要があるOracle VM Serverのコマンドライン・ツールを示します。

表B.4 Oracle VM Serverのコマンドライン・ツール

コマンドライン・ツール

目的

xentop

Oracle VM Serverおよびドメインのリアルタイム情報を表示します。

xm dmesg

ハイパーバイザのログ情報を表示します。

xm log

Oracle VM Serverデーモンのログ情報を表示します。


Oracle VM Serverの組込みユーティリティとは異なる、追加のOracle VMコマンドライン・ユーティリティのセットをダウンロードできます。これらのOracle VMユーティリティは、Oracle VM環境のOracle VM Serverおよび仮想マシンでの一連の基本的な管理タスクの実行が可能なコマンドライン・スクリプトのコレクションです。これらのユーティリティは、特定の操作を迅速にまたは繰り返し行う必要のある管理者にとって特に便利です。コマンドライン・スクリプトを使用することで、これらのタスクをすばやく簡単に実行できます。これらのユーティリティの詳細は、『Oracle VMユーティリティ・ガイド』を参照してください。

B.2.2 DHCPの使用

Oracle VM Serverは、静的IPアドレスのコンピュータにインストールすることをお薦めします。コンピュータでDHCPを使用する場合は、DHCPサーバーを構成して静的DHCPアドレスを割り当てる必要があります。これによって、ホストは常に同じIPアドレスを受信できます。DHCPのリース期間によってIPアドレスが変わる可能性のある環境で使用すると、Oracle VM Serverホストの動作が不確定になります。

B.2.3 ゲストのクロックの設定

準仮想化ゲストが、NTPD(ネットワーク・タイム・プロトコル・デーモン)などを使用して、固有のシステム・クロック管理を実行するか、または、ハイパーバイザが、すべてのゲストのシステム・クロック管理を実行します。

/etc/sysctl.confファイルのxen.independent_wallclockパラメータを1に設定すると、固有のシステム・クロックを管理するために準仮想化ゲストを設定できます。次に例を示します。

"xen.independent_wallclock = 1"

ハイパーバイザを設定して準仮想化ゲストのシステム・クロックを管理する場合、xen.independent_wallclock0に設定します。ゲストの時間の設定または変更の処理は失敗します。

/procファイルの設定を一時的に変更できます。次に例を示します。

"echo 1 > /proc/sys/xen/independent_wallclock"
注意

この設定は、ハードウェア仮想化ゲストに適用されません。

B.2.4 wallclock時刻のずれの問題

ゲストのインストール後に特定のオペレーティング・システム・バリアントのブート・ローダー(grub.conf)構成ファイルに追加のパラメータが必要になる場合があります。特に、最適かつ正確なクロックには、Linuxゲスト・ブート・パラメータを指定して、pitクロック・ソースを使用する必要があります。ほとんどのゲストにclock=pit nohpet nopmtimerを追加することで、ゲストのクロック・ソースとしてpitが選択されます。Oracle VM用に公開されているテンプレートには、これらの追加パラメータが含まれます。

仮想時間を正確に保守することは困難です。様々なパラメータが仮想時間の管理と補完のチューニングを行いますが、ゲスト内で実行されるntp時間サービスのかわりにはなりません。ntpdサービスが実行され、/etc/ntpd.conf構成ファイルが有効な時間サーバーを示していることを確認してください。

B.2.5 マウス・ポインタ追跡の問題

マウス・ポインタがハードウェア仮想化ゲストのVNC Viewerセッションのカーソルを追跡しない場合、次を/etc/xen/xend-config.sxpのOracle VM Server構成ファイルに追加して、デバイス・モデルで絶対(タブレット)座標が使用されるようにします。

usbdevice='tablet'

変更を有効にするには、Oracle VM Serverを再起動します。サーバー・プールのOracle VM Serverごとに、これを実行する必要がある場合があります。

B.2.6 ハードウェア仮想化ゲストの停止

ハードウェア仮想化ゲストを実行すると、QEMUプロセス(qemu-dm)のメモリー使用量が特に負荷の高いI/Oで大幅に増加する可能性があります。このため、メモリーが不足してハードウェア仮想化ゲストが停止する場合があります。ゲストが停止した場合は、dom0のメモリーの割当てを(たとえば、512MBから768MBに)増加します。

B.2.7 ハードウェア仮想化ゲスト・デバイスが正常に動作しない

サウンド・カードなどの一部のデバイスがハードウェア仮想化ゲストで正常に動作しない場合があります。ハードウェア仮想化ゲストでは、物理メモリー・アドレスを必要とするデバイスが、代替として仮想化されたメモリー・アドレスを使用するため、正しくないメモリー位置の値が設定される可能性があります。これは、ハードウェア仮想化ゲストではDMA(ダイレクト・メモリー・アクセス)が仮想化されるためです。

ハードウェア仮想化ゲストのオペレーティング・システムは、アドレス0以上のメモリーにロードされます。これは、最初にロードされるハードウェア仮想化ゲストに対してのみ実行されます。Oracle VM Serverは、メモリー・アドレス0を割り当てられたメモリーのサイズに仮想化しますが、ゲスト・オペレーティング・システムは、実際には別のメモリー位置にロードされます。違いがシャドウ・ページ・テーブルで修正されますが、オペレーティング・システムはこれを認識しません。

たとえば、100MBのアドレスでWindowsを実行しているハードウェア仮想化ゲストのメモリーに音声がロードされると、目的の音声ではなく、サウンド・カードによってガベージが生成されることがあります。これは、実際の音声が100MB+256MBの位置でロードされるためです。サウンド・カードは100MBのアドレスを受け取りますが、実際は256MBの位置です。

コンピュータのメモリー管理単位のIOMMU(I/Oメモリー管理ユニット)では、仮想アドレスと物理アドレスをマッピングし、ハードウェア仮想化ゲストからハードウェアに直接アクセスできるようになるため、この問題はなくなります。

B.2.8 ファイアウォールでのNFSアクセスのブロック

Oracle VM Serverは、デフォルトで外部コンピュータ(またはゲスト)からのNFSアクセスをブロックします。このため、NFS接続を使用してゲストを作成する場合に問題が発生することがあります。これを解決するには、次のコマンドでファイアウォールを無効にします。

# service iptables stop

B.2.9 仮想マシンの移行

同等ではないハードウェアを使用するコンピュータの仮想マシンは移行できません。仮想マシンを移行するには、同じ型および同じモデルのハードウェアおよび同じCPUファミリのCPUを使用する必要があります。また、同じリリース番号のOracle VM Serverも必要です。