L'heure du système s'exécute trop rapidement sur un ordinateur virtuel en fonction de Linux hébergé dans Virtual Server 2005 R2

Traductions disponibles Traductions disponibles
Numéro d'article: 918461 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Symptômes

Après avoir installé une machine virtuelle en fonction de Linux dans Virtual Server 2005 R2, l'heure du système dans le système d'exploitation Linux invité exécute trop rapidement. Par exemple, l'heure actuelle dans le système d'exploitation Linux invité peut-être avancer par minute toutes les 48 secondes environ. Ultérieurement, la machine virtuelle en fonction de Linux réinitialise l'horloge à l'heure correcte.

Vous rencontrez ce problème si vous exécutez une distribution Linux qui utilise le noyau Linux 2.6.

Cause

Ce problème se produit parce que l'algorithme par défaut dans le noyau Linux 2.6 ajuste les la perte possible des tics d'horloge. En raison de cet ajustement, la machine virtuelle peut obtenir l'heure.

Résolution

Pour résoudre ce problème, ajoutez la horloge = pit paramètre pour le fichier de module de chargement d'amorçage Linux. Le horloge = pit paramètre provoque le noyau Linux 2.6 à utiliser un algorithme plus efficace pour synchroniser l'heure entre l'ordinateur virtuel et l'ordinateur ordinateur hôte. Cet algorithme n'ajuste pas de graduations perdues. Par conséquent, l'algorithme n'entraîne pas la machine virtuelle obtenir le temps. Pour ajouter ce paramètre, procédez comme suit.

Pour le module de chargement d'amorçage GRUB

  1. Dans le système d'exploitation invité, ouvrez le fichier /boot/grub/menu.lst à l'aide d'un éditeur de texte telles que vi. Par exemple, tapez la commande suivante à partir d'une console et puis appuyez sur ENTRÉE :
    /boot/grub/menu.lst VI
    Ce fichier contient les options de démarrage Linux et ressemble à la suivante :
    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. Dans la zone de titre Linux de ce fichier, ajoutez la horloge = pit paramètre à l'entrée du noyau. Cette zone doit ressembler à ceci :
    title Linux
       kernel (hd0,4)/vmlinuz root=/dev/hda7 vga=791 clock=pit
       initrd (hd0,4)/initrd
  3. Enregistrer les modifications dans le fichier, quitter VI et redémarrez l'ordinateur virtuel en fonction de Linux.

Pour le module de chargement d'amorçage (LILO)

  1. Dans le système d'exploitation invité, ouvrez le fichier /etc/lilo.conf à l'aide d'un éditeur de texte telles que vi. Par exemple, tapez la commande suivante à partir d'une console et puis appuyez sur ENTRÉE :
    /etc/lilo.conf VI
    Ce fichier contient les options de démarrage Linux et ressemble à la suivante :
    ### 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. Dans la zone section ### LILO Linux (par défaut) de ce fichier, tapez l'entrée suivante :
    ajouter = " horloge = pit "
    Cette zone doit ressembler à ceci :
    ### 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. Enregistrer les modifications dans le fichier et quittez Affich.
  4. Exécutez la commande lilo . Par exemple, tapez la commande suivante et appuyez sur ENTRÉE :
    / sbin/LILO
  5. Redémarrer l'ordinateur virtuel en fonction de Linux.

Plus d'informations

Une machine virtuelle a généralement des difficultés à synchroniser son heure avec l'ordinateur physique ordinateur hôte. Bien que Microsoft Virtual Server 2005 Virtual Machine Additions sont destinés à vous aider à résoudre ce problème, vous pouvez rencontrer des problèmes de synchronisation de temps en raison de la manière dans lequel le système d'exploitation invité conserve le suivi de l'heure du système. Chaque type de système d'exploitation a son propre moyen de suivi de l'heure du système. Le noyau Linux 2.6 utilise trois différents types d'algorithmes pour effectuer le suivi de l'heure du système. Ces algorithmes sont plus efficaces que les algorithmes sont utilisés par le noyau Linux 2.4 et antérieure noyaux Linux.

Synchronisation de temps sur un ordinateur virtuel

Un système d'exploitation assure généralement temps en utilisant les interruptions temps périodique qui sont générées par un périphérique matériel spécifique. En règle générale, un système d'exploitation obtient le temps d'une horloge de politesse métal Oxide Semi-conductor (CMOS) sauvegardées de batterie pendant procédure de démarrage du système d'exploitation. Le système d'exploitation configure ensuite un périphérique du minuteur pour générer des interruptions périodiques. Le système d'exploitation effectue suivi d'heure en comptant ces interruptions.

