Месяц назад куча сервисов на моем 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.
решение1
Обновлять:Я ничего не знаю о ксене. Но естьесть много страниц тамкоторые обсуждают вашу ситуацию.
Вот что я нашел:
По умолчанию часы XenVM синхронизированы с сервером XenEnterprise, на котором они размещены, и будут игнорировать запросы на корректировку времени, сделанные демоном ntp, если он запущен. Если вы хотите, чтобы у XenVM были независимые часы, войдите в его текстовую консоль и выполните команду
echo 1 > /proc/sys/xen/independent_wallclock
затем запустите демон NTP.
Чтобы вернуться к настройкам по умолчанию, введите команду
echo 0 > /proc/sys/xen/independent_wallclock
До обновления:Вероятно, проблема с виртуализацией. Какое ПО для виртуализации вы используете? И какие настройки времени на хосте?
решение2
Первое, что приходит на ум, — на какой часовой пояс вы настроены?
Второе, что приходит на ум, связано с настройкой аппаратных часов — вы используете UTC в оборудовании или местное время? Большинство установок рекомендуют использовать время UTC в оборудовании, а затем система будет настраиваться по часовому поясу, хотя есть варианты сделать наоборот и настроить системные и аппаратные часы на местное время. Это может привести к случайной путанице.
Для Linux вы можете попробовать использоватьhwclock(8)программа, которая имеет опции для установки системного времени на аппаратные часы, и для установки аппаратных часов на системное время. Да, вы должны иметь возможность устанавливать время черездата(1)команду, но лучше использовать это.
Я бы также рассмотрел использование всемирного пула NTP вместо пула, предоставленного поставщиком. Вы можете использовать его в любое время, указав на pool.ntp.org.
решение3
Если вы говорите о Xen VPS, то обычно часы управляются привилегированным доменом dom0, о чем, как я предполагаю, позаботится хостинг-провайдер. Пока dom0 имеет правильное время и/или запускает демон NTP для синхронизации системного времени, не должно быть необходимости для любого domU запускать сам ntpd.
У меня есть несколько серверов Xen, на которых я запускаю ntpd только на dom0, и все виртуальные машины domU имеют правильное время. Если вы на самом деле используете Xen VPS, я бы рискнул предположить, что у хостинг-провайдера есть проблема со временем на самой машине. Я знаю, что в большей части документации по Xen на самом деле рекомендуется обнулить /sbin/hwclock как пустой файл, так как это вызовет проблемы при загрузке, если он действительно попытается напрямую взаимодействовать с аппаратными часами из-за виртуализации.
решение4
попробуйте dpkg-reconfigure tzdata, чтобы убедиться, что он установлен на utc. Также проверьте, установлен ли у вас ntpd, и указал ли он на один из наборов ntp-серверов pool.ntp.org.