
On 12/02/2014, at 1:25 pm, Don Stokes
On 12/02/14 12:53, Ben wrote:
I think the biggest problem with this idea is that it's recommended to have at least 3 NTP servers. So not only do you have to encourage ISP's to have a NTP server, but multiple NTP servers.. Ben.
That you need three NTP servers is largely a myth. It's true in certain configurations, and it's good to have plenty of sources for your stratum 2 servers (I use the three NZRS ones and the two MSL ones) but these are generally specialised configurations where where millisecond resolution timing is required - and seriously, if timing is that important to your application, run a local GPS clock and leave the Internet out of it.
For "Internet" applications, or just having your system clock line up with the time pips, one NTP server is fine. Two if your device's internal clock is completely broken and you can't survive losing sync for a few hours of downtime.
That said, there's no great difficulty in running multiple NTP servers in a provider network. Put one each in your three largest POPs and anycast a local address for those who only need one server (so they hit the nearest one).
It's also good to have plenty of sources for your stratum 2 servers. I use the three NZRS ones and the two MSL ones.
I won't go near the NTP pools for anything important. I've actually seen NTP servers lose sync when relying on three NTP pool addresses, because all three had failed or started handing out bogus answers. ntpd only looks up the DNS once, so the IP addresses it gets on startup are the IPs it runs with until the next restart. IME, NTP pool participants are often less stable than that.
That’s all fine if you’re talking to NTP servers you trust. I quite like timestamps you can trust - I use high resolution timestamps on everything I can, so my logs all line up and I can look at actual order of events for failure analysis. No end of annoyance in the past having to step forwards and backwards through logs where something was off by a second or so.
Nathan Ward wrote:
At least 3 - you need 3 to NTP to do its job and eliminate bad tickers. If you only have 2, you end up with an average between them, even if one is an hour out.
Not my experience. A bad ticker usually just gets de-selected. I've only seen one bad ticker ever - one of the MSL stratum 1 machines lost track of time after a restart, and since the caesium clock was only giving it a clock sync, not an absolute time, the NTP server started handing out answers that were very accurately a couple of minutes out. If your stratum 2 servers are doing the right thing and using multiple good sources, this shouldn't cause a problem downstream. I've never seen an even moderately well configured stratum 2 or more server hand out bad answers. (Lose all sync and give stratum 16 answers, yes. Bad stratum 2+ answers, no.)
I’ve seen it a few times on the public pools, again, it comes down to servers you trust - if you run them, you’ve got to actually run them and monitor them and keep track of skew etc. A good compromise is 2 local NTP servers talking to 3rd party servers. Then you can more or less trust that those local servers will be accurate. I am pretty paranoid about this stuff, but, it’s hardly a hassle to talk to more servers etc. -- Nathan Ward