Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!ATHENA.MIT.EDU!mar From: mar@ATHENA.MIT.EDU Newsgroups: comp.protocols.tcp-ip Subject: Need advice configuring ntpd on an isolated network Message-ID: <8909101951.AA03218@TOTO.MIT.EDU> Date: 10 Sep 89 19:51:10 GMT References: <252@cs.nps.navy.mil> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 33 From: cs!acrux!jxxl@ames.arc.nasa.gov (John Locke) We had the same problem. We didn't use ntp, though. We used rdate. You define one machine as a server and run rdate on the rest. Sun advises running it from /etc/rc.local but there's no reason you couldn't run it from the crontab once a day. There are good reasons for not running something like this out of crontab if you have more than a handful of machines. Since you're running a clock synchronization protocol, your machines are probably all within a couple of seconds of each other. That means that each machine's cron will attempt to check the time at the same time, causing a large number of simultaneous requests first to page in the binary of rdate from the file server, then all of the requests to the master timeserver. Things like this can cause massive collisions on an ethernet, and tie up the network for a couple of minutes. One solution is to make sure that each machine has a different crontab to check the time at a different time, but that makes for a headache to manage many machines and make sure that they all use different times. Another solution is to use a command like this in your crontab: sleep `echo $ADDR | awk -F. '{ print $4 * 7 }' `; rdate (anything started by our /etc/rc has $ADDR set to the machine's IP address, but you could just as easily use "host `hostname`" to get the IP address. I don't want to go too much into Unix specifics on TCP-IP, but the point is that you need to avoid certain kinds of synchronization in networks, particularly when there are large numbers of similar machines. -Mark Rosenstein