LINUX.ORG.RU
ФорумAdmin

А как в виртуальной машине поддерживать актуальное время?

 ,


0

2

Я тут со своей доморощенной виртуализацией экспериментирую. И оказалось, что когда мой ноутбук уснул, в запущенной виртуальной машине время ушло назад на время сна (то бишь не двигалось вперёд). Перезагрузка виртуальной машины проблему решила, но хотелось бы понять, можно ли эту проблему решить другими способами. Я предполагаю, что в запущенном линуксе время отсчитывается средствами процессора, а нужно вероятно вместо этого использовать какие-то аппаратные источники времени (которые, предположительно, в виртуальной машине будут синхронизированы с хостом и будут правильные).

Перемещено hobbit из general

★★★★

Время синхронизируется по ntp. Сервис ntp по идее запущен всегда, и даже если у тебя собьется по какой-то причине время, он его вернет в нужное при синхронизации.

Если его у тебя нет по какой-то причине — подними.

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Вроде в timedatectl написано, что NTP service: active. Может не дождался момента синхронизации. То бишь единственное, что тут можно сделать, это сделать синхронизацию к примеру раз в секунду? Я думал, может в линуксе есть просто какая-то фича типа использовать hwclock вместо своего таймера.

vbr ★★★★
() автор топика

И оказалось, что когда мой ноутбук уснул, в запущенной виртуальной машине время ушло назад на время сна (то бишь не двигалось вперёд)

Я правильно понимаю, что при этом гостевая ОС не получала команду на засыпание? По-идее, если настроить засыпание гостей при засыпании хоста, то проблема должна решиться

annulen ★★★★★
()
Ответ на: комментарий от t184256

Предлагается эту команду в таймер забить, который будет постоянно вызываться?

В мане пишут:

           This function should never be used on a running system. Jumping
           system time will cause problems, such as corrupted filesystem
           timestamps. Also, if something has changed the Hardware Clock, like
           NTP’s '11 minute mode', then --hctosys will set the time
           incorrectly by including drift compensation.

А на старте она вызывается стартовыми скриптами и без меня, насколько я понимаю (почему ребут и помог).

vbr ★★★★
() автор топика
Ответ на: комментарий от t184256

Да вот кстати хорошая идея - делать это не самописными скриптами а чем-то, идущим в комплекте с используемой системой виртуализации. Там явно лучше учтены всякие побочные эффекты.

firkax ★★★★★
()
Ответ на: комментарий от vbr

Chrony FAQ:

If your computer is connected to the Internet only for few minutes at a time, the network connection is often congested, you turn your computer off or suspend it frequently, the clock is not very stable (e.g. there are rapid changes in the temperature or it is a virtual machine), or you want to use NTP on an isolated network with no hardware reference clocks in sight, chrony will probably work better for you.

А если гостевая система в виртуалке имеет systemd, то я бы начал с systemd-timesyncd.

debugger ★★★★★
()
Последнее исправление: debugger (всего исправлений: 1)