システム時刻を実行して、Linux ベースでの Virtual Server 2005 R2 でホストされている vm が早すぎます。

文書翻訳 文書翻訳
文書番号: 918461
すべて展開する | すべて折りたたむ

目次

現象

Microsoft Virtual Server 2005 R2 では、Linux ベースのバーチャル マシンをインストールすると、速く、Linux ゲスト オペレーティング システムのシステム時刻を実行します。たとえば、Linux ゲスト オペレーティング システムの現在の時刻は 1 分約 48 秒ごとを進まない場合があります。しばらくすると、Linux ベース バーチャル マシンが時計が正しい時刻にリセットされます。

Linux 2.6 カーネルを使用して、Linux のディストリビューションを実行している場合、この問題が発生します。

原因

この現象は、タイマー刻みの消失は Linux 2.6 カーネルのデフォルト アルゴリズムを調整するために発生します。この調整のために仮想マシンを得ることができます。

解決方法

この問題を解決するには、追加の クロック ピット = Linux のブートローダーのファイルへのパラメーター。は、 クロック ピット = パラメーターより効率的なアルゴリズムを使用して、バーチャル マシンとホスト コンピューター間で時刻を同期するには、Linux 2.6 カーネルが発生します。このアルゴリズムは失われた目盛りは調整されません。したがって、アルゴリズムは、時刻を取得するのには、バーチャル マシンは発生しません。このパラメーターを追加するには、次の手順を実行します。

GRUB ブートローダー用

  1. ゲスト オペレーティング システムでは、Vi などのテキスト エディターを使用して、/boot/grub/menu.lst ファイルを開きます。たとえば、コンソールでは、次のコマンドを入力し、ENTER キーを押します。
    vi/boot/grub/menu.lst
    このファイルは、Linux のブート オプションが含まれている、次のような。
    title Linux
       kernel (hd0,4)/vmlinuz root=/dev/hda7 vga=791
       initrd (hd0,4)/initrd
    title windows
       root (hd0,0)
       makeactive
       chainloader +1
    title floppy
       root (fd0)
       chainloader +1
    title failsafe
       kernel (hd0,4)/vmlinuz.shipped root=/dev/hda7 ide=nodma apm=off acpi=off vga=normal nosmp maxcpus=0 3
       initrd (hd0,4)/initrd.shipped
  2. で、 Linux のタイトル このファイルは、領域を追加、 クロック ピット = カーネルのエントリのパラメーターです。この領域は、次のようになります。
    title Linux
       kernel (hd0,4)/vmlinuz root=/dev/hda7 vga=791 clock=pit
       initrd (hd0,4)/initrd
  3. ファイルに変更を保存、Vi を終了し、Linux ベースのバーチャル マシンを再起動します。

LILO ブートローダー

  1. ゲスト オペレーティング システムでは、Vi などのテキスト エディターを使用して、/etc/lilo.conf ファイルを開きます。たとえば、コンソールでは、次のコマンドを入力し、ENTER キーを押します。
    vi/etc/lilo.conf
    このファイルは、Linux のブート オプションが含まれている、次のような。
    ### LILO global section 
    boot    = /dev/hda           # LILO installation target: MBR 
    vga     = normal             # normal text mode (80x25 chars) 
    read-only 
    
    lba32                        # Use BIOS to ignore 
                                 # 1024 cylinder limit 
    prompt 
    password = q99iwr4           # LILO password (example) 
    timeout = 80                 # Wait at prompt for 8 s before 
                                 # default is booted 
    message = /boot/message      # LILO's greeting 
    
    ### LILO Linux section (default) 
      image  = /boot/vmlinuz     # Default 
      label  = linux 
      root   = /dev/hda7         # Root partition for the kernel 
      initrd = /boot/initrd 
    
    ### LILO Linux section (fallback) 
      image  = /boot/vmlinuz.shipped 
      label  = Failsafe 
      root   = /dev/hda7 
      initrd = /boot/initrd.suse 
      optional 
    
    ### LILO other system section (Windows) 
      other  = /dev/hda1         # Windows partition 
      label  = windows 
    
    ### LILO memory test section (memtest) 
      image  = /boot/memtest.bin 
      label  = memtest86
  2. で、 ### LILO Linux」(既定値) このファイルは、の次のエントリを入力します。
    追加 ="クロック ピット ="
    この領域は、次のようになります。
    ### LILO Linux section (default) 
      image  = /boot/vmlinuz     # Default 
      label  = linux 
      root   = /dev/hda7         # Root partition for the kernel 
      initrd = /boot/initrd
      Append = "clock=pit"
  3. このファイルには、変更を保存し、Vi を終了します。
  4. 実行、 lilo コマンドです。たとえば、次のコマンドを入力し、ENTER キーを押します。
    lilo/sbin/
  5. Linux ベースのバーチャル マシンを再起動します。

詳細

仮想マシンは、物理ホスト コンピューターには、時間の同期の問題が通常があります。Microsoft Virtual Server 2005 の「バーチャル マシン追加機能のものこの問題を解決するのには、時刻同期の問題は、ゲスト オペレーティング システム、システム時刻の記録方法原因があります。あらゆる種類のオペレーティング ・ システムは、システム時刻を追跡する独自の方法があります。Linux 2.6 カーネル、システム時刻を追跡するのに 3 つの異なる種類のアルゴリズムを使用します。これらのアルゴリズムは Linux 2.4 カーネルや以前の Linux カーネルで使用されているアルゴリズムよりも効率的です。

仮想マシンで時刻の同期

