Translated message

A translation of this page exists in English.

Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

Red Hat Virtualization で稼働する Red Hat Enterprise Linux で時間管理を正確に行うためにベストプラクティス

Solution Verified - Updated -

Environment

  • Red Hat Virtualization (RHV)
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7

Issue

  • Red Hat Virtualization (RHV) の Red Hat Enterprise Linux (RHEL) 仮想マシンで時間がずれないようにするにはどうすれば良いですか?
  • RHV の RHEL ゲストで発生する NTP 問題にどのように対応すれば良いですか?
  • RHV 環境で RHEL システムを同期するのに必要な調整にはどのようなものがありますか?
  • ntpd が KVM ホストのシステムクロックをアップデートする際、hw-clock が更新されるまでにどのぐらい時間がかかりますか?

Resolution

すべての仮想マシンには時刻同期の問題が存在するため、RHV ホストと、RHEL または Windows ゲストの両方で、NTP を使用することが常に推奨されます。

ただし、RHV 仮想マシンで利用できる qemu-guest-agent の将来のリリースに「時刻同期機能」を追加するための機能改善要求 (RFE) が作成されています。この RFE は、Red Hat Bugzilla 1291205 で対応しています。詳細の確認や、この機能のリクエストを行う場合は、Red Hat サポート1に対してサポートケースを作成してください。

注意: 仮想マシンが RHEL 5 の場合は、Inaccurate time keeping in KVM RHEL guests under 5.4 に記載されている推奨事項を参照してください。準仮想化クロック (kvm クロック) のサポートは Red Hat Enterprise Linux 5.4 ではじまり、以前のカーネルで提供していた時間管理プラクティスに比べて信頼性が著しく改善されました。これにより、時間の正確さと IRQ 割り込みがより正確になります。ただし、ntp の方が時間ノースとして信頼があります。

Root Cause

NTP がホストで hwclock とシステムクロックを同期していることは保証されないため、RHV ホストまたは KVM ホストだけでなく、RHEL ゲストでも NTP を有効にすることが推奨されます。hwclock(8) の 「Automatic Hardware Clock Synchronization By the Kernel」を参照してください。

NTP が RHV ホストまたは KVM ホストの時間を更新する際、仮想マシンでシステムクロック (kvm-clock) が更新されるまでにどのぐらい時間がかかりますか?

以下は pvclock_vcpu_time_info のコードフローとなります。

struct pvclock_vcpu_time_info {
        u32   version;
        u32   pad0;
        u64   tsc_timestamp;
        u64   system_time;
        u32   tsc_to_system_mul;
        s8    tsc_shift;
        u8    flags;
        u8    pad[2];
} __attribute__((__packed__));

この構造は、最も有力な推測で、理想的な近似値です。具体的には、ホストの ntpd が変更を適用しても、ゲストの hwclock は更新されません。また、pvclock_vcpu_time_info は、vcpu をある pcpu から別の pcpu に移行するなどのイベントが発生したときに更新され、最低でも 5 分の周期で更新されます。つまり、全 vcpus の kvm-clock が 5 分ごとに更新されます (ただし、ホストがリアルタイムカーネルで実行している場合は除外されます。なぜなら、これにより発生する定期的なレイテンシーを回避するために更新が無効になるためです)。

この問題があるため、正確な時間管理が必要な場合には、仮想マシンで NTP を実行することが推奨されます。

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments