Tudo bem, desde que fiz esta pergunta, eu reinstalei o ntp com a configuração padrão do fornecedor (Ubuntu 10.0.4) e deixei ele funcionar por alguns dias. No momento em que escrevo, ntpdate -q ntp.ubuntu.com
mostra que meu tempo está correto dentro de 0,000216 segundos. Então, os problemas que eu estava tendo devem ter sido com minha configuração personalizada (onde eu estava tentando tornar impossível para hosts externos consultar meu servidor, o que eu já estou fazendo com meu firewall, então não estou muito preocupado). Aqui está o Ubuntu 10.0.4 ntp.conf na sua totalidade, com comentários removidos:
driftfile /var/lib/ntp/ntp.drift
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server ntp.ubuntu.com
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
Congratulo-me com o feedback sobre como essa configuração pode ser melhorada.
Também fiz uma passagem com meu provedor de VPS solicitando uma recomendação detalhada sobre a melhor coisa a fazer. Eu apontei para este tópico, e alguma outra documentação indicando que talvez a alocação da CPU causaria um problema de temporização. Aqui está o que eles disseram:
The latest kernels should not lock your system to our dom0's clock, to be on the safe side you can set xen.independent_wallclock = 1 in your sysctl.conf. This will make sure the server instance isn't following the clock on the host server.
e:
I think you may be mis-understanding the exact degree to which this issue affects NTP clients in a virtualized environment. In my experience on a virtualized system on a Xen host (such as our setup at Rackspace Cloud) the inaccuracy inherited by not having a dedicated system clock to process the interrupts amounts to fractions of a second, even on highly loaded systems. This slight inaccuracy is easily managed by NTP even if it is only set to update the servers time once per day (or even less frequent than that).