第17章 KVM ゲストのタイミング管理
- クロックは正確な時刻との同期から外れて、セッションを無効にしたり ネットワークに影響したりします。
- 遅くれるクロックを持つゲストは移行で問題を持つ可能性があります。
重要
ntpd サービスを有効にして下さい:
service ntpd start
# service ntpd start
chkconfig ntpd on
# chkconfig ntpd on
ntpd サービスを使用すると、全ての ケースでクロックのずれの効果を最低限に抑えることができるはずです。
constant_tsc フラグが存在する場合は、 使用中の CPU が不変タイムスタンプカウンタを持っていることになります。 その CPU が constant_tsc フラグを持つか どうかを判定するには、以下のコマンドを実行します:
cat /proc/cpuinfo | grep constant_tsc
$ cat /proc/cpuinfo | grep constant_tsc
constant_tsc ビットを持つことになります。出力がない場合は以下の案内に 従ってください。
不変タイムスタンプカウンタを持たないシステムは追加の設定を必要とします。 パワーマネジメント機能は正確な時刻維持を邪魔するため、ゲスト用にはそれを 無効にして KVM での時刻維持を保護します。
重要
constant_tsc ビットが無い場合、 全てのパワーマネジメント機能 (BZ#513138) を無効にして下さい。 各システムはいくつかのタイマーで時刻を維持しています。TSC はホスト上で不安定 であり、時には cpufreq 変更、deep C 状態、又は より速い TSC を持つホストへの移行により影響を受けます。 カーネルの deep 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
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
constant_tsc の無いホスト上でのみ)cpufreq を 無効にするには、/etc/sysconfig/cpuspeed 設定ファイルの編集により、MIN_SPEED 変数と MAX_SPEED 変数を利用できる最高の周波数に変更します。 その有効な限界は /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies ファイル内で見ることができます。
特定の Red Hat Enterprise Linux ゲストには、追加のカーネルパラメータが 必要になります。これらのパラメータは、ゲストの /boot/grub/grub.conf ファイル内の /kernel 行の末尾にそれら自身を追記することによりセットできます。
| Red Hat Enterprise Linux | その他のゲストカーネルパラメータ |
|---|---|
| para-virtualized クロックを持つ 5.4 AMD64/Intel 64 | 追加のパラメータは無用です |
| para-virtualized クロックを持たない 5.4 AMD64/Intel 64 | divider=10 notsc lpj=n |
| para-virtualized クロックを持つ 5.4 x86 | 追加のパラメータは無用です |
| para-virtualized クロックを持たない 5.4 x86 | divider=10 clocksource=acpi_pm lpj=n |
| 5.3 AMD64/Intel 64 | divider=10 notsc |
| 5.3 x86 | divider=10 clocksource=acpi_pm |
| 4.8 AMD64/Intel 64 | notsc divider=10 |
| 4.8 x86 | clock=pmtmr divider=10 |
| 3.9 AMD64/Intel 64 | 追加のパラメータは無用です |
| 3.9 x86 | 追加のパラメータは無用です |
Windows は RTC (Real-Time Clock) と TSC (Time Stamp Counter) の両方を 使用します。Windows ゲストには、TSC の代わりに、全ての時刻ソースのために 時刻維持問題を解決する Real-Time Clock を使用します。
boot.ini ファイルに以下の 行を追加して下さい:
/use pmtimer
/use pmtimer