Pour un ordinateur virtuel, le matériel physique réel est partagé par le système d'exploitation ordinateur hôte et par le système d'exploitation invité. Lorsqu'un ordinateur virtuel génère une interruption de temps, le système de d'exploitation invité peuvent s'exécuter ou peut ne pas s'exécuter. Par conséquent, le système d'exploitation invité ne pas immédiatement compte pour certains de ces interruptions. Pour contourner ce problème, l'ordinateur virtuel conserve une file d'attente de ces interruptions. En outre, la machine virtuelle augmente la fréquence des interruptions de minuterie lorsqu'il est exécuté. La fréquence accrue des interruptions de minuterie est conçue pour aider le système d'exploitation invité tenir à jour l'heure correcte. Toutefois, la fréquence accrue de ces interruptions peut provoquer des interruptions des manquer le système d'exploitation invité. Ces interruptions manquées sont appelées impulsions perdues. Perdu graduations cause l'heure du système d'exploitation invité retard derrière le temps réel. Bien que vous pouvez rencontrer ce problème sur un ordinateur physique, vous êtes plus susceptible de rencontrer ce problème dans un système d'exploitation invité qui s'exécute sur un ordinateur virtuel.

Le noyau Linux 2.4 et antérieure noyaux Linux reposent sur les interruptions de minuterie qui sont livrées par le minuteur. Les algorithmes sont implémentés de synchronisation de temps dans le noyau Linux 2.4 ne pas compte des graduations perdues. Ce comportement peut provoquer l'invité Linux exploitation heure système à retard derrière l'horloge réel. Pour résoudre ce problème, des distributions Linux correctifs du noyau Linux 2.4 pour remettre les interruptions de minuterie à un débit plus rapide. Cependant, le Linux système d'exploitation invité peut persistent temps problèmes de synchronisation en raison de perdu graduations.

Le noyau Linux 2.6 implémente les algorithmes plus efficaces pour résoudre ce problème de synchronisation de temps. Contrairement aux algorithmes 2.4 Linux, les algorithmes de Linux 2.6 ajuster d'impulsions perdues. Toutefois, cet ajustement peut provoquer la machine virtuelle en fonction de Linux obtenir le temps. Le noyau Linux 2.6 a trois horloge différents paramètres pouvant être transmis au noyau au moment du démarrage. Utilisez ces paramètres pour sélectionner les algorithmes pour l'utiliser pour la synchronisation de l'heure. Pour plus d'informations sur ces algorithmes, reportez-vous à la section Timekeeping dans la Linux. Chacun de ces algorithmes timekeeping présente des avantages et inconvénients. Cependant, vous êtes plus susceptible de Notez inconvénients sur une machine virtuelle que sur un ordinateur physique.

Matériel du minuteur

Chaque système d'exploitation a sa propre méthode pour gérer les problèmes de timekeeping. Il existe différents types de mécanismes de minuteur qui servent à conserver temps sur un ordinateur. Ces mécanismes de minuteur sont les suivants :
  • Programmable Intervalle minuterie (PIT)
  • Horloge en temps réel CMOS (RTC)
  • Local avancée d'interruptions programmable contrôleur APIC (timers
  • Avancé ACPI Configuration and Power Interface () (ce mécanisme est également appelé un timer processeur).
  • Temps compteur horodatage (TSC)
  • Du haute précision compteur d'événement (HPET)

Timekeeping de Linux

Sur une plate-forme de 86 x, le noyau Linux 2.6 interagit avec les types suivants de l'horloge pour effectuer le suivi des temps :
  • horloge de gestion l'alimentation (PMTMR)
    Cette horloge présente les caractéristiques suivantes :
    • Cette horloge est définie en utilisant le horloge = pmtmr paramètre du noyau.
    • Cette horloge utilise l'horloge ACPI.
    • Cette horloge peut entraîner des gains de temps plus petites.
  • Horodateur compteur (TSC)
    Cette horloge présente les caractéristiques suivantes :
    • Cette horloge est définie en utilisant le horloge = tsc paramètre du noyau. (Ceci est le paramètre par défaut.)
    • Cette horloge utilise le compteur PIT et le TSC pour interpolation de temps.
    • Cette horloge peut entraîner overcorrection dans un environnement ordinateur virtuel. Par conséquent, l'horloge système d'exploitation invités peut-être exécuter trop rapidement.
    • Cette horloge peut entraîner des gains de temps de jusqu'à 10 pour cent.
  • programmable Intervalle minuterie (PIT)
    Cette horloge présente les caractéristiques suivantes :
    • Cette horloge est définie en utilisant le horloge = pit paramètre du noyau.
    • Cette horloge utilise uniquement le compteur PIT pour interpolation de temps.
    • Cette horloge utilise la plus simple des algorithmes disponibles.
    • Cette horloge ne pas obtenir l'heure car il n'utilise pas perdues graduation correction code.
Pour plus d'informations sur Virtual Server 2005, reportez-vous au site de Web Microsoft suivant :
http://www.microsoft.com/windowsserversystem/virtualserver/default.mspx
Les produits tiers Cet article décrit sont mentionnés par des sociétés indépendantes de Microsoft. Microsoft garantit pas, ou implicite, concernant les performances ou la fiabilité de ces produits.

Propriétés

Numéro d'article: 918461 - Dernière mise à jour: jeudi 4 mai 2006 - Version: 1.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Virtual Server 2005 R2 Standard Edition
  • Microsoft Virtual Server 2005 R2 Enterprise Edition
Mots-clés : 
kbmt kbtshoot kbenv kbdeployment kbprb KB918461 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 918461
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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