IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

LPI 108.1. Mantenir el temps del sistema

De SergiTurWiki
Share/Save/Bookmark
La revisió el 18:18, 26 març 2011 per Sergi (Discussió | contribucions) (Comprovar que funciona correctament el servidor)

(dif) ←Versió més antiga | Versió actual (dif) | Versió més nova→ (dif)
Dreceres ràpides: navegació, cerca

Linux Professional Institute Certificate. LPIC-1

Lpic1 large.gif
Certificat LPIC-1
Examen: 102 (torneu a la resta de temes)
Fitxers: LPI108.1_GestioUsuarisIGrups.pdf (LPI108.1_GestioUsuarisIGrups.odp)
Objectius: http://www.lpi.org/eng/certification/the_lpic_program/lpic_1/exam_102_detailed_objectives
Dipòsit SVN: https://svn.projectes.lafarga.cat/svn/lpi/Materials/Examen_102/108.1
Usuari: anonymous
Paraula de pas: qualsevol paraula de pas

Objectius del tema

108.1. Mantenir el temps del sistema
Objective.jpg
  • Objectiu: Els candidats han de ser capaços de mantenir de forma apropiada el temps del sistema i sincronitzar el rellotge amb NTP
  • Pes: 3
060317 Icon - Theory of Knowledge v01 pdc.jpg

Àrees Clau de Coneixement:

Icon list.jpg

La següent és una llista parcial de fitxers, termes i utilitats utilitzades:

Fitxer:Text-editor.svg

Apunts: LPI 108.1. Mantenir el temps del sistema

Plantilla per prendre apunts

Configuració de l'hora i la data

Network Time Protocol

Servidor NTP

El protocol NTP és un protocol client-servidor on els clients poden utilitzar una comanda per obtenir l'hora exacte d'un servidors remots (servidors NTP).

IMPORTANT: Cal tenir en compte que moltes estacions de treball o servidors que pot ser que no vulguin proporcionar servei d'hora a ningun client, si necessiten una configuració d'hora força exacte utilitzen el servidor instal·lat en localhost. Vegeu el típic error que succeïx al intentar utilitzar client i servidor al mateix temps LPI_108.1._Mantenir_el_temps_del_sistema#NTP_socket_is_in_use.2C_exiting

Instal·lació

A sistemes operatius Debian antics cal instal·lar el paquet ntp-server

$ sudo apt-get install ntp ntpdate ntp-server

En canvi a Ubuntu el paquet que conté el servidor és ntp a seques.

$ sudo apt-get install ntp
...
S'està desempaquetant ntp (de .../ntp_1%3a4.2.4p0+dfsg-1ubuntu2.1_i386.deb) ...
S'està configurant ntp (1:4.2.4p0+dfsg-1ubuntu2.1) ...
* Starting NTP server ntpd                                                                                      [ OK ]

IMPORTANT: A un servidor no us cal ntpdate ja que el servidor ja s'encarrega de configurar l'hora exacte de la màquina a la que està corrent

Fitxers instal·lats

Els podeu consultar amb:

$ dpkg -L ntp

Fitxers de configuració:

$ dpkg -L ntp | grep etc
/etc
/etc/dhcp3
/etc/dhcp3/dhclient-enter-hooks.d
/etc/dhcp3/dhclient-enter-hooks.d/ntp
/etc/ntp.conf
/etc/default
/etc/default/ntp
/etc/init.d
/etc/init.d/ntp
/etc/cron.daily
/etc/cron.daily/ntp
/etc/logcheck
/etc/logcheck/ignore.d.server
/etc/logcheck/ignore.d.server/ntp

Comandes:

$ dpkg -L ntp | grep bin
/usr/sbin
/usr/sbin/ntp-wait
/usr/sbin/ntpd
/usr/sbin/ntptime
/usr/sbin/tickadj
/usr/sbin/ntp-keygen
/usr/bin
/usr/bin/ntpsweep
/usr/bin/ntptrace
/usr/bin/ntpdc
/usr/bin/ntpq

Control i comprovació del servei d'hora

Com gairebé tots els dimonis del sistema, es control·len amb scripts System V:

