У меня есть выделенный веб-сервер, на котором работает centos с виртуализацией xen, на которой установлен centos на виртуальной машине. У меня нет доступа к родительскому серверу, я могу управлять только виртуальной машиной, которую я полностью контролирую. У меня нет ничего, кроме проблем с манипулированием датой / временем на виртуальной машине. Основная проблема сейчас в том, что время на моем сервере идет немного быстрее, чем «обычно». Я предполагаю, что каждые 24 часа он опережает на дополнительную минуту. Это нехорошо, потому что у меня есть сценарии, которые нужно запускать в определенное время, и они отстают на несколько минут от того, что должны. Единственное «исправление», которое я нашел до сих пор, - это перезагрузка сервера, но я не хочу перезагружаться каждую ночь, просто чтобы установить время!
Вот что я пробовал:
1) Установка времени вручную:
root@host [~]# date
Mon May 13 06:52:22 WAKT 2013
root@host [~]# date 051306492013
Mon May 13 06:49:00 WAKT 2013
root@host [~]# date
Mon May 13 06:52:54 WAKT 2013
Дата и время отображаются на экране после команды set, но затем, когда я запускаю команду date через секунду, она возвращается к тому, что дата «на самом деле». Если я перезагружу сервер, время будет сброшено правильно, но я пытаюсь избежать этой перезагрузки.
2) Я читал об установке аппаратных часов, которые могут мне помочь, но я не могу вносить какие-либо изменения или что-либо с ними делать, и я считаю, что это потому, что я использую виртуальную машину:
root@host [~]# /sbin/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.
root@host [~]# hwclock --systohc
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
3) Я включил ntp, который, как мне кажется, работает, но, как и при установке времени вручную, изменение времени не «застревает» до перезагрузки:
root@host [~]# date
Mon May 13 06:55:36 WAKT 2013
root@host [~]# service ntpd stop
Shutting down ntpd: [ OK ]
root@host [~]# ntpdate pool.ntp.org
13 May 06:55:52 ntpdate[7146]: step time server 192.95.20.208 offset -229.150633 sec
root@host [~]# service ntpd start
Starting ntpd: [ OK ]
root@host [~]# date
Mon May 13 06:56:10 WAKT 2013
Также обратите внимание, что на данный момент я использую какой-то странный часовой пояс, потому что я пытался устранить другую проблему, с которой я столкнулся со сбрасываемым часовым поясом: https://serverfault.com/questions/494635/timezone-changing-by-itself-on-virtualized-centos-install так что не зацикливайтесь на часовом поясе. Мне просто нужно время, чтобы соответствовать тому часовому поясу, в котором я нахожусь.
Кто-нибудь раньше этим занимался? Я отказываюсь верить, что на моем Linux-сервере невозможно установить время без перезагрузки. Любые идеи или предложения приветствуются!
Если вы используете паравиртуализированную виртуальную машину xen, вы можете проверить;
/ proc / sys / xen / независимый_wallclock
Если он существует и содержит 0, попробуйте (как root):
echo 1 > /proc/sys/xen/independant_wallclock
Затем запустите свой ntp-сервер.