Как предотвратить относительный сдвиг времени после восстановления снимка в Parallels?
Я работаю с веб-приложением в системе тестирования / разработки Ubuntu, работающей в Parallels. В определенные даты и время (взятые из системного времени) происходят некоторые события, и все меняется в базе данных. (например, учетная запись пользователя заблокирована, если пароль не был изменен в течение определенного времени, или статус объекта изменяется, если истек срок и т. д.)
Чтобы иметь возможность тестировать определенные сценарии, я работаю со снимками в Parallels, чтобы сохранить состояние системы в несколько ключевых моментов времени. Может случиться так, что через несколько месяцев мне нужно вернуться к определенному моменту времени, чтобы протестировать определенный сценарий состояния в то время.
Моя проблема заключается в том, что после восстановления снимка системная дата соответствует желаемой (а именно, дате и времени, когда был сделан снимок).
Но через несколько секунд или минут системное время изменяется на некоторый момент времени между реальным временем и ожидаемым (моментальным снимком) временем. У меня сложилось впечатление, что он установлен относительно времени, которое прошло относительно. Например, если я сделал снимок 2018-02-01 (в режиме реального времени) с системной датой гостя Ubuntu 2018-01-01 (время гостя), и я восстановил снимок 2018-03-01 (в режиме реального времени) затем гостевой Ubuntu через несколько минут будет установлено значение 2018-02-01 (время гостя).
Что я сделал до сих пор:
- Отключена синхронизация времени Parallels (согласно https://kb.parallels.com/113271)
- Ый
ntp
а такжеntpdate
- инвалид
Automatic Date&Time
а такжеAutomatic Timezone
в настройках рабочего стола Ubuntu
Проблема, похоже, связана с hwclock
, В качестве примера, я восстановил снимок вчерашнего 2018-01-25 (время гостя), 2018-05-25 (в реальном времени). Я выполнил (сразу после восстановления снимка):
date ; \
hwclock --show ; \
date -s 2018-01-26 ; \
hwclock --systohc ; \
hwclock --set --date 2018-01-26 ; \
hwclock --show ;
Это приводит к следующему выводу:
Thu Jan 25 18:17:49 CET 2018
2018-03-09 01:01:27.249216+0100
Fri Jan 26 00:00:00 CET 2018
2018-03-09 01:01:27.775701+0100
Если я подожду некоторое время, системное время со временем изменится на время часов - я не выяснил почему. Я также не понимаю, почему попытки установить hwclock
время не работает (ошибка не отображается, но новое время игнорируется...)
Наконец, я также проверил syslog
но нет никаких намеков на изменение даты. Он просто печатает запись для старой даты, а следующая запись - с новой датой, без указания причины изменения даты.
Что я пропустил?