6.16. その他の仮想マシンタスク
6.16.1. SAP モニタリングの有効化
管理ポータルで仮想マシンの SAP モニタリングを有効にします。
仮想マシンでの SAP モニタリングの有効化
-
をクリックし、仮想マシンを選択します。 - をクリックします。
- Custom Properties タブをクリックします。
ドロップダウンリストから
sap_agent
を選択します。セカンダリードロップダウンメニューが True に設定されていることを確認します。以前のプロパティーが設定されている場合は、正符号を選択して新しいプロパティールールを追加し、
sap_agent
を選択します。- をクリックします。
6.16.2. SPICE を使用する Red Hat Enterprise Linux 5.4 以降の仮想マシンの設定
SPICE は仮想環境向けに設計されたリモートディスプレイプロトコルで、仮想化デスクトップまたはサーバーを表示できます。SPICE は、高品質のユーザーエクスペリエンスを提供し、CPU の消費を低く保ち、高品質なビデオストリーミングをサポートします。
Linux マシンで SPICE を使用すると、仮想マシンのコンソールでのマウスカーソルの動きが大幅に改善されます。SPICE を使用するには、X-Windows システムに追加の QXL ドライバーが必要です。QXL ドライバーは、Red Hat Enterprise Linux 5.4 以降と共に提供されます。それ以前のバージョンには対応していません。Red Hat Enterprise Linux を実行している仮想マシンに SPICE をインストールすると、グラフィカルユーザーインターフェイスのパフォーマンスが大幅に改善されます。
通常、これはユーザーがグラフィカルユーザーインターフェイスを使用する必要がある仮想マシンに最も有用です。仮想サーバーを作成するシステム管理者は、サーバーでのグラフィカルユーザーインターフェイスの使用が最小限であれば、SPICE を設定しないことを好む場合があります。
6.16.2.1. QXL ドライバーのインストールおよび設定
Red Hat Enterprise Linux 5.4 以降を実行する仮想マシンに QXL ドライバーを手動でインストールする必要があります。QXL ドライバーがデフォルトでインストールされるため、Red Hat Enterprise Linux 6 または Red Hat Enterprise Linux 7 を実行する仮想マシンではこの作業は不要です。
QXL ドライバーのインストール
- Red Hat Enterprise Linux 仮想マシンにログインします。
QXL ドライバーをインストールします。
# yum install xorg-x11-drv-qxl
グラフィカルインターフェイスまたはコマンドラインのいずれかを使用して QXL ドライバーを設定できます。以下のいずれか一方の手順を実行します。
GNOME での QXL ドライバーの設定
- System をクリックします。
- Administration をクリックします。
- Display をクリックします。
- Hardware タブをクリックします。
- Video Cards Configure をクリックします。
- qxl を選択し、 をクリックします。
- 仮想マシンからログアウトし、ログインし直して X-Windows を再起動します。
コマンドラインでの 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.16.2.2. SPICE を使用するための仮想マシンのタブレットおよびマウスの設定
/etc/X11/xorg.conf
ファイルを編集し、仮想マシンのタブレットデバイスの SPICE を有効にします。
SPICE を使用するための仮想マシンのタブレットおよびマウスの設定
ゲストでタブレットデバイスが利用可能であることを確認します。
# /sbin/lsusb -v | grep 'QEMU USB Tablet'
If there is no output from the command, do not continue configuring the 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.16.3. KVM 仮想マシンの時刻管理
仮想化には、仮想マシンの時刻の維持に関してさまざまな課題があります。一部の CPU には一定のタイムスタンプカウンターがないため、TSC (タイムスタンプカウンター) をクロックソースとして使用する仮想マシンでは、タイミングの問題が発生することがあります。正確な時刻管理なしで実行される仮想マシンは、実際の時刻よりも早く、または遅く実行されるため、ネットワーク化されたアプリケーションに深刻な影響を与える可能性があります。
KVM は、準仮想化クロックを仮想マシンに提供することで、この問題を回避します。KVM pvclock
は、これに対応する KVM ゲストに対して安定したタイミングソースを提供します。
現在、準仮想化クロックを完全にサポートしているのは、Red Hat Enterprise Linux 5.4 以降の仮想マシンのみです。
仮想マシンには、不正確なクロックとカウンターによりさまざまな問題が生じる可能性があります。
- クロックが実際の時刻と同期できなくなり、セッションが無効になり、ネットワークに影響が及ぶ可能性があります。
- クロックが遅い仮想マシンには移行の問題が発生する可能性があります。
これらの問題は、他の仮想化プラットフォームに存在しており、タイミングは常にテストする必要があります。
Network Time Protocol (NTP) デーモンがホストおよび仮想マシンで実行されている必要があります。ntpd
サービスを有効にし、デフォルトの起動シーケンスに追加します。
- Red Hat Enterprise Linux 6 の場合
# service ntpd start # chkconfig ntpd on
- Red Hat Enterprise Linux 7 の場合
# systemctl start ntpd.service # systemctl enable ntpd.service
ntpd
サービスを使用すると、すべてのケースでクロックスキューの影響を最小限に抑えられるはずです。
使用しようとしている NTP サーバーは稼働しており、ホストと仮想マシンからアクセスできる必要があります。
CPU に一定のタイムスタンプカウンターがあるかどうかの判断
constant_tsc
フラグが存在する場合、CPU には一定のタイムスタンプカウンターがあります。CPU に constant_tsc
フラグがあるかどうかを確認するには、次のコマンドを実行します。
$ cat /proc/cpuinfo | grep constant_tsc
いずれかの出力が得られると、CPU には constant_tsc
ビットがあります。出力が表示されない場合は、以下の手順に従ってください。
Constant タイムスタンプカウンターを使用しないホストの設定
一定のタイムスタンプカウンターのないシステムには、追加の設定が必要です。電源管理機能は正確な時間管理を妨げるため、仮想マシンが 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
設定ファイルを編集し、cpufreq
を無効にし (constant_tsc
のないホストでのみ必要)、MIN_SPEED
変数および MAX_SPEED
変数を利用可能な最大周期に変更します。有効な上限は、/sys/devices/system/cpu/cpu/cpufreq/scaling_available_frequencies
ファイルにあります。
engine-config
ツールを使用した、ホストが同期から外れてドリフトした時のアラートの受信
engine-config
ツールを使用して、ホストが同期から外れてドリフトした時にアラートを設定できます。
ホストの時刻ドリフトに関連するパラメーターは EnableHostTimeDrift
と HostTimeDriftInSec
の 2 つです。デフォルト値が false の EnableHostTimeDrift
を有効にすると、ホストの時刻ドリフトに関するアラート通知を受け取ることができます。HostTimeDriftInSec
パラメーターを使用して、アラートの送信が開始されるまでの最大許容ドリフトを設定します。
アラートはホストごとに 1 時間ごとに 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 のバージョンと、一定のタイムスタンプカウンターを持たないシステム上の仮想マシンに必要なパラメーターの一覧です。
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 | 追加のパラメーターは必要ありません |
6.16.4. Trusted Platform Module デバイスの追加
Trusted Platform Module (TPM) デバイスは、暗号鍵、乱数、およびハッシュの生成、またはソフトウェア設定をセキュアに検証するのに使用できるデータの格納などの暗号化操作を実行するように設計されたセキュアな暗号化プロセッサーを提供します。TPM デバイスは、ディスクの暗号化に一般的に使用されます。
QEMU および libvirt は、エミュレートされた TPM 2.0 デバイスのサポートを実装します。これは、Red Hat Virtualization が TPM デバイスを仮想マシンに追加するために使用するものです。
エミュレートされた TPM デバイスが仮想マシンに追加されると、ゲスト OS で通常の TPM 2.0 デバイスとして使用できます。
仮想マシンの TPM データが保存されていて、TPM デバイスが仮想マシンで無効になっていると、TPM データは完全に削除されます。
TPM デバイスの有効化
-
Add Virtual Machine
またはEdit Virtual Machine
画面で、 をクリックします。 -
Resource Allocation
タブで TPM Device Enabled チェックボックスを選択します。
制限
以下の制限が適用されます。
- TPM デバイスは、UEFI ファームウェアが搭載されている x86_64 マシンと、pSeries ファームウェアがインストールされた PowerPC マシンでのみ使用できます。
- TPM デバイスを持つ仮想マシンには、メモリーを持つスナップショットを含めることはできません。
Manager は TPM データを定期的に取得および保存しますが、Manager が常に最新バージョンの TPM データを持つ保証はありません。
注記このプロセスは 120 秒以上かかる可能性があり、実行中の仮想マシンのスナップショットを作成する、クローンを作成する、または移行するには、プロセスが完了するのを待つ必要があります。
- TPM デバイスは、RHEL 7 以降または Windows 8.1 以降を実行中の仮想マシンでのみ有効にできます。
- TPM データを持つ仮想マシンおよびテンプレートはエクスポートまたはインポートできません。