Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

23.15. 時間管理

ゲスト仮想マシンのクロックは通常、ホストの物理マシンのクロックから初期化されます。ほとんどのオペレーティングシステムは、ハードウェアクロックが UTC(デフォルト設定)で保持されることを想定しています。
ゲスト仮想マシンの正確な時間を維持することは、仮想化プラットフォームの重要な課題です。さまざまなハイパーバイザーが、さまざまな方法で管理している時間の問題を処理しようとします。libvirt は、ドメイン XML で <clock> および <timer> 要素を使用して、時間管理にハイパーバイザーに依存しない設定を提供します。ドメイン XML は、virsh edit コマンドを使用して編集できます「ゲスト仮想マシンの XML 設定の編集」

図23.25 時間管理


  ...
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup' track='guest'>
      <catchup threshold='123' slew='120' limit='10000'/>
    </timer>
    <timer name='pit' tickpolicy='delay'/>
  </clock>
  ...


ドメイン XML の本項のコンポーネントは以下のとおりです。

表23.11 Timekeeping 要素

状態 説明
<clock> <クロック要素は>、ゲスト仮想マシンのクロックがホストの物理マシンのクロックとの同期方法を判断するために使用されます。offset 属性は可能な値を取り、ゲスト仮想マシンクロックがホストの物理マシンに同期する方法を細かく制御できるようにします。ハイパーバイザーは、すべてのタイムソースですべてのポリシーをサポートする必要がないことに注意してください。
  • UTC: システムの起動時にクロックを UTC に同期します。UTC モードは 変数 モードに変換でき、調整属性を使用して制御できます。値が リセット されると、変換は行われません。数値を指定すると、初期調整として値を使用して 変数 モードへの変換が強制されます。デフォルトの調整はハイパーバイザー固有です。
  • LocalTime: システムの起動時に、ゲスト仮想マシンのクロックを、ホスト物理マシンの設定タイムゾーンと同期します。adjustment 属性は inutc モードと同じように動作します。
  • Timezone: ゲスト仮想マシンのクロックを要求されたタイムゾーンと同期します。
  • 変数: ゲスト仮想マシンのクロックを、base 属性に応じて UTC またはローカルタイムに対して適用される任意のオフセットを付与します。UTC (またはローカルタイム)に関連する delta は、reconcilement 属性を使用して秒単位で指定します。ゲスト仮想マシンは、時間の経過と共に RTC を自由に調整し、次回の再起動時に反映されることが予想されます。これは、utc および localtime モード(任意の属性 adjustment='reset')とは対照的に、再起動ごとにRTC の調整が失われます。さらに、base 属性には utc (デフォルト)または localtime のいずれかを使用できます。clock 要素には、タイマー要素がゼロ以上の <タイマー> 要素がある可能性があります。
<timer> 注を参照してください。
<present> 特定のタイマーがゲスト仮想マシンで利用可能かどうかを指定します。yes または no に設定できます。
注記
<クロック要素にはゼロ以上の <> タイマー要素を子として指定できます><timer> 要素は、ゲスト仮想マシンのクロック同期に使用されるタイムソースを指定します。
<各タイマー要素では 名前のみが必要で>、他のすべての属性はオプションになります。
  • 名前 - 修正されるタイマーを選択します。以下の値を使用できます: kvmclock、p it、または rtc
  • track: タイマートを指定します。次の値は、bootguest、または wall です。trackname="rtc" でのみ有効です。
  • tickpolicy: ゲスト仮想マシンへのティックの挿入時に発生する動作を決定します。以下の値を割り当てることができます。
    • delay - 通常のレートでティックを配信するかどうかを確認します。遅らせて、ゲスト仮想マシンの時間が遅延します。
    • catchup: ミスのティックを追いつくため、より高いレートでデ生向けのティック値を取得します。キャッチが完了すると、ゲスト仮想マシン時間は表示されません。また、正の整数、しきい値、slew、および limit の 3 つの任意の属性があります。
    • merge - ミスが付けられたティックティックを 1 つのティックに切り離し、それらを挿入します。マージの実行方法によっては、ゲスト仮想マシンの時間が遅延する場合があります。
    • discard - ミスがないティックを削除し、デフォルトの間隔設定で将来のインジェクションを続行します。失われたティックを処理する明示的なステートメントがない限り、ゲスト仮想マシンの時間は遅延する場合があります。
注記
valueutc はデフォルトで、仮想マシンのクロックオフセットとして設定されます。ただし、ゲスト仮想マシンのクロックが localtime 値と共に実行される場合は、ゲスト仮想マシンクロックをホストの物理マシンクロックと同期するためには、クロックオフセットを別の値に変更する必要があります。

例23.1 常に UTC に同期

<clock offset="utc" />

例23.2 ホストの物理マシンのタイムゾーンに常に同期

<clock offset="localtime" />

例23.3 任意のタイムゾーンに同期

<clock offset="timezone" timezone="Europe/Paris" />

例23.4 UTC への同期と任意のオフセット

<clock offset="variable" adjustment="123456" />