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

Почему время на моем Ubuntu Server VPS сбилось?

Через месяц назад множество сервисов на моем VPS перестали работать. Поработав около часа, я понял, что время замерло. Я так понимаю, это была какая-то ошибка виртуализации, и перезагрузка вскоре исправила ее.

Однако сегодня я пытался запустить резервную копию S3, и SSL не удалось из-за неправильного времени. при проверке времени получаю:

Current default timezone: 'Europe/London'
Local time is now: Sat Jul 11 22:03:02 BST 2009.
Universal Time is now: Sat Jul 11 21:03:02 UTC 2009.

tim@vps:~$ sudo ntpdate ntp.ubuntu.com
11 Jul 22:03:30 ntpdate[3901]: step time server 91.189.94.4 offset -14404.833448 sec

Сейчас я в Великобритании, и ясно, что прошло только 18:03.

Я пробовал установить дату вручную:

sudo date +%T -s "18:03:30"

и когда я перечитал его, он не изменился

Что я напутал?

РЕДАКТИРОВАТЬ:

Я бегал:

tim@vps:/var/log$ sudo hwclock --utc
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
tim@vps:/var/log$ sudo hwclock --localtime
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
tim@vps:/var/log$ sudo hwclock --show
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.

ИЗМЕНИТЬ СНОВА:

Я его перезагрузил, и он остался прежним.

также:

tim@vps:~$ sudo hwclock --debug --show
hwclock from util-linux-ng 2.13.1
hwclock: Open of /dev/rtc failed, errno=2: No such file or directory.
No usable clock interface found.
Cannot access the Hardware Clock via any known method.

Обновить: Я ничего не знаю о xen. Но есть там много страниц которые обсуждают вашу ситуацию.

Вот что я нашел:

По умолчанию часы XenVM синхронизируются с сервером XenEnterprise, на котором они размещены, и игнорируют запросы на корректировку времени, сделанные демоном ntp, если он запущен. Если вы хотите, чтобы у XenVM были независимые часы, войдите в его текстовую консоль и выполните команду

echo 1 > /proc/sys/xen/independent_wallclock

затем запустите демон NTP.

Чтобы вернуться к значениям по умолчанию, введите команду

echo 0 > /proc/sys/xen/independent_wallclock

Перед обновлением: Вероятно, это проблема виртуализации. Какое программное обеспечение для виртуализации вы используете? А какие настройки времени на хосте?

Если это система на основе Xen, вы можете установить независимый_wallclock = 1 и управлять своим временем с помощью ntpd.

Если вы говорите о Xen VPS, то обычно часы управляются привилегированным доменом dom0, о котором, как я полагаю, позаботится провайдер хостинга. Пока dom0 имеет правильное время и / или работает демон NTP, чтобы синхронизировать системное время, нет необходимости в каком-либо domU для запуска самого ntpd.

У меня есть несколько серверов Xen, на которых я запускаю ntpd только на dom0, и все виртуальные машины domU имеют правильное время. Если вы на самом деле используете Xen VPS, я бы рискнул предположить, что у хостинг-провайдера проблема со временем на самой машине. Я знаю, что в большей части документации по Xen на самом деле рекомендуется обнулить / sbin / hwclock как пустой файл, поскольку это вызовет проблемы при загрузке, если он действительно пытается напрямую взаимодействовать с аппаратными часами из-за виртуализации.

Первое, что приходит в голову, - какой часовой пояс вы настроили?

Второе, что приходит на ум, связано с настройкой часов на вашем оборудовании - вы используете аппаратное время в формате UTC или местное время? Большинство установок рекомендуют использовать аппаратное время в формате UTC, а затем система будет настраиваться по часовому поясу, хотя есть варианты сделать наоборот и настроить системные и аппаратные часы на местное время. Это может иногда приводить к путанице.

Для linux вы можете попробовать использовать hwclock (8) Программа, в которой есть опции для установки системного времени на аппаратные часы и установки аппаратных часов на системное время. Да, у вас должна быть возможность установить время с помощью дата (1) команда, но вам лучше использовать это.

Я бы также посмотрел на использование всемирного пула NTP по сравнению с пулом, предоставленным поставщиком. Вы можете использовать его в любое время, указав на pool.ntp.org.

попробуйте dpkg-reconfigure tzdata, чтобы убедиться, что он настроен на utc. Также убедитесь, что у вас установлен ntpd, и вы указали на один из наборов серверов ntp на pool.ntp.org.

У меня были проблемы с этим с виртуальными серверами GoDaddy. По какой-то причине Virtuozzo (их программа) любили контролировать время, а это было неправильное время. В конце концов я перешел к другому провайдеру, потому что GoDaddy не стал чинить часы.

Мой провайдер VPS снова обратился ко мне и сказал, что, похоже, что-то не так на их стороне (хост-машине). Так что я оставлю им это разобраться.

ОБНОВИТЬ:

Хостинг-провайдер был в курсе, и они думают, что это проблема с оборудованием, возможно, с батареей BIOS. Когда хост-машина загружается, часы работают неправильно, и, по-видимому, они не могут изменить время, пока оно включено, без блокировки всех виртуальных машин!