Synchronisation NTP sur NAS VNX/Celerra

Lors de l’utilisation d’une tête NAS dont les serveurs CIFS sont intégré à un Active Directory, le nerf de la guerre pour un parfait fonctionnement, c’est la synchro horaire. En effet, Active Directory est particulièrement sensible à tout décalage, à tel point que chaque membre d’un A/D doit forcément avoir une référence temps sur un des contrôleurs.

Les NAS EMC ne font pas exception, bien entendu. Or, pour que la synchro soit parfaite, il faut que l’ensemble des composants soient parfaitement configurés. Même si cela est relativement bien documenté, un petit résumé ne peut pas faire de mal.


Première étape, synchroniser la/les Control Stations sur la référence temps commune à votre A/D. Le protocole utilisé est bien sûr NTP. Connectez-vous sous « root » puis éditez les deux fichiers /etc/ntp.conf et /etc/ntp/step_tickers en indiquant vos serveurs de temps par leur IP (ou éventuellement leur FQDN). Voici un exemple de fichier NTP correct :

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery

# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict -6 ::1

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).

#broadcast 192.168.1.255 key 42         # broadcast server
#broadcastclient                        # broadcast client
#broadcast 224.0.1.1 key 42             # multicast server
#multicastclient 224.0.1.1              # multicast client
#manycastserver 239.255.254.254         # manycast server
#manycastclient 239.255.254.254 key 42  # manycast client

# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10

# Drift file.  Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
driftfile /var/lib/ntp/drift

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8
server #ISERVEUR_NTP_1#
server #SERVEUR_NTP_2#
trustedkey

Les directives les plus importantes sont « server #SERVEUR_NTP_1# » et « server #SERVEUR_NTP_1# » en fin de fichier. De même, voici un exemple de fichier /etc/ntp/step-tickers, très simple (il contient la liste des IP/FQDN de vos serveurs NTP séparés par des espaces) :

#SERVEUR_NTP_1# #SERVEUR_NTP_2#

Enfin, redémarrez le serveur NTP :

/etc/init.d/ntpd restart
Shutting down ntpd:                                        [  OK  ]
ntpd: Synchronizing with time server:                      [  OK  ]
Starting ntpd:                                             [  OK  ]

Si vous souhaitez également modifier la timezone de la control station, vous pouvez tout simplement vous référer aux nombreux billets sur le sujet concernant les distributions RedHat (la Control Station tourne sur une Red Hat modifiée). En substance, il suffit de modifier comme il se doit le /etc/sysconfig/clock pour qu’il reflète correctement votre zone de temps, ainsi que modifier le lien symbolique /etc/localtime pour qu’il point vers le fichier de description de la timezone (/usr/share/zoneinfo/…).

Une fois cette opération de synchro Control Station, il faut s’occuper des datamovers. Pour cela nous utilisons des commandes spécifiques. Les appliances étant directement gérées via le compte nasadmin, on se reconnecte préalablement sous celui-ci. Première chose, remettre les paramètres à zéro :

server_date server_2 timesvc stop ntp
server_date server_3 timesvc stop ntp
server_date server_2 timesvc delete ntp
server_date server_3 timesvc delete ntp

Ensuite, placer la timezone correctement :

server_date server_2 timezone -name Europe/Paris
server_date server_3 timezone -name Europe/Paris

Enfin, reconfigurer les time servers :

server_date server_2 timesvc start ntp -interval 00:01 #IP_NTP1# #IP_NTP2#
server_date server_3 timesvc start ntp -interval 00:01 128.221.252.100

Il faut noter que contrairement aux control stations, la configuration ne se fait que via des IP et pas des FQDN. D’autre part, le server_3, souvent configuré comme datamover de backup en standby est, dans cet état, complètement isolé du réseau d’accès et ne peut donc discuter qu’avec sa control station active. Cela explique l’ip « en dur » dans la seconde directive.

Une fois ce paramétrage fait, vous pouvez contrôler l’état des datamovers via ces commandes :

server_date server_2 timesvc
server_date server_3 timesvc

Sources utiles : Configurer la timezone sur RedHat, Commandes utiles sur Celerra, Configure time sync on EMC Celerra.