Назад | Перейти на главную страницу

время / часовой пояс виртуальной машины Linux на Hyper-V

Привет, я установил виртуальную машину CentOS на сервер Hyper-V и меня очень смущают настройки времени. мой Hyper-V установлен на (UTC-05: 00) по восточному времени (США и Канада), и при установке виртуальной машины CentOS при выборе часового пояса я выбрал Системные часы, использующие UTC и Америку / Нью-Йорк. все выглядит нормально, кроме часов (UTC-05: 00-04: 00) EDT.

Я новичок в Hyper-V и Linux VM, но я думаю, что происходит то, что Linux VM принимает время хоста Hyper-V буквально как UTC, поскольку я выбираю часовой пояс Америки / Нью-Йорка, он использует UTC-4 (с переходом на летнее время ), поэтому часы отстают на 4 часа. Я не знаю, как это исправить. Я сбрасываю часы, но при перезагрузке виртуальная машина снова запускает неправильное время ..

как это должно работать? мне нужно установить сервер Hyper-V на «реальное» время UTC? это кажется неправильным, и я надеюсь, что мне не хватает чего-то простого. я еще не нашел ничего, связанного с этим, поэтому очень ценю любую помощь / понимание. я бы не подумал, что это новая проблема?

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

Windows (и Hyper-V по расширению) сохраняют «CMOS Clock» (даже на виртуальных машинах) в местном времени, а не в UTC. Большинство платформ * nix хранят его в формате UTC, а затем отображают в местном времени.

По умолчанию Hyper-V установит часы виртуальной машины, которые в этом случае установят часы виртуальных машин на ваше местное время (EST / EDT). Необходимо настроить виртуальную машину * nix для распознавания этого, поскольку она не используется по умолчанию (обычно).

В качестве альтернативы вы можете отключить синхронизацию времени Hyper-V и сделать так, чтобы клиент * nix синхронизировал свои собственные часы через NTP или аналогичный. Это приведет к случайным сбоям в работе часов, потому что часы виртуальной машины не являются независимым оборудованием, это программное обеспечение, работающее на хосте (и не идеально; это не проблема, если вашему приложению не требуются высокоточные часы).

Редактировать:
Я не знаю Linux, получил это от кого-то другого: для CentOS редактировать /etc/sysconfig/clock включить эти строки:

UTC=false
ZONE="America/New York"

В файле могут быть другие строки, но не уверен, какими они должны быть. Включите синхронизацию времени Hyper-V, и виртуальная машина должна иметь правильное время (пока это делает хост).