この項では、Oracle VM Serverの使用時に発生する可能性があるいくつかの問題およびその解決方法について説明します。
Oracleサポート・サービスに問合せが必要な場合、この項で説明するログ・ファイルの提供を求められます。各Oracle VM構成要素の正確なバージョンを提供する必要がある場合もあります。Oracle VM Managerのバージョンを確認するには、「Help」メニューをクリックし、次に「About」をクリックします。Oracle VM ServerおよびOracle VMエージェントのバージョンを確認するには、6.9.15項「Oracle VM Serverオペレーティング・システム情報および制御ドメインの表示」を参照してください。
仮想マシンの作成に失敗した場合、Oracle VM Serverのログ・ファイルを確認し、コマンドライン・ツールを使用して問題の原因を特定してください。Oracle VM Serverの問題をトラブルシューティングする際に使用する多くの便利なコマンドライン・ツールや、確認する必要のある重要なディレクトリおよびログ・ファイルがあります。この項では、次の内容を説明します。
Oracle VM Serverのディレクトリ
Oracle VM Serverのログ・ファイル
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.3「Oracle VM Serverのログ・ファイル」に、Oracle VM Serverの問題をトラブルシューティングする際に確認する必要があるOracle VM Serverのログ・ファイルを示します。
表B.3 Oracle VM Serverのログ・ファイル
ログ・ファイル | 目的 |
---|---|
xend.log |
Oracle VM Serverデーモンのすべてのアクションのログを含みます。アクションは、通常の条件またはエラー条件です。このログ・ファイルには、 |
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.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ユーティリティ・ガイド』を参照してください。
Oracle VM Serverは、静的IPアドレスのコンピュータにインストールすることをお薦めします。コンピュータでDHCPを使用する場合は、DHCPサーバーを構成して静的DHCPアドレスを割り当てる必要があります。これによって、ホストは常に同じIPアドレスを受信できます。DHCPのリース期間によってIPアドレスが変わる可能性のある環境で使用すると、Oracle VM Serverホストの動作が不確定になります。
準仮想化ゲストが、NTPD(ネットワーク・タイム・プロトコル・デーモン)などを使用して、固有のシステム・クロック管理を実行するか、または、ハイパーバイザが、すべてのゲストのシステム・クロック管理を実行します。
/etc/sysctl.confファイルのxen.independent_wallclock
パラメータを1
に設定すると、固有のシステム・クロックを管理するために準仮想化ゲストを設定できます。次に例を示します。
"xen.independent_wallclock = 1"
ハイパーバイザを設定して準仮想化ゲストのシステム・クロックを管理する場合、xen.independent_wallclock
を0
に設定します。ゲストの時間の設定または変更の処理は失敗します。
/procファイルの設定を一時的に変更できます。次に例を示します。
"echo 1 > /proc/sys/xen/independent_wallclock"
この設定は、ハードウェア仮想化ゲストに適用されません。
ゲストのインストール後に特定のオペレーティング・システム・バリアントのブート・ローダー(grub.conf)構成ファイルに追加のパラメータが必要になる場合があります。特に、最適かつ正確なクロックには、Linuxゲスト・ブート・パラメータを指定して、pitクロック・ソースを使用する必要があります。ほとんどのゲストにclock=pit nohpet nopmtimer
を追加することで、ゲストのクロック・ソースとしてpitが選択されます。Oracle VM用に公開されているテンプレートには、これらの追加パラメータが含まれます。
仮想時間を正確に保守することは困難です。様々なパラメータが仮想時間の管理と補完のチューニングを行いますが、ゲスト内で実行されるntp時間サービスのかわりにはなりません。ntpd
サービスが実行され、/etc/ntpd.conf構成ファイルが有効な時間サーバーを示していることを確認してください。
マウス・ポインタがハードウェア仮想化ゲストのVNC Viewerセッションのカーソルを追跡しない場合、次を/etc/xen/xend-config.sxpのOracle VM Server構成ファイルに追加して、デバイス・モデルで絶対(タブレット)座標が使用されるようにします。
usbdevice='tablet'
変更を有効にするには、Oracle VM Serverを再起動します。サーバー・プールのOracle VM Serverごとに、これを実行する必要がある場合があります。
ハードウェア仮想化ゲストを実行すると、QEMUプロセス(qemu-dm)のメモリー使用量が特に負荷の高いI/Oで大幅に増加する可能性があります。このため、メモリーが不足してハードウェア仮想化ゲストが停止する場合があります。ゲストが停止した場合は、dom0のメモリーの割当てを(たとえば、512MBから768MBに)増加します。
サウンド・カードなどの一部のデバイスがハードウェア仮想化ゲストで正常に動作しない場合があります。ハードウェア仮想化ゲストでは、物理メモリー・アドレスを必要とするデバイスが、代替として仮想化されたメモリー・アドレスを使用するため、正しくないメモリー位置の値が設定される可能性があります。これは、ハードウェア仮想化ゲストではDMA(ダイレクト・メモリー・アクセス)が仮想化されるためです。
ハードウェア仮想化ゲストのオペレーティング・システムは、アドレス0以上のメモリーにロードされます。これは、最初にロードされるハードウェア仮想化ゲストに対してのみ実行されます。Oracle VM Serverは、メモリー・アドレス0を割り当てられたメモリーのサイズに仮想化しますが、ゲスト・オペレーティング・システムは、実際には別のメモリー位置にロードされます。違いがシャドウ・ページ・テーブルで修正されますが、オペレーティング・システムはこれを認識しません。
たとえば、100MBのアドレスでWindowsを実行しているハードウェア仮想化ゲストのメモリーに音声がロードされると、目的の音声ではなく、サウンド・カードによってガベージが生成されることがあります。これは、実際の音声が100MB+256MBの位置でロードされるためです。サウンド・カードは100MBのアドレスを受け取りますが、実際は256MBの位置です。
コンピュータのメモリー管理単位のIOMMU(I/Oメモリー管理ユニット)では、仮想アドレスと物理アドレスをマッピングし、ハードウェア仮想化ゲストからハードウェアに直接アクセスできるようになるため、この問題はなくなります。