Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
9.10. libvirt による仮想マシンのタイマー管理
ゲスト仮想マシン上で時間を正確に管理することは、仮想化プラットフォームにおける主要な課題となります。複数のハイパーバイザーが様々な方法で時間管理の問題を処理しようとします。libvirt では、ドメインの XML 内で <clock> と <timer> の要素を使い、ハイパーバイザーからは独立した時間管理の構成を提供します。ドメイン XML の編集は
virsh edit
コマンドを使って行います。詳細は、「ゲスト仮想マシンの設定ファイルの編集」を参照してください。
<clock>
要素は、ゲスト仮想マシンのクロックとホスト物理マシンのクロックとの同期方法を決定するために使用されます。clock 要素には次のような属性があります。
offset
: ゲスト仮想マシンのクロックをどのようにホスト物理マシンのクロックでオフセットするかを判別します。offset 属性の値は以下の値になります。表9.1 Offset 属性の値
値 詳細 utc ゲスト仮想マシンのクロックは、起動時に UTC に同期されます。 localtime ゲスト仮想マシンのクロックは、起動時にホスト物理マシンの設定タイムゾーンに同期されます (該当する場合)。 timezone ゲスト仮想マシンのクロックは、 timezone
属性で指定したタイムゾーンに同期されます。variable ゲスト仮想マシンのクロックは UTC の任意のオフセットに同期されます。UTC に対する差分を adjustment
属性を使って秒数単位で指定します。ゲスト仮想マシンは RTC (リアルタイムクロック) を自由に調整することができ、行われた調整は再起動後も維持されます。これは RTC の調整が再起動するたびすべて失われるutc
モードとは対照的です。注記
デフォルトでは、utc の値が仮想マシンのクロックオフセットとして設定されます。ただし、ゲスト仮想マシンのクロックが localtime の値を使って実行される場合、ゲスト仮想マシンのクロックをホスト物理マシンのクロックと同期させるために、クロックオフセットを別の値に変更する必要があります。timezone
属性は、ゲスト仮想マシンのクロックに使用されるタイムゾーンを決定します。adjustment
属性は、ゲスト仮想マシンのクロック同期の差分を指定します。UTC に対して増減する秒数を指定します。
例9.1 常に UTC に同期する
<clock offset="utc" />
例9.2 常にホスト物理マシンのタイムゾーンに同期する
<clock offset="localtime" />
例9.3 任意のタイムゾーンに同期する
<clock offset="timezone" timezone="Europe/Paris" />
例9.4 UTC に同期させてから任意の秒数を増減させる
<clock offset="variable" adjustment="123456" />
9.10.1. timer は clock の子要素です。
clock 要素には子要素として、ゼロまたはそれ以上の timer 要素を持たせることができます。timer 要素には以下の属性を含めます。
name
のみが必須の属性となり、これ以外の属性はすべてオプションです。
name
属性は、使用するタイムソースを決定するもので、以下のいずれかになります。
表9.2 name 属性の値
値 | 詳細 |
---|---|
pit | Programmable Interval Timer - 定期的な割り込みが付いたタイマーです。 |
rtc | Real Time Clock - 継続的に実行するタイマーで、定期的な割り込みが付いています。 |
tsc | Time Stamp Counter - リセット後のティック数をカウントします。割り込みなしです。 |
kvmclock | KVM クロック - KVM ゲスト仮想マシン用に推奨しているクロックソースです。KVM の pvclock または kvm-clock によりゲスト仮想マシンがホスト物理マシンのウォールクロックタイムを読み込みます。 |
このページには機械翻訳が使用されている場合があります (詳細はこちら)。