Linux : Les services système

Comprendre la synchronisation de l'heure

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Assimilez l'importance de la synchronisation horaire entre vos différentes machines. Vous apprendrez également à les synchroniser avec une horloge officielle.
06:29

Transcription

On va s’intéresser maintenant à la synchronisation temporelle. Et on va s’intéresser à la synchronisation des horloges entre différentes machines. C’est quelque chose d’extrêmement important à mettre en place et à avoir tout simplement parce que si je prends l’exemple de ce qu’on vient de faire, c'est-à-dire que l’on vient d’envoyer des logs provenant d’une machine, ici ma machine Debian, vers une autre machine, ma machine locale, qui est une CentOS, j’ai envoyé le log d’une machine vers une autre machine. Les logs, ce sont des éléments qui sont horodatés. À partir du moment où on va manipuler des éléments qui sont horodatés entre deux machines, j’ai intérêt à ce que les heures qui vont être données pour ces messages-là, soient les mêmes sur les deux machines. Imaginons que si je vais voir dans les logs, « /var/log/messages » de ma machine locale qui est ici, je vais rechercher, voilà, des éléments qui correspondent à la machine deb8 qui est la deuxième machine, j’ai des opérations, des messages qui sont horodatées à un moment donné. Ici, 31 mars, 11 heures 19 minutes 22 secondes et j’ai ce message-là. Si jamais ce message-là, je me dis : « ça, ce n’est pas normal, il faudra que je creuse un petit peu mais ce ne sont pas des logs que j’ai envoyés sur ma machine locale. Je vais aller voir sur ma machine distante ces logs-là. » Et que sur ma machine distante, ce n’est pas 11 heures 19 minutes 22 secondes mais c’est 11 heures 22 minutes 14 secondes. Je risque de passer pas mal de temps à essayer de retrouver où ça se trouve, tout simplement parce que les logs peuvent être très nombreux et sur une durée, même si je tourne quelques minutes autour de mon heure supposée, il peut y avoir beaucoup de messages. Donc pour la corrélation des opérations, pour retrouver des opérations, je vais avoir besoin que mes deux machines soient à la même heure. Ça, c’est la première chose. La deuxième chose, il y a d’autres raisons pour lesquelles on va pouvoir faire ça. Ces autres raisons, c’est par exemple à partir du moment où je vais utiliser des partages de fichiers. Si jamais j’ai un répertoire qui est partagé entre les deux machines, j’ai intérêt à ce que les deux machines soient à l’heure pour que quand je modifie ou quand j’écris un fichier, les dates de modification du fichier ne soient pas des dates dans le futur pour l’autre machine, ce qui peut poser des problèmes. Et puis, il y a plein d’autres raisons qui sont des raisons plus organisationnelles ou légales même. Dans certains cas, il y a un certain nombre d’informations qu’on doit légalement enregistrer de façon horodatée. Et si je ne les enregistre pas de façon horodatée, je ne respecte pas mes engagements, je ne respecte pas les obligations légales qu’on me demande. J’ai intérêt à ce que l’horodatage soit correct. Alors, pour aller un petit peu plus loin là-dessus, on va regarder deux choses. On va tout d’abord regarder comment est-ce que l’heure est gérée sur la machine d’une part et d’autre part, comment est-ce qu’on va se synchroniser sur une horloge de référence ? Alors, qu’est-ce que l’heure ? Pour ça, je vais aller sur une horloge de référence. Voilà, maintenant je suis sur une horloge de référence, je suis sur le site web du Bureau International des Poids et Mesures qui est l’heure de référence qui est donnée au niveau mondial. Qu’est-ce qu’on a ? On a ici dans le bandeau jaune, alors c’est un petit applet Flash, qui est affiché ici, cet applet Flash, qu’est-ce qu’elle va me donner ? Elle va me donner l’heure, la date UTC et l’heure UTC. En plus de l’heure UTC, elle me donne le délai nécessaire à la transmission de l’heure sur ma machine locale. Ça veut dire qu’ici, actuellement il est 12 heures 4 minutes et 5 secondes à 9 centièmes de seconde près, c'est-à-dire qu’il faut 9 centièmes de seconde pour que le serveur du Bureau International des Poids et Mesures me transmette son heure. C’est une heure qui est très importante, l’heure UTC, puisque c’est l’heure de référence au niveau mondial. Et elle est donnée par une horloge atomique et surtout, cette heure UTC ne varie pas, ni en fonction de la période de l’année, donc il n’y a pas d’heure d’été, d’heure d’hiver pour l’heure UTC, c’est toujours la même et elle ne varie pas en fonction de la position, l’heure UTC n’est pas liée au fuseau horaire. Justement, les fuseaux horaires sont calculés en fonction de l'heure UTC. Donc c’est notre horloge de référence. Ça, c’est la première chose à bien comprendre. La deuxième chose à bien comprendre également, c’est que si je vais voir sur mon Linux, je suis retourné sur mon Linux, si je tape la commande « date », il me donne une date et une heure qui n’est absolument pas la même que celle que je viens de voir sur le Bureau International des Poids et Mesures. Là moi, j’ai quoi ? Il est 14 heures 05 alors qu’il était midi 05 sur l’horloge du Bureau International des Poids et Mesures. C’est tout simplement parce qu’ici, ce n’est pas l’heure UTC qui est affichée, c’est l’heure locale. C’est l’heure locale, ici c’est le « Common European Standard Time ». C’est l’heure européenne classique. Comment est-ce qu’elle est calculée cette heure-là ? Elle est calculée à partir de mon fuseau horaire auquel on applique les changements d’heure d’été et d’heure d’hiver. Ça, c’est la première chose à bien savoir, c'est-à-dire que si j’ai des machines qui sont disséminées partout dans le monde, les heures, à l’aide de la commande « date », risquent d’être affichées en fonction de l’heure locale et en tenant compte des décalages été et hiver. Si jamais je veux qu’elles soient toutes basées sur la même référence, j’afficherai l’heure au format UTC puisque ma machine, l’horloge interne de la machine, enregistre l’heure au format UTC. Elle applique juste un décalage quand j’appelle la commande « date » pour afficher mon heure locale. Ça, c’est la première chose. La seconde chose, c’est : suis-je sûr que cette horloge-là, suis-je sûr que ma machine est bien à l’heure, qu’elle n’a pas 2, 3 secondes de décalage, qu’elle n’a pas un quart d’heure de décalage ? Pour m’assurer de ça, il y a un protocole réseau qui existe, qui est le protocole NTP. Alors, le protocole NTP, qu’est-ce que c’est ? Le protocole NTP, c’est le protocole de l’heure réseau. C’est le « Network Time Protocol ». C’est un protocole dont, justement, le boulot va être de s’assurer que toutes les machines sont à la même heure. Comment ça fonctionne ? On va avoir un client NTP sur notre machine, on va avoir un petit programme qui va aller se connecter sur un serveur de temps et qui va synchroniser l’heure locale à l’heure du serveur de temps. Voilà un petit schéma qui résume le fonctionnement. Ici, je vais avoir mes machines. Ici, ma machine va être à ce niveau trois, c'est-à-dire c’est ce qu’on appelle un stratum trois, c'est-à-dire qu’elle va recevoir l’heure de la part d’une horloge qui est au stratum deux. Alors le stratum deux, ça va être quoi ? Ça va être des serveurs de temps qui se synchronisent sur des serveurs de temps qui sont de stratum un, on remonte à eux. Et les serveurs de stratum un synchronisent leur horloge avec des horloges atomiques. Ça me permet d’avoir une heure de référence qui est distribuée à des serveurs et ces serveurs servent pour pouvoir donner l’heure aux machines. C’est comme ça que ça va fonctionner. Et dans le protocole, on prend en compte le temps que met la demande vers le serveur pour venir changer l’heure, c'est-à-dire que mon serveur, mon client, mon petit programme sur ma machine va interroger un serveur pour lui demander l'heure. Le serveur va dire : « il est telle heure ». Ça, ça va mettre un certain temps à se faire. Ce temps là il est mesuré pour que l’heure de la machine cliente soit la plus proche possible de l’heure atomique originale. On va mettre ça en place sur nos machines.

Linux : Les services système

Découvrez les services qui tournent en permanence sur votre système et adaptez-les en fonction de vos besoins. Abordez la gestion des logs, la synchronisation horaire, etc.

2h16 (22 vidéos)
Aucun commentaire n´est disponible actuellement
Logiciel :
Thématiques :
IT
Systèmes d'exploitation
Spécial abonnés
Date de parution :25 avr. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !