на сервере Centos 6.5 я только что выполнил ntp с:
service ntpd start
Это установило системное время, но аппаратное время все еще неправильно. Это нормально? Как я могу это исправить?
Ntpstat сообщает:
unsynchronized
polling server every 64s
Возможно, что NTP на самом деле корректирует время, но медленно. Обычно это делается для того, чтобы программы не задумались о пропуске N секунд за доли секунды. Многие программы используют время для внутреннего заказа своих работ.
Таким образом, часы меняются с небольшим приращением или уменьшением секунд, скажем, 0,1 секунды каждую секунду (или даже меньше). Синхронизация обоих часов может занять некоторое время.
Проверьте разницу во времени и посмотрите, уменьшается ли она со временем.
Если разница сохраняется после «упорядоченного» выключения питания (т.е. выключения, а не выключения аппаратного обеспечения), вам следует проверить, правильно ли запрограммирована система. В моей системе это делается в командном файле, выполняемом при завершении работы:
/etc/rc.d/rc.0 содержит:
# Save the system time to the hardware clock using hwclock --systohc.
if [ -x /sbin/hwclock ]; then
# Check for a broken motherboard RTC clock (where ioports for rtc are
# unknown) to prevent hwclock causing a hang:
if ! grep -q -w rtc /proc/ioports ; then
CLOCK_OPT="--directisa"
fi
if grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
echo "Saving system time to the hardware clock (UTC)."
/sbin/hwclock $CLOCK_OPT --utc --systohc
else
echo "Saving system time to the hardware clock (localtime)."
/sbin/hwclock $CLOCK_OPT --localtime --systohc
fi
fi
Вы можете попробовать команду вручную: sudo hwclock --systohc
. Если это не сработает, возможно, у вас проблема с оборудованием.
Важность синхронизации обоих часов? Зависит от того, какое программное обеспечение вы используете. Аппаратные часы используются для установки sysclock при запуске. Пока NTP не включится, ваша машина использует это время. Любой файл, использованный в течение этого промежутка, помечается с неправильным временем. Это может быть важно для некоторых ...
Прежде всего: аппаратное время в системе Linux хранится в UTC, поэтому следует ожидать смещения, относящегося к вашему часовому поясу. И да, это создает проблемы при двойной загрузке.
Кроме того, система Linux не всегда и сразу передает время NTP в RTC ("Аппаратные часы"), но это следует делать по крайней мере при завершении работы.