Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 3307

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.&nbsp;Synchronisation pr&eacute;cise de l'heure</title><link href="style.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.69.1" name="generator"><link rel="start" href="index.html" title="
        Gestion pr&eacute;cise de l'heure et de la date
    "><link rel="up" href="index.html" title="
        Gestion pr&eacute;cise de l'heure et de la date
    "><link rel="prev" href="ar01s04.html" title="4.&nbsp;Les param&egrave;tres corrects pour votre machine Linux"><link rel="next" href="ar01s06.html" title="6.&nbsp;Une horloge pr&eacute;cise avec le programme chrony"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">5.&nbsp;Synchronisation pr&eacute;cise de l'heure</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ar01s04.html">Pr&eacute;c&eacute;dent</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="ar01s06.html">Suivant</a></td></tr></table><hr></div><div class="section" lang="fr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="ntp"></a>5.&nbsp;Synchronisation pr&eacute;cise de l'heure</h2></div></div><div></div></div><p>Avoir l'heure exacte sur tous vos syst&egrave;mes est aussi important que d'avoir une strat&eacute;gie solide de la s&eacute;curit&eacute; du r&eacute;seau (ce qui est bien plus qu'utiliser des pare-feu). C'est un des &eacute;l&eacute;ments essentiels d'une administration syst&egrave;me bas&eacute;e sur de bonnes pratiques qui m&egrave;ne &agrave; des syst&egrave;mes bien organis&eacute;s et s&ucirc;rs. Une heure pr&eacute;cise est particuli&egrave;rement n&eacute;cessaire lorsqu'on travaille avec des applications distribu&eacute;es, des services web ou des outils distribu&eacute;s de surveillance r&eacute;seau.</p><div class="section" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="ntp.ntp"></a>5.1.&nbsp;<span class="acronym">NTP</span>&nbsp;: protocole de diffusion du temps en r&eacute;seau (Network Time Protocol)</h3></div></div><div></div></div><p>Nous ne d&eacute;crirons pas ici le protocole, mais comment cette magnifique invention, ajout&eacute;e &agrave; la pr&eacute;sence envahissante d'internet, peut nous &ecirc;tre utile. Vous pouvez en apprendre plus sur <a href="http://www.ntp.org/" target="_top">www.ntp.org</a>.</p><p>Une fois le syst&egrave;me configur&eacute;, <span class="acronym">NTP</span> arrivera &agrave; garder l'heure exacte en ne faisant que de tr&egrave;s petits ajustements pour ne pas perturber les applications en cours d'ex&eacute;cution.</p><p>L'heure exacte peut &ecirc;tre obtenue en utilisant des appareils bas&eacute;s sur la fr&eacute;quence &eacute;lectronique des atomes. Il existe aussi une m&eacute;thode bas&eacute;e sur le syst&egrave;me de satellites <span class="acronym">GPS</span>. La premi&egrave;re est plus fiable, mais la seconde n'est pas si mauvaise. Les deux n&eacute;cessitent un mat&eacute;riel tr&egrave;s sp&eacute;cifique et tr&egrave;s cher, mais leurs propri&eacute;taires (en g&eacute;n&eacute;ral des universit&eacute;s ou des laboratoires de recherche) les connectent &agrave; des ordinateurs qui font tourner un serveur <span class="acronym">NTP</span> qui sont connect&eacute;s &agrave; internet et qui vous laissent y acc&eacute;der gratuitement. Et c'est gr&acirc;ce &agrave; eux que nous synchroniserons nos syst&egrave;mes.</p></div><div class="section" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="ntp.arch"></a>5.2.&nbsp;Construire une architecture simple de synchronisation de l'heure</h3></div></div><div></div></div><p>Vous aurez besoin de &nbsp;:</p><div class="orderedlist"><ol type="1"><li><p>Une connexion directe ou indirecte (&agrave; travers un pare-feu) &agrave; internet.</p></li><li><p>Choisir des serveurs <span class="acronym">NTP</span>. Vous pouvez utiliser le serveur public <a href="http://www.fortytwo.ch/time/" target="_top">pool.ntp.org</a> ou en choisir dans la <a href="http://www.eecis.udel.edu/~mills/ntp/clock2a.html" target="_top">deuxi&egrave;me strate de serveurs de temps publics</a> sur le site web de <span class="acronym">NTP</span>. Si vous n'avez pas d'acc&egrave;s &agrave; internet, votre administrateur <span class="acronym">WAN</span> (ce doit &ecirc;tre un type intelligent) peut probablement vous donner des adresses internes.</p></li><li><p>Avoir le logiciel <span class="acronym">NTP</span> install&eacute; sur tous les syst&egrave;mes que vous voulez synchroniser. Vous pouvez trouver les RPM sur les c&eacute;d&eacute;roms de votre distribution Linux favorite ou <a href="http://rpmfind.net/linux/rpm2html/search.php?query=ntp" target="_top">faire une recherche</a> sur <a href="http://rpmfind.net/" target="_top">http://rpmfind.net/</a>.</p></li></ol></div><p>Voici un exemple d'une bonne architecture&nbsp;:</p><div class="figure"><a name="N10416"></a><p class="title"><b>Figure&nbsp;1.&nbsp;Serveurs relais locaux pour NTP</b></p><div class="mediaobject" align="center"><img src="images/TimePrecision-HOWTO/ntp.png" align="middle" alt="Architecture NTP"></div></div><p>
      
          Si vous avez plusieurs machines &agrave; synchroniser, <span class="emphasis"><em>ne 
          les faites pas</em></span> toutes acc&eacute;der aux serveurs 
          <span class="acronym">NTP</span> externes que vous avez choisis. Seuls 
          deux de vos serveurs doivent acc&eacute;der aux serveurs 
          <span class="acronym">NTP</span> externes. Les autres machines se 
          synchroniseront sur ces deux derni&egrave;res. Nous les appellerons 
          <span class="emphasis"><em>serveurs relais</em></span>.
      
      </p><p>
      
          Vos serveurs relais peuvent &ecirc;tre n'importe lesquelles de vos 
          machines d&eacute;j&agrave; disponibles sur votre r&eacute;seau. 
          <span class="acronym">NTP</span> consomme tr&egrave;s peu de m&eacute;moire et de 
          processeur. Vous n'avez pas besoin d'une machine d&eacute;di&eacute;e &agrave; 
          cette fonction.
      
      </p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip"><tr><td valign="top" align="center" rowspan="2" width="25"><img alt="[Astuce]" src="images/tip.png"></td><th align="left">Astuce</th></tr><tr><td valign="top" align="left"><p>
      
          Cr&eacute;er des alias pour les noms d'h&ocirc;tes de vos serveurs relais 
          locaux est une bonne id&eacute;e. Vous pouvez d&eacute;finir par exemple 
          ntp1.mon-domaine.fr et ntp2.mon-domaine.fr. Puis n'utilisez 
          que ces noms en configurant les machines clientes. De cette 
          fa&ccedil;on, vous pouvez d&eacute;placer la fonctionnalit&eacute; 
          <span class="acronym">NTP</span> vers un nouveau serveur relais (avec un 
          adresse IP et un nom d'h&ocirc;te diff&eacute;rents) sans avoir &agrave; 
          reconfigurer les clients. Demandez &agrave; votre administrateur 
          <span class="acronym">DNS</span> de cr&eacute;er ces alias.
      
      </p></td></tr></table></div></div><div class="section" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="ntp.configs"></a>5.3.&nbsp;Configuration <span class="acronym">NTP</span></h3></div></div><div></div></div><div class="variablelist"><dl><dt><span class="term"><span class="emphasis"><em>Pour vos serveurs relais</em></span></span></dt><dd><p>&Eacute;ditez <code class="filename">/etc/ntp.conf</code> et ajoutez les serveurs distants que vous avez choisis&nbsp;:</p><div class="example"><a name="N10451"></a><p class="title"><b>Exemple&nbsp;5.&nbsp;Fichier <code class="filename">/etc/ntp.conf</code>des machines relais</b></p><pre class="programlisting">
server  ntp.cnrs.fr        # Un serveur de strate 1 de cnrs.fr
server  autre-ntp.gouv.fr  # Un serveur de strate 2 de gouv.fr
</pre></div><p>
            
                De nouveau, vous pouvez utiliser le serveur public 
                <a href="http://www.fortytwo.ch/time/" target="_top">pool.ntp.org</a> 
                ou obtenir une liste de <a href="http://www.eecis.udel.edu/~mills/ntp/clock2a.html" target="_top">serveurs 
                de temps publics</a> sur le site web de 
                <span class="acronym">NTP</span>.
                        
            </p></dd><dt><span class="term"><span class="emphasis"><em>Pour vos clients</em></span></span></dt><dd><p>&Eacute;ditez <code class="filename">/etc/ntp.conf</code> et ajoutez vos serveurs relais avec un nom standard&nbsp;:</p><div class="example"><a name="N10473"></a><p class="title"><b>Exemple&nbsp;6.&nbsp;Fichier <code class="filename">/etc/ntp.conf</code> des machines clientes</b></p><pre class="programlisting">
server  ntp1.mon-domaine.fr   # Mon premier serveur relais local
server  ntp2.mon-domaine.fr   # Mon deuxi&egrave;me serveur relais local
</pre></div></dd></dl></div><p>Si votre machine a une heure UTC diff&eacute;rente de plusieurs minutes par rapport aux serveurs <span class="acronym">NTP</span>, <span class="acronym">NTP</span> ne fonctionnera pas. Dans ce cas, vous devez d'abord faire un synchronisation compl&egrave;te. Je vous recommande de le faire en dehors des heures de production. Vous n'avez besoin de le faire que lors de l'initialisation de votre configuration <span class="acronym">NTP</span>, jamais plus apr&egrave;s&nbsp;:</p><div class="example"><a name="N10488"></a><p class="title"><b>Exemple&nbsp;7.&nbsp;Premi&egrave;re synchronisation</b></p><pre class="screen">
<code class="prompt">bash# </code><span><strong class="command">ntpdate autre-ntp.gouv.fr</strong></span>	<a name="sync1"></a><img border="0" alt="1" src="images/callouts/1.png">
24 Mar 18:16:36 ntpdate[10254]: step time server 200.100.20.10 offset -15.266188 sec
<code class="prompt">bash# </code><span><strong class="command">ntpdate autre-ntp.gouv.fr</strong></span>	<a name="sync2"></a><img border="0" alt="2" src="images/callouts/2.png">
24 Mar 18:16:43 ntpdate[10255]: adjust time server 200.100.20.10 offset -0.000267 sec
</pre><div class="calloutlist"><table summary="Callout list" border="0"><tr><td align="left" valign="top" width="5%"><a href="#sync1"><img border="0" alt="1" src="images/callouts/1.png"></a> </td><td align="left" valign="top"><p>Premi&egrave;re synchronisation compl&egrave;te. L'horloge retardait de 15 secondes.</p></td></tr><tr><td align="left" valign="top" width="5%"><a href="#sync2"><img border="0" alt="2" src="images/callouts/2.png"></a> </td><td align="left" valign="top"><p>Deuxi&egrave;me synchronisation compl&egrave;te, juste pour &ecirc;tre s&ucirc;r. Maintenant, nous ne retardons pratiquement plus, ce qui est une bonne chose.</p></td></tr></table></div></div><p>La derni&egrave;re &eacute;tape consiste &agrave; d&eacute;marrer ou &agrave; red&eacute;marrer le d&eacute;mon <span class="acronym">NTP</span> sur chaque machine&nbsp;:</p><pre class="screen"><code class="prompt">bash# </code><span><strong class="command">service ntpd restart</strong></span></pre></div><div class="section" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="ntp.watch"></a>5.4.&nbsp;Observer votre machine se synchroniser</h3></div></div><div></div></div><p>Maintenant que tout est configur&eacute;, <span class="acronym">NTP</span> va garder l'heure de votre machine synchronis&eacute;e. Vous pouvez observer ce processus en utilisant la commande d'interrogation NTP (<span><strong class="command">ntpq</strong></span>)&nbsp;:</p><div class="example"><a name="N104C5"></a><p class="title"><b>Exemple&nbsp;8.&nbsp;Un exemple d'interrogation de l'&eacute;tat de la synchronisation temporelle</b></p><pre class="screen">
<code class="prompt">bash# </code><span><strong class="command">ntpq -p</strong></span>
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
-jj.cs.umb.edu   gandalf.sigmaso  3 u   95 1024  377   31.681  -18.549   1.572
 milo.mcs.anl.go ntp0.mcs.anl.go  2 u  818 1024  125   41.993  -15.264   1.392
-mailer1.psc.edu ntp1.usno.navy.  2 u  972 1024  377   38.206   19.589  28.028
-dr-zaius.cs.wis ben.cs.wisc.edu  2 u  502 1024  357   55.098    3.979   0.333
+taylor.cs.wisc. ben.cs.wisc.edu  2 u  454 1024  347   54.127    3.379   0.047
-ntp0.cis.strath harris.cc.strat  3 u  507 1024  377  115.274   -5.025   1.642
*clock.via.net   .GPS.            1 u  426 1024  377  107.424   -3.018   2.534
 ntp1.conectiv.c 0.0.0.0         16 u    - 1024    0    0.000    0.000 4000.00
+bonehed.lcs.mit .GPS.            1 u  984 1024  377   25.126    0.131  30.939
-world.std.com   204.34.198.40    2 u  119 1024  377   24.229   -6.884   0.421
</pre></div><div class="variablelist"><p class="title"><b>La signification de chaque colonne</b></p><dl><dt><span class="term"><span class="emphasis"><em>remote</em></span></span></dt><dd><p>Est le nom du serveur <span class="acronym">NTP</span> distant. Si vous utilisez l'option <code class="option">-n</code>, vous verrez les adresses IP de ces serveurs &agrave; la place de leurs noms.</p></dd><dt><span class="term"><span class="emphasis"><em>refid</em></span></span></dt><dd><p>Indique d'o&ugrave; chaque serveur obtient son heure. Il peut s'agir d'un nom d'h&ocirc;te ou de quelque chose comme <span class="acronym">.GPS.</span>, indiquant une source <span class="acronym">GPS</span> (Global Positioning System).</p></dd><dt><span class="term"><span class="emphasis"><em>st</em></span></span></dt><dd><p>La <span class="emphasis"><em>strate</em></span> est un nombre allant de 1 &agrave; 16 qui indique la pr&eacute;cision du serveur distant. 1 est le plus fiable, 16 signifie que le serveur n'est pas disponible. Votre strate sera &eacute;gale &agrave; celle du serveur distant le plus fiable plus 1. Ne vous connectez jamais &agrave; un serveur de la strate 1, utilisez ceux de niveau 2&nbsp;! Ces serveurs sont largement suffisants pour nos besoins, et cette politique permet de r&eacute;duire le trafic vers les serveurs de la premi&egrave;re strate.</p></dd><dt><span class="term"><span class="emphasis"><em>poll</em></span></span></dt><dd><p>L'intervalle (en secondes) entre deux requ&ecirc;tes de temps. La valeur sera comprise entre les valeurs minimales et maximales autoris&eacute;es. Initialement la valeur sera petite pour permettre une synchronisation rapide. Une fois que les horloges sont synchrones, le temps entre deux requ&ecirc;tes augmentera pour diminuer le trafic r&eacute;seau et la charge sur les serveurs de temps populaires.</p></dd><dt><span class="term"><span class="emphasis"><em>reach</em></span></span></dt><dd><p>C'est une repr&eacute;sentation en base 8 d'un tableau de 8 bits repr&eacute;sentant les 8 derni&egrave;res fois que la machine a essay&eacute; d'atteindre le serveur. Le bit est mis &agrave; 1 si le serveur distant a pu &ecirc;tre atteint.</p></dd><dt><span class="term"><span class="emphasis"><em>delay</em></span></span></dt><dd><p>Le d&eacute;lai (en secondes) n&eacute;cessaire pour recevoir une r&eacute;ponse &agrave; une demande de "quelle heure est-il&nbsp;?".</p></dd><dt><span class="term"><span class="emphasis"><em>offset</em></span></span></dt><dd><p>La valeur la plus importante. Le d&eacute;calage de temps entre le serveur local et le serveur distant. Pendant la synchronisation, le d&eacute;calage diminue, indiquant que l'horloge locale devient plus pr&eacute;cise.</p></dd><dt><span class="term"><span class="emphasis"><em>jitter</em></span></span></dt><dd><p>Cette colonne indique la dispersion, qui est une mesure de la variance statistique du d&eacute;calage pendant plusieurs paires de requ&ecirc;te/r&eacute;ponse successives. Des valeurs faibles de la dispersion sont meilleures que des valeurs &eacute;lev&eacute;es. Plus elles sont faibles, plus la synchronisation temporelle sera pr&eacute;cise.</p></dd></dl></div><div class="variablelist"><p class="title"><b>Signification des signes devant les noms de serveur</b></p><dl><dt><span class="term"><span class="emphasis"><em>-</em></span></span></dt><dd><p>Signifie que le service NTP local n'aime pas beaucoup ce serveur</p></dd><dt><span class="term"><span class="emphasis"><em>+</em></span></span></dt><dd><p>Signifie que le service NTP local aime ce serveur</p></dd><dt><span class="term"><span class="emphasis"><em>x</em></span></span></dt><dd><p>Marque un mauvais serveur</p></dd><dt><span class="term"><span class="emphasis"><em>*</em></span></span></dt><dd><p>Indique le serveur pr&eacute;f&eacute;r&eacute; actuel</p></dd></dl></div></div><div class="section" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="ntp.boot"></a>5.5.&nbsp;Lancer automatiquement <span class="acronym">NTP</span> au d&eacute;marrage</h3></div></div><div></div></div><p>Si vous voulez toujours avoir le service <span class="acronym">NTP</span> sur votre machine m&ecirc;me si vous la red&eacute;marrez, faites ceci sur chaque machine&nbsp;:</p><pre class="screen"><code class="prompt">bash# </code><span><strong class="command">chkconfig --level 2345 ntpd on</strong></span></pre><p>Cela garantira un d&eacute;marrage automatique.</p><p>Si votre machine fonctionne longtemps sans red&eacute;marrage (des mois ou des ann&eacute;es), vous remarquerez une importante diff&eacute;rence entre la tr&egrave;s impr&eacute;cise horloge mat&eacute;rielle et l'heure syst&egrave;me (maintenant tr&egrave;s pr&eacute;cise). Les distributions Linux modernes copient l'heure syst&egrave;me dans l'horloge mat&eacute;rielle chaque fois que le syst&egrave;me est arr&ecirc;t&eacute; en utilisant un <a href="ar01s04.html#set.hwclock" title="4.2.&nbsp;R&eacute;gler l'horloge mat&eacute;rielle">m&eacute;canisme similaire &agrave; la commande <span><strong class="command">setclock</strong></span></a>. De cette fa&ccedil;on, au d&eacute;marrage suivant, vous obtiendrez une date et une heure presque aussi pr&eacute;cises que ce qu'elles &eacute;taient lors de l'arr&ecirc;t de votre ordinateur.</p></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ar01s04.html">Pr&eacute;c&eacute;dent</a>&nbsp;</td><td align="center" width="20%">&nbsp;</td><td align="right" width="40%">&nbsp;<a accesskey="n" href="ar01s06.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">4.&nbsp;Les param&egrave;tres corrects pour votre machine Linux&nbsp;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%">&nbsp;6.&nbsp;Une horloge pr&eacute;cise avec le programme <span><strong class="command">chrony</strong></span></td></tr></table></div></body></html>