Show Table of Contents
6.15. その他の仮想マシンのタスク
6.15.1. SAP モニタリングの有効化
管理ポータルから仮想マシンの SAP モニタリングを有効にします。
6.15.2. Red Hat Enterprise Linux 5.4 以降の仮想マシンで SPICE を使用するための設定
SPICE は、仮想デスクトップや仮想サーバーの表示を可能にする、仮想化環境向けに設計されたリモートディスプレイプロトコルです。SPICE は質の高いユーザーエクスペリエンスを提供しつつ、CPU の使用率を低減し、高品質のビデオストリーミングに対応します。
SPICE を Linux マシンで使用すると、仮想マシンのコンソール上のマウスカーソルの動きが大幅に向上します。SPICE を使用するためには、X-Windows に追加の QXL ドライバーが必要です。QXL ドライバーは Red Hat Enterprise Linux 5.4 以降で提供されており、これより古いバージョンではサポートされていません。Red Hat Enterprise Linux を実行する仮想マシンに SPICE を インストールすると、グラフィカルユーザーインターフェースのパフォーマンスが大幅に向上します。
注記
SPICE は通常、ユーザーが GUI を使用する必要のある仮想マシンに最も有用です。仮想サーバーを作成するシステム管理者が、グラフィカルユーザーインターフェースを最小限しか使用しない場合には、SPICE の設定を望まない可能性があります。
6.15.2.1. QXL ドライバーのインストールおよび設定
QXL ドライバーは、Red Hat Enterprise Linux 5.4 以降のバージョンを実行している仮想マシンに手動でインストールします。仮想マシンが Red Hat Enterprise Linux 6.0 または 7.0 を実行している場合には、QXL ドライバーがデフォルトでインストールされているので、この作業は必要ありません。
手順6.33 QXL ドライバーのインストール
- Red Hat Enterprise Linux 仮想マシンにログインします。
- QXL ドライバーをインストールします。
# yum install xorg-x11-drv-qxl
グラフィカルインターフェースまたはコマンドラインを使用して、QXL ドライバーを設定することができます。以下の手順のいずれか 1 つのみを実行してください。
手順6.34 GNOME での QXL ドライバー設定
- システム をクリックします。
- 管理 をクリックします。
- ディスプレイ をクリックします。
- ハードウェア タブをクリックします。
- ビデオカードの設定 をクリックします。
- qxl を選択して、OK をクリックします。
- 仮想マシンからログアウトした後に再度ログインして、X-Windows を再起動します。
手順6.35 コマンドライン上での QXL ドライバー設定
- 以下のコマンドを実行して、
/etc/X11/xorg.conf
をバックアップします。# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.$$.backup
/etc/X11/xorg.conf
の Device のセクションを以下のように変更します。Section "Device" Identifier "Videocard0" Driver "qxl" Endsection
6.15.2.2. SPICE を使用するためのタブレットとマウスの設定
/etc/X11/xorg.conf
ファイルを編集して、仮想マシンのタブレットデバイスで SPICE を有効にします。
手順6.36 SPICE を使用するためのタブレットとマウスの設定
- ゲストで、タブレットデバイスが使用可能であるかどうかを確認します。
# /sbin/lsusb -v | grep 'QEMU USB Tablet'
コマンドで出力が全く表示されない場合は、タブレットの設定は中止してください。 - 以下のコマンドを実行して、
/etc/X11/xorg.conf
をバックアップします。# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.$$.backup
/etc/X11/xorg.conf
に以下の変更を加えます。Section "ServerLayout" Identifier "single head configuration" Screen 0 "Screen0" 0 0 InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Tablet" "SendCoreEvents" InputDevice "Mouse" "CorePointer" EndSection Section "InputDevice" Identifier "Mouse" Driver "void" #Option "Device" "/dev/input/mice" #Option "Emulate3Buttons" "yes" EndSection Section "InputDevice" Identifier "Tablet" Driver "evdev" Option "Device" "/dev/input/event2" Option "CorePointer" "true" EndSection
- 仮想マシンからログアウトした後に、再度ログインして、X-Windows を再起動します。
6.15.3. KVM 仮想マシンの時刻管理
仮想化には、仮想マシンの時刻管理におけるさまざまな課題が伴います。一部の CPU のタイムスタンプカウンター (TSC) は一定ではないため、クロックソースとして TSC を使用する仮想マシンに時刻同期の問題が発生する場合があります。正確な時刻管理なしに稼働している仮想マシンが、実際の時間よりも早くもしくは遅く動作すると、ネットワーク接続されたアプリケーションに深刻な影響を及ぼす可能性があります。
KVM は、仮想マシンに準仮想化クロックを提供することにより、この問題に対処します。KVM
pvclock
は、この機能をサポートする KVM ゲストに安定した時刻ソースを提供します。 現在、凖仮想化クロックに完全に対応するのは Red Hat Enterprise Linux 5.4 以降のマシンのみです。
不正確なクロックとカウンターが原因で、仮想マシンに以下のような問題が発生する場合があります。
- クロックが実際の時間と同期しなくなることにより、セッションが無効となり、ネットワークに影響を及ぼす場合があります。
- クロックが遅れた仮想マシンは、移行する場合に問題が発生することがあります。
このような問題は、他の仮想プラットフォームでも存在するので、時刻同期は常にテストする必要があります。
重要
ホストと仮想マシンで、Network Time Protocol (NTP) デーモンが稼働している必要があります。
ntpd
サービスを有効にしてください。 # service ntpd start
デフォルトの起動シーケンスに ntpd サービスを追加します。
# chkconfig ntpd on
ntpd
サービスを使用すると、いかなる場合でもクロックスキューを最小限に抑えることができるはずです。 使用する NTP サーバーは、稼働中でホストおよび仮想マシンにアクセス可能である必要があります。
CPU に Constant TSC が搭載されているかどうかの確認
constant_tsc
フラグが付いている場合には、CPU は Constant TSC を搭載しています。CPU に constant_tsc
フラグが付いているかどうかを確認するには、以下のコマンドを実行します。 $ cat /proc/cpuinfo | grep constant_tsc
何らかの出力が表示された場合は、CPU に
constant_tsc
ビットが搭載されていることになります。出力が全く表示されなかった場合には、以下の手順に従ってください。
Constant TSC を搭載していないホストの設定
Constant TSC を搭載してないシステムには、追加の設定が必要です。電源管理機能により、正確な時刻管理が妨げられてしまうので、KVM を使用して仮想マシンが正確に時刻管理するには、この機能を無効にする必要があります。 重要
以下に説明する手順は、AMD リビジョン F の CPU のみが対象となります。
CPU に
constant_tsc
ビットが搭載されていない場合には、電源管理機能をすべて無効にします (BZ#513138)。各システムには、時刻管理のためのタイマーが複数あります。TSC は、ホスト上では安定していません。これは、cpufreq
の変化やディープ C ステート、より高速な TSC を搭載したホストへの移行などが原因となる場合があります。ディープ C スリープ状態に入ると、TSC が停止する可能性があります。カーネルがディープ C ステートを使用しないようにするには、ホスト上の grub.conf
ファイルのカーネルブートオプションに、「processor.max_cstate=1
」を追記します。 term Red Hat Enterprise Linux Server (2.6.18-159.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-159.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet processor.max_cstate=1
/etc/sysconfig/cpuspeed
設定ファイルを編集して MIN_SPEED
と MAX_SPEED
の変数を使用可能な最高の周波数に変更することにより、cpufreq
を無効にします (constant_tsc
が搭載されていないホストのみで必要)。有効な上限値は、/sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies
ファイルに記載されています。 時刻設定のずれによってホストの同期が外れた場合にアラートを受信するための
engine-config
ツールの使用rhevm-config
ツールを使用すると、時刻設定のずれによってホストが同期から外れた際のアラートを設定することができます。 ホスト上の時刻のずれに関連するパラメーターは
EnableHostTimeDrift
と HostTimeDriftInSec
の 2 つです。EnableHostTimeDrift
をデフォルト値 false に設定すると 、ホストの時刻のずれの通知を受信することができます。HostTimeDriftInSec
パラメーターは、アラートが送信開始されるまでの最大許容誤差を設定するのに使用します。 アラートはホストごとに 毎時 1 回送信されます。
Red Hat Enterprise Linux 仮想マシンでの準仮想化クロックの使用
一部の Red Hat Enterprise Linux 仮想マシンには、追加のカーネルパラメーターが必要です。これらのパラメーターは、/boot/grub/grub.conf ファイルの /kernel の行の末尾に追記することによって設定できます。 注記
カーネルパラメーターの設定プロセスは、
ktune
パッケージを使用して自動化することが可能です。 ktune
パッケージは、対話型の Bourne シェルスクリプト fix_clock_drift.sh
を提供します。スーパーユーザーとして実行すると、このスクリプトはさまざまなシステムパラメーターを検査し、スクリプトを実行している仮想マシンが負荷時にクロックドリフトの影響を受けやすいかどうかを判断します。影響を受けやすい場合には、/boot/grub/
ディレクトリーに新規 grub.conf.kvm
ファイルを作成します。このファイルには、カーネルが KVM 仮想マシンにおける大幅なクロックドリフトを明らかにして防止できるようにするためのカーネルパラメーターが追加されたカーネルブート行が含まれています。スーパーユーザーとして fix_clock_drift.sh
を実行した後、スクリプトによって grub.conf.kvm
ファイルが作成されたら、システム管理者は、仮想マシンの現行の grub.conf
ファイルを手動でバックアップしてから、新規 grub.conf.kvm
ファイルを手動でチェックし、追加のブート行のパラメーター以外は grub.conf
と同じであることを確認した上で、最後に grub.conf.kvm
ファイルを grub.conf
に名前変更して仮想マシンを再起動する必要があります。 以下の表には、Red Hat Enterprise Linux のバージョンと、Constant TSC が搭載されていないシステム上の仮想マシンに必要なパラメーターをまとめています。
Red Hat Enterprise Linux | 仮想マシンの追加カーネルパラメーター |
---|---|
準仮想化クロックを搭載の 5.4 AMD64/Intel 64 | 追加のパラメーターは不要 |
準仮想化クロックを搭載していない 5.4 AMD64/Intel 64 | notsc lpj=n |
準仮想化クロックを搭載した 5.4 x86 | 追加のパラメーターは不要 |
準仮想化クロックを搭載していない 5.4 x86 | clocksource=acpi_pm lpj=n |
5.3 AMD64/Intel 64 | notsc |
5.3 x86 | clocksource=acpi_pm |
4.8 AMD64/Intel 64 | notsc |
4.8 x86 | clock=pmtmr |
3.9 AMD64/Intel 64 | 追加のパラメーターは不要 |
3.9 x86 | 追加のパラメーターは不要 |
Comments