É possível que o NTP esteja realmente corrigindo o tempo, mas devagar. Normalmente, isso é feito para evitar que programas fiquem preocupados em passar N segundos em uma fração de segundo. Muitos programa usam o tempo para ordenar seu trabalho internamente.
Assim, o relógio é alterado para incrementar ou decrementar segundos apenas ligeiramente, digamos 0,1 segundo a cada segundo (ou até menos). Pode levar algum tempo para sincronizar os dois relógios.
Verifique a diferença horária e veja se ela diminui com o tempo.
Se a diferença persistir após um desligamento "ordenado" (ou seja, um desligamento, não um desligamento de hardware), você deve verificar se o sistema está programado corretamente. No meu sistema, isso é feito em um arquivo de comando executado no desligamento:
/etc/rc.d/rc.0 contém:
# 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
Você pode tentar o comando manualmente: sudo hwclock --systohc
. Se isso não funcionar, você pode ter um problema de hardware.
A importância de ter os dois relógios sincronizados? Depende de qual software você está executando. O relógio do hardware é usado para definir o sysclock na inicialização. Até o NTP entrar em ação, sua máquina usa esse tempo. Qualquer arquivo usado durante esse lapso é marcado com a hora incorreta. Isso pode ser importante para alguns ...