$ sudo /etc/init.d/ntp
Usage: /etc/init.d/ntp {start|stop|restart|try-restart|force-reload|status}

Podeu iniciar/aturar el servei amb:

$ sudo /etc/init.d/ntp stop
$ sudo /etc/init.d/ntp start

O tornar a iniciar amb:

$ sudo /etc/init.d/ntp restart

o

$ sudo /etc/init.d/ntp reload

NOTA: Si vegeu el codi del fitxer, veureu que reload és un simple stop seguit d'un start

Podem comprovar que el servidor està en execució amb:

$ sudo /etc/init.d/ntp status
* NTP server is running.

o

$ ps aux | grep ntp
ntp       1133  0.0  0.0   4228  1256 ?        Ss   06:25   0:34 /usr/sbin/ntpd -p /var/run/ntpd.pid -u 121:131 -g

Ports

Els ports que utilitza NTP els podeu consultar al fitxer /etc/services:

$ cat /etc/services | grep ntp
...
ntp		123/tcp
ntp		123/udp				# Network Time Protocol
...

S'utilitza el port UDP tal i com podeu comprovar si executeu després d'instal·lar un servidor de NTP:

$ sudo nmap -p 123 localhost
... 
PORT    STATE  SERVICE
123/tcp closed ntp

En canvi si veu l'escanner amb UDP:

$ sudo nmap -sU -p 123 localhost
 ...
PORT    STATE         SERVICE
123/udp open|filtered ntp

Configuració

La instal·lació per defecte ja té una configuració mínima que funciona correctament.

Editeu el fitxer /etc/ntp.conf i busqueu la línia server

$ sudo joe /etc/ntp.conf
...
server ntp.ubuntu.com

Podeu afegir altres servidors. Per exemple:

server pool.ntp.org

Ara reinicieu el servei:

$ sudo /etc/init.d/ntp restart

Podeu comprovar el funcionament amb ntpq.

Comprovar que funciona correctament el servidor

L'ordre ntpq (NTP Query) serveix per fer peticions a servidors NTP. Per comprovar que el servidor que teniu en local funciona correctament, executeu:

$ sudo ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
91.189.94.4     193.79.237.14    2 u   12   64    1   69.890   12.851   0.001
84.88.69.10     130.206.3.166    2 u   11   64    1   64.542    9.647   0.001

El delay i l'offset han de ser diferents de 0 i el jitter menor a 100. El * a l'inici d'una línia indica que la sincronització es bona amb aquest servidor. Si no teniu la estrella atureu el servidor de NTP, executeu ntpdate i torneu a executar el servidor:

$ sudo service ntp stop                                // o sudo /etc/init.d/ntp start
$ sudo ntpdate pool.ntp.org
6 Sep 12:52:00 ntpdate[7959]: adjust time server 138.100.11.74 offset -0.191149 sec
$ sudo service ntp start                               // sudo /etc/init.d/ntp stop

Si tot va bé us ha de sortir quelcom similar a:

$ sudo ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*91.189.94.4     193.79.237.14    2 u   64   64  177   76.239  -23.828  54.168
+217.127.32.90   130.206.3.166    2 u   62   64  177   92.513  -76.779  86.915

Sinó s'indica cap host s'utilitza per defecte localhost. Podeu consultar altres servidors:

$ sudo ntpq -p pool.ntp.org
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp2.rrze.uni-e .PPS.            1 u 1892 2048  377   83.643   -1.414   0.677
*ntp1.nl.uu.net  .PPS.            1 u   99 2048  377   56.225   -1.873   2.459
 chronos.csr.net .GPS.            1 u  11d   64    0   81.497    0.605   0.000
+hora.roa.es     .GPS.            1 u 1715 2048  377   57.878    5.070   4.404

També podeu executar:

$ watch -n 1 date

I consultar alguna pàgina com:

http://time.is/


Recursos:

Client NTP

Instal·lació

A sistemes de la família Debian:

$ sudo apt-get install ntpdate

Fitxers instal·lats

