Je travaille avec une application web sur un système de test / développement Ubuntu fonctionnant dans Parallels. À des dates et heures spécifiques (prises à partir de l'heure système), des événements se produisent et des choses sont modifiées dans la base de données (par exemple, un compte utilisateur est verrouillé, si le mot de passe n'a pas été changé pendant un certain temps, ou le statut d'un objet est modifié, si une date limite est dépassée, etc.).
Pour pouvoir tester des scénarios spécifiques, je travaille avec des instantanés dans Parallels pour stocker l'état du système à plusieurs moments clés. Il peut arriver qu'après plusieurs mois, j'ai besoin de revenir à un moment précis pour tester un scénario spécifique à l'époque.
Mon problème est qu'après la restauration de l'instantané, la date système est telle que je la veux (c'est-à-dire égale à l'heure à laquelle l'instantané a été pris).
Mais après quelques secondes à quelques minutes, l'heure du système change pour atteindre un moment entre l'heure réelle et l'heure attendue (de l'instantané). J'ai l'impression qu'elle est réglée sur l'heure qui s'est écoulée relativement. Par exemple, si j'ai pris l'instantané le 01/02/2018 (heure réelle) avec la date du système de l'invité Ubuntu étant le 01/01/2018 (heure de l'invité) et que je restaure l'instantané le 01/03/2018 (heure réelle), alors l'invité Ubuntu sera finalement réglé sur le 01/02/2018 (heure de l'invité) après quelques minutes.
Ce que j'ai fait jusqu'à présent:
- Désactivé la synchronisation de l'heure de Parallels (selon https://kb.parallels.com/113271)
- Désinstallé
ntp
etntpdate
- Désactivé
Date et heure automatiques
etFuseau horaire automatique
dans les paramètres du bureau Ubuntu
Le problème semble être lié à hwclock
. Par exemple, j'ai restauré un instantané à partir du 25/01/2018 (heure de l'invité) hier, le 25/05/2018 (heure réelle). J'ai exécuté (juste après avoir restauré l'instantané):
date ; \
hwclock --show ; \
date -s 2018-01-26 ; \
hwclock --systohc ; \
hwclock --set --date 2018-01-26 ; \
hwclock --show ;
Cela donne le résultat suivant:
Jeudi 25 janvier 18h17m49 CET 2018
2018-03-09 01h01m27.249216+0100
Vendredi 26 janvier 00h00 CET 2018
2018-03-09 01h01m27.775701+0100
Si j'attends un certain temps, l'heure du système finira par changer pour être l'heure de hwclock - je n'ai pas trouvé pourquoi. Je ne comprends pas non plus pourquoi les tentatives de définir l'heure de hwclock
ne fonctionnent pas (aucune erreur n'est affichée, mais la nouvelle heure est ignorée...)
Enfin, j'ai également vérifié le syslog
mais il n'y a aucune indication sur la modification de la date. Il affiche simplement une entrée pour l'ancienne date et la prochaine entrée est avec la nouvelle date, sans indication sur ce qui a provoqué le changement de date.
Qu'est-ce que j'ai manqué?
P.S.
Voici la sortie de systemctl | grep time
rtkit-daemon.service loaded active running RealtimeKit Scheduling Policy Service
systemd-timedated.service loaded active running Time & Date Service
timers.target loaded active active Timers
anacron.timer loaded active running Trigger anacron every hour
apt-daily-upgrade.timer loaded active waiting Daily apt upgrade and clean activities
apt-daily.timer loaded active waiting Daily apt download activities
motd-news.timer loaded active elapsed Message of the Day
snapd.refresh.timer loaded active waiting Timer to automatically refresh installed snaps
systemd-tmpfiles-clean.timer loaded active waiting Daily Cleanup of Temporary Directories