LINUX.ORG.RU
решено ФорумAdmin

Постоянно слетает время на SLES 9


0

1

Столкнулся с такой проблемой:

Имеется сервер под SUSE Linux Enterprise Server 9. Уже несколько месяцев у меня день начинается с перевода даты и времени сервера на актуальную. Почему они слетают мало того что непонятно, а и вообще происходит это очень странно. Время слетает на рандомное после выключения и перезагрузки сервера.

Первое что я сделал это конечно-же сменил батарейку Биоса, но ситуация не поменялась.

А вот и самое интересное - как я писал время слетает не только при полном отключении а и при перезагрузке, чего вообще в природе быть не должно, то есть дело не в батарейке как я подумал изначально, так как Биос при перезагрузке не обесточивается. И как я тоже писал время меняется на рандомное. «В каком это смысле?» спросите вы, а в прямом - сейчас я сделаю reboot, и дата станет 24.08.10 5:00, перезагружу еще, и станет 15.07.2010 16:30, а рестартану еще раз через 5 минут, и вообще на сервере будет 2009 год...

Настройки часового пояса в прорядке, ntpd не включен, сервак даже до интернета не подключен.

Как такое может быть? Что является причиной этого? И самое главное - как исправить это безобразие?


Возможно, имеют место быть глюки при чтении/записи аппаратных часов (на этапе загрузки/остановки системы).
Попробуй date && hwclock --systohc && sleep 1 && hwclock --hctosys && date

nnz ★★★★
()

О, у меня похожая проблема: после перезагузки/включения дата всегда на 4 часа вперёд ускакивает. /etc/adjtime удалял, не помогло, поэтому тупо заткнул проблему записав ntpdate в rc.local

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

>после перезагузки/включения дата всегда на 4 часа вперёд ускакивает.

А какой часовой пояс? Случайно не UTC+04?

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

>Удали /etc/adjtime

Поддерживаю этот совет. В линуксе довольная хитрая система компенсации неточности часов. Она считает, что даннные с серверов синхронизации и от пользователя, а также насчитанные процом - точные, вот часы биоса так себе и расчитывает поправку. Если однажды руками вбить дурацкую дату поправка становится тоже дурацкой и долго ещё отравляет жизнь, пока не выпрямится сама или не будет удалена. Вот по ману она хранится в /etc/adjtime и его полезно удалять.

legolegs ★★★★★
()
Ответ на: комментарий от nnz
# date +%:::z 
+04

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

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

Полагаю, косяк в соответствующих init-скриптах.
При остановке вызывается hwclock --localtime --systohc, а при запуске hwclock --utc --hctosys.
Правильно — чтобы и при остановке, и при запуске использовалось либо --localtime, либо --utc, главное, чтобы одно и то же.
Если винда в дуалбуте, лучше localtime, если на машине только никсы — utc.

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

И чо это даст? Яж говорю, пишется и читается несимметрично.

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

>О, у меня похожая проблема: после перезагузки/включения дата всегда на 4 часа вперёд ускакивает.

Возможно у тебя /etc/localtime является симлинком на зону в /usr/share/zoneinfo и при этом /usr лежит не на /, а монтируется отдельно. Поэтому временная зона на момент чтения хардварного времени недоступна и получается каша из GMT и localtime.

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

>Возможно у тебя /etc/localtime является симлинком на зону в /usr/share/zoneinfo и при этом /usr лежит не на /, а монтируется отдельно

Не. У меня не терминальный сервер и не кластер, чтоб /usr от / отделять, да и /etc/localtime на федоре честно скопированный.

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

>Удали /etc/adjtime и выставь в биос - hwclock --systohc (ну или сам в биосе выставь).

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

Я тут посмотрел этот файл, потом немного погуглил, и оказалось что у меня отклонение времени стояло -12174517.606782, то есть почти -141 день от даты в Биосе, но тогда непонятно почему после перезагрузки дата менялась не ровно на 141 день, а полностью рандомно... Хотя это не так уж и важно, главное что проблемы больше нет.

Всем большое спасибо за помощь! Не ожидал что решение найдется так быстро. Еще раз спасибо.

Jetro
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.