$ dpkg -L ntpdate
/.
/etc
/etc/dhcp3
/etc/dhcp3/dhclient-exit-hooks.d
/etc/dhcp3/dhclient-exit-hooks.d/ntpdate
/etc/default
/etc/default/ntpdate
/etc/logcheck
/etc/logcheck/ignore.d.server
/etc/logcheck/ignore.d.server/ntpdate
/etc/network
/etc/network/if-up.d
/etc/network/if-up.d/ntpdate
/usr
/usr/sbin
/usr/sbin/ntpdate-debian
/usr/sbin/ntpdate
/usr/share
/usr/share/doc
/usr/share/doc/ntpdate
/usr/share/doc/ntpdate/README.Debian
/usr/share/doc/ntpdate/copyright
/usr/share/doc/ntpdate/NEWS.Debian.gz
/usr/share/doc/ntpdate/changelog.Debian.gz
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/ntpdate.8.gz
/usr/share/man/man8/ntpdate-debian.8.gz 

Mantenint un servidor (o client) a l'hora

Per sincronitzar la hora del sistema cal executar:

$ sudo ntpdate servidordentp

IMPORTANT: Si a la mateixa màquina hi ha un servidor de NTP, aleshores heu d'aturar-lo abans d'executar l'ordre ntpdate

Per exemple:

$ sudo ntpdate ntp.ubuntu.com 

Podeu utilitzar la comanda:

$ date

Per consultar la data i l'hora.

Execució durant l'inici del sistema

El fitxer:

$ cat /etc/network/if-up.d/ntpdate

És l'encarregat de configurar la hora durant l'inici del sistema (de fet concretament després de configurar la xarxa). S'executa un script anomenat:

/usr/sbin/ntpdate-debian

I també es configura amb DHCP gràcies als fitxers DHCP Hooks:

/etc/dhcp3/dhclient-exit-hooks.d/ntpdate

En un servidor caldrà afegir una tasca de cron per tal de sincronitzar més sovint (de fet un servidor pot estar llargues temporades sense ser reiniciat). Per sincronitzar cada dia:

$ sudo joe /etc/cron.daily/ntpdate

I afegiu:

#/bin/bash
ntpdate ntp.ubuntu.com

Cal fer-lo executable:

$ sudo chmod 755 /etc/cron.daily/ntpdate

Xen i NTP

Vegeu Xen#Xen_i_NTP.

pool.ntp.org

El projecte pool.ntp.org és un gran cluster virtual de servidors d'hora que proporcionen un servei d'hora fàcil i fiable per a milions d'usuaris.

Els servidors que estan al "pool" són del domini pool.ntp.org a més de diferents subdominis dividit en zones geogràfiques i són distribuïts entre els clients per Round Robin DNS (balanceig de càrrega)

A l'octubre de 2009 el pool tenia 1850 servidors actius. Com està en continua expansió el projecte sempre té necessitat dem és servidors.

El pool és utilitzat per milions de sistemes de tot el món i és tracta del servidor per defecte per a la majoria de distribucions Linux i molts dispositius de xarxa.

Podeu consultar els servidors de la vostra zona a:

Recursos

Paquets

ntpdate

Consulteu ntpdate.

Fitxers de configuració

/usr/share/zoneinfo

Consulteu /usr/share/zoneinfo

/etc/timezone

Consulteu /etc/timezone

/etc/localtime

Consulteu /etc/localtime

/etc/ntp.conf

Consulteu /etc/ntp.conf

Ordres

date

Consulteu date

hwclock

Consulteu hwclock.

ntpd

Consulteu ntpd.

ntpdate

Consulteu ntpdate.

Troubleshooting. Resol·lució de problemes

NTP socket is in use, exiting

Si al intentar sincronitzar l'hora d'un client NTP obteniu l'error:

$ sudo ntpdate ntp.ubuntu.com
18 Apr 20:10:56 ntpdate[4667]: the NTP socket is in use, exiting

És molt possible que la màquina local estigui corrent servidor de NTP. Si teiu un servidor de NTP instal·lat no us cal sincrnotizar l'hora (ja ho fa el servidor ntp per vosaltres).

De fet, es considera mol més exacte la configuració d'hora obtinguda amn un servidor NTP instal·lat que no pas la que es pot obtenir amb ntpdate (encara que automatitzem la sincronització amb cron)

Vegeu també

  • LPI_107.3. Localització i internacionalització

Enllaços externs