Une seconde de plus d’ici fin Juin, quid des produit EMC ?

Maj 22/06/2015: Précisions apportées au sujet du patch VPlex, l’action en question n’est à faire que sur une seule des consoles : le script s’occupe de tous les composants en une seule fois (witness, directeurs et mgmt consoles). Merci à Dominique pour m’avoir mis la puce à l’oreille ;)

Vous avez surement entendu parler de l’ajout prochain d’une seconde sur le temps conventionnel de référence (UTC), sur lequel sont basées toutes nos horloges aujourd’hui ainsi que les services NTP que nous utilisons dans l’informatique. Sans que cela ne soit une frayeur similaire à celle que l’on a connu avec le bug de l’an 2000 ou peut-être le futur bug de l’an 2038, il est important de se poser la question de l’impact potentiel de l’ajout de cette seconde sur nos équipements.

Concernant les produits EMC, la société a publié très récemment un article spécifique sur cette question. Le KB197322 décrit donc la liste des produits EMC et leur sensibilité potentielle ou réelle à cet ajustement. Rappelons tout de même qu’une seconde a déjà été rajoutée en 2012, sans que cela n’ait vraiment perturbé énormément le monde de l’informatique à l’époque.

Voici la liste des produits potentiellement vulnérables : Avamar Gen4/Gen4S, La Control Station Celerra 6.x, eNAS, Les VNX de première génération (la couche NAS, File et Unified), VPlex et VPlex/VE. La plupart du temps, ces vulnérabilités sont dues à l’utilisation de SUSE Linux.

Pour Avamar, la solution de contournement et/ou sa résolution définitive est en cours d’évaluation, ceci étant, si l’on se réfère à la note technique KB7016150 de Novell vis à vis des distributions SUSE, le risque de plantage est tout de même « peu probable », pas de panique, donc.

Pour VNX1 et Celerra, la solution préconisée consiste à se « déconnecter » temporairement de son serveur NTP de référence, pour éviter le bug, puis de se resynchroniser ensuite : simple et, semble-t-il, efficace ;)

Pour VPlex, c’est plus important, car le bug semble être pris très au sérieux par EMC et peut impacter les directeurs. Donc je vous conseille d’appliquer rapidement la solution fournie par EMC. Elle est proposée via le KB202591. Il s’agit en substance de passer un script sur une des consoles VPlex permettant de modifier le comportement des service NTP des consoles, mais aussi des directeurs et du witness éventuel.

Installation et lancement du script « LeapSecond » d’EMC sur VPlex

Le script en question est disponible via le site support d’EMC, comme toujours. Une fois téléchargé le fichier zip, on suit le README fourni, à savoir :
1. Se logguer sur la management console du cluster VPlex à patcher
2. Récupérer le fichier leapsec.tar sur la machine (via un scp)
3. Extraire le contenu de l’archive
4. Lancer le script python contenu dans l’archive :

service@krakentu:~> ./leapsec/leapsec.py -start

Updating ntp config file for all the Directors...

ntp_update.py                                                                                                                                                100% 1925     1.9KB/s   00:00
ntp_update.py                                                                                                                                                100% 1925     1.9KB/s   00:00
ntp_update.py                                                                                                                                                100% 1925     1.9KB/s   00:00
ntp_update.py                                                                                                                                                100% 1925     1.9KB/s   00:00

Updating ntp config file for local Management Server...

Shutting down network time protocol daemon (NTPD)                                                                                                                                   done
Starting network time protocol daemon (NTPD)                                                                                                                                        done

Remote Management Server is configured

Updating ntp config file for remote Management Server...

Please input remote Management Server 'service' account Password twice for updating ntp config file:

Password:
ntp_update.py                                                                                                                                                100% 1925     1.9KB/s   00:00
Password:

Cluster Witness Server is configured

Updating ntp config file for Cluster Witness Server...

Warning: Permanently added '172.16.8.3' (ECDSA) to the list of known hosts.
ntp_update.py                                                                                                                                                100% 1925     1.9KB/s   00:00
Warning: Permanently added '172.16.8.3' (ECDSA) to the list of known hosts.
Shutting down network time protocol daemon (NTPD)                                                                                                                                   done
Starting network time protocol daemon (NTPD)                                                                                                                                        done
Connection to 172.16.8.3 closed.
Warning: Permanently added '172.16.8.3' (ECDSA) to the list of known hosts.
Connection to 172.16.8.3 closed.

Cluster-Witness-Server :        Success
Director 128.221.252.35 :       Success
Director 128.221.252.36 :       Success
Director 128.221.252.67 :       Success
Director 128.221.252.68 :       Success
Local-Management-Server :       Success
Remote-Management-Server :      Success

leapsec script execution is completed.

Run the script with '-status' option to confirm that all ntp files are updated successfully.
service@krakentu:~>

5. Ensuite, comme indiqué, relancer le script avec l’option « -status »

service@krakentu:~> ./leapsec/leapsec.py -status
ntp_update.py                                                                                                                                                100% 1925     1.9KB/s   00:00
ntp_update.py                                                                                                                                                100% 1925     1.9KB/s   00:00
ntp_update.py                                                                                                                                                100% 1925     1.9KB/s   00:00
ntp_update.py                                                                                                                                                100% 1925     1.9KB/s   00:00

Please input remote Management Server 'service' account Password twice for checking the status of ntp file update:

Password:
ntp_update.py                                                                                                                                                100% 1925     1.9KB/s   00:00
Password:
Warning: Permanently added '172.16.8.3' (ECDSA) to the list of known hosts.
ntp_update.py                                                                                                                                                100% 1925     1.9KB/s   00:00
Warning: Permanently added '172.16.8.3' (ECDSA) to the list of known hosts.
Slew
Connection to 172.16.8.3 closed.
Warning: Permanently added '172.16.8.3' (ECDSA) to the list of known hosts.
Connection to 172.16.8.3 closed.

-----------------------------------------
Component               NTP update status
-----------------------------------------

Cluster-Witness-Server :        Slew
Director 128.221.252.35 :       Slew
Director 128.221.252.36 :       Slew
Director 128.221.252.67 :       Slew
Director 128.221.252.68 :       Slew
Local-Management-Server :       Slew
Remote-Management-Server :      Slew

leapsec script execution is completed.

service@krakentu:~>

… et vérifier que le mode de mise à jour de NTP est bien à « slew » et pas à « default ».

C’est terminé pour l’opération « pré 30 juin ». Début juillet, il faudra relancer le script avec l’option « -stop » pour revenir au comportement par défaut des démons NTP.

Sources :
Le KB EMC décrivant les produits et leur exposition ICI.
Le KB spécifique à VPlex ICI.
Le script VPlex et son README à passer sur vos consoles, ICI.