オペレーティング システムは、通常、特定のハードウェア デバイスによって生成された定期的な時間の割り込みを使用して時刻を追跡します。一般に、オペレーティング システムが無料金属酸化半導体 (CMOS) バッテリ ・ バックアップ時計から、オペレーティング システムの起動処理中に取得します。オペレーティング システムは、定期的な割り込みを生成するのには、タイマーのデバイスを構成します。オペレーティング システムは、これらの割り込みをカウントすることによっての記録。

仮想マシンは、ホスト オペレーティング システムとゲスト オペレーティング システムで、実際の物理的なハードウェアが共有されます。仮想マシンは、時間の割り込みを生成すると、ゲスト オペレーティング システムが実行されていることがありますかが実行されていない可能性があります。そのため、ゲスト オペレーティング システム直ちにこれらの割り込みの一部を考慮しません。この問題を回避するには、仮想マシンは、これらの割り込みのバックログを保持します。さらに、実行されている場合、バーチャル マシン タイマー割り込みの頻度が増加します。タイマー割り込みの頻度、ゲスト オペレーティング システムの正確な時刻を維持するために使用します。ただし、これらの割り込みの頻度は、割り込みの一部には、ゲスト オペレーティング システムが可能性があります。これら不在の割り込み「失われた目盛りとして」知られていますタイマー刻み原因ゲスト オペレーティング システムの時刻の背後にある実際の時間よりも遅れるが失われました。あなたは、この物理的なコンピューターの問題が発生する可能性がありますが、仮想マシンで実行しているゲスト オペレーティング システムでこの問題が発生する可能性が高いです。

Linux 2.4 カーネルおよびそれ以前の Linux カーネル タイマーから配信されるタイマー割り込みに依存しています。Linux 2.4 カーネルでの時刻の同期を実装するアルゴリズムは失われた目盛りは考慮されません。この現象は、実際の時計の背後ラグをシステム時刻、Linux ゲスト オペレーティングがあります。この問題を解決をするのには、いくつかの Linux ディストリビューション タイマー割り込みを早く実現する Linux 2.4 カーネルにパッチを適用します。しかし、Linux ゲスト オペレーティング システムが同期の失敗のための時間が発生する可能性がありますには、タイマー刻みが失われました。

Linux 2.6 カーネルにこの時刻同期の問題を解決するのより効率的なアルゴリズムが実装されています。Linux 2.4 アルゴリズムとは異なり、Linux 2.6 アルゴリズムは失われた目盛りを調整します。ただし、この調整 Linux ベース バーチャル マシンで時刻を取得することがあります。Linux 2.6 カーネルはブート時にカーネルに渡すことができる 3 つの異なるクロック パラメーターです。これらのパラメーターを使用すると、時刻の同期に使用するのにアルゴリズムを選択します。これらのアルゴリズムの詳細については、「Linux の計時」セクションを参照してください。各これら計時アルゴリズムの長所と短所があります。しかし、あなたよりもバーチャル マシンは、物理コンピューター上での短所に注意してくださいする可能性が高いです。

コンピューターのタイマー ハードウェア

すべてのオペレーティング システムは、計時問題を処理する独自の方法があります。さまざまな種類のコンピューターで時間を維持するために使用するタイマー機構があります。これらのタイマーのしくみは次のとおりです。
  • プログラミング可能な間隔タイマー (PIT)
  • CMOS のリアル タイム クロック (RTC)
  • ローカル プログラミング可能な割り込みコント ローラー (APIC) タイマーの詳細
  • 高度な構成および電源 (このメカニズムと呼ばれるチップ セット タイマーだ ACPI
  • 時間スタンプ カウンター (TSC)
  • 高精度イベント タイマー (HPET)

Linux での計時

X86 ベースのプラットフォームでは、時間を追跡するのには、クロックが次のような Linux 2.6 カーネルを通信します。
  • 電源管理タイマー (PMTMR)
    この時計には、次の特徴があります。
    • この時計を使用して設定されて、 時計 pmtmr = カーネル パラメーター。
    • この時計は、ACPI タイマーを使用します。
    • このクロックはより小さい時間が大幅に向上を可能性があります。
  • 時間スタンプ カウンター (TSC)
    この時計には、次の特徴があります。
    • この時計を使用して設定されて、 時計 tsc = カーネル パラメーター。(これはデフォルトです)。
    • この時計は、時間補間の PIT カウンターと、TSC を使用します。
    • この時計は、仮想マシン環境でさ迷う場合があります。したがって、ゲスト オペレーティング システムの時計も高速に実行できます。
    • このクロックは、最大 10% の時間が大幅に向上を可能性があります。
  • プログラミング可能な間隔タイマー (PIT)
    この時計には、次の特徴があります。
    • この時計を使用して設定されて、 クロック ピット = カーネル パラメーター。
    • この時計の時間補間の PIT カウンターのみを使用します。
    • この時計は、最も単純なアルゴリズムは使用可能な使用します。
    • 失われた目盛り修正コードを使わないのでクロック時刻をことはできません。
Virtual Server 2005 の詳細については、次のマイクロソフト Web サイトを参照してください。
http://www.microsoft.com/windowsserversystem/virtualserver/default.mspx
この資料に記載サード ・ パーティ製品がマイクロソフトと関連のある会社で製造されています。マイクロソフト、黙示またはそれ以外の場合のパフォーマンスや信頼性これらの製品について負わない。

プロパティ

文書番号: 918461 - 最終更新日: 2011年8月4日 - リビジョン: 3.0
キーワード:?
kbtshoot kbenv kbprb kbdeployment kbmt KB918461 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:918461
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com