Heure correcte dans une VM Linux dans Hyper-V : la fin
Suite et fin de ce sujet : soit un Linux non supporté par Hyper-V, donc sans Integration Components pour le maintenir à l'heure. Comment faire en sorte que son horloge ne dérive pas trop dans le temps ? J'ai deux VM dans ce cas à la maison : une Debian 4.0r3 sans interface graphique très peu chargée (en fait ce n'est qu'une passerelle SSH) et une Ubuntu LTS Server 8.04 un peu plus sollicitée, puisqu'elle héberge toute la pile LAMP (Apache, MySQL, PHP). Le premier constat est que la seconde dérive beaucoup plus rapidement que la première. Mais l'application qu'elle héberge nécessite une horloge relativement fiable.
Comme souvent, la solution est extrêmement simple. Il s'agit simplement de remettre la machine à l'heure régulièrement. Dans mon cas, une fois par jour suffit amplement. Comme vu dans les articles précédents, le démon ntpd n'est pas adapté à l'environnement virtuel, et l'option clock=pit est nécessaire sur les noyaux récents. D'autre part vsntp est une possibilité mais il y a plus simple "dans la boîte", comme indiqué ci-dessous. Ces instructions doivent être réalisées dans le contexte de root : dans Ubuntu, utilisez la commande sudo -s pour obtenir un shell dans le contexte de root.
Rappel : mon expérience se limite à Debian et Ubuntu.
Etape 1 : option clock=pit
il faut ajouter l'option clock=pit dans le fichier /boot/grub/menu.lst, à la fin de la ligne kernel par défaut. Il s'agit de la première ligne kernel suivant la ligne ## ## End Default Options ##. Exemple :
## ## End Default Options ##
title Ubuntu 8.04, kernel 2.6.24-18-server
root (hd0,0)
kernel /boot/vmlinuz-2.6.24-18-server root=UUID=d2cd13e1-bc9e-4657-86eb-26f150b41aaf ro quiet splash clock=pit
initrd /boot/initrd.img-2.6.24-18-server
quiet
Remarque : si, lors de l'installation de mises à jour, le noyau est mis à jour, alors il faut réappliquer cette modification au fichier menu.lst.
Etape 2 : programmer une mise à l'heure quotidienne avec ntpdate
Vérifier ou installer ntpdate :
# apt-get install ntpdate
Vérifier que ntpdate fonctionne comme prévu et remet votre système à l'heure :
# ntpdate fr.pool.ntp.org
Créer un fichier /etc/cron.daily/ntpdate contenant les lignes suivantes :
#!/bin/sh
/usr/sbin/ntpdate fr.pool.ntp.org
Ajouter à ce fichier l'attribut exécutable :
# chmod a+x /etc/cron.daily/ntpdate
Dans mon exemple, j'utilise fr.pool.ntp.org comme nom de serveur NTP, qui donne en réalité un serveur parmi un pool de serveurs français (voir https://www.pool.ntp.org/ pour plus d'infos). Vous pouvez bien sûr le remplacer par celui qui vous ira le mieux.
Terminé ! Reste à vérifier de temps à autre que l'heure est correcte (attention, la commande est date, pas time comme sous Windows.) Et de toutes manières, vous mettez à jour vos systèmes (apt-get update et apt-get dist-upgrade sont vos amis), donc vous redémarrez régulièrement vos Linux à cause des mises à jour du noyau, parce que vous vous souciez plus de votre sécurité que de votre uptime. Non ?
Comments
Anonymous
January 01, 2003
willy1009 : c'est une très bonne question. La carte réseau est un problème pour tous les OS non "supportés", c'est à dire ceux pour lesquels il n'y a pas d'"integration components". Autrement dit, pas de driver pour la carte réseau synthétique. Le principe est donc : supprimer la carte réseau ("network adapter"), puis ajouter une "legacy network adapter". C'est le nom donné à la carte réseau de type Intel 21140, reconnue par Debian et les autres OS non supportés (comme Windows XP SP2).Anonymous
January 01, 2003
Excellente explication. J'avais installé le paquet ntp et pourtant la dérive était grande. Je vais adapter votre script en remplaçant ntpdate fr.pool.ntp.org par ntp -q. J'en profite comme willy pour un autre souci : si on reste sur le clavier français la touche AltGr se comporte mal. Souci qui n'existait pas sous VS2005. Avez-vous une solution ? Merci.Anonymous
January 01, 2003
Bonjour, Juste pour savoir, comment avez vous fait pour installer, une carte réseau sous debian, je galere en ce moment car je n'arrive pas à en installer une. MerciAnonymous
May 25, 2010
The comment has been removed