Is the internal NTP server on one of these Xserves? If it is and your firewall is closed to checking against outside NTP servers, how does it keep accurate time? If it's not, then you need to change the configuration of the ntpd daemon on your servers because they are not querying your internal NTP server properly.
First, open Terminal and enter:
ps aux | grep ntp
to see if the ntpd daemon is running.
If it's not or the time is way off, edit -using vi or pico- this file:
/private/etc/ntp.conf
so it looks like this:
server 123.45.67.89 prefer minpoll 12 maxpoll 15 iburst
(where 123.45.67.89 is the IP number of your internal NTP server)save the file and then enter this in Terminal:
chflags uchg /private/etc/ntp.conf
That will lock the file from changes by the 'Date and Time' System Prefpane.
Then edit /private/etc/host.config -using vi or pico- adding this line if it's not there already:
TIMESYNC=-YES-
Then reboot the server. Yes, reboot.
If the internal NTP server is a Windows AD domain master setup as an SNTP server for the AD domain, you should check the system log on your Xserves when they reboot to see if they are syncing with the server. If they are not syncing you will see entries in the system log such as "no servers found for synchronization". If that's the case then you will have to set up one of your Xserves, preferably your OD master if you're running OD, to be an NTP server.
First, you need to come up with a list of at least three stratum 2 public NTP servers and give that list to your firewall administrator and tell him to open access to those servers. Take a look at this list and follow the rules for notification of the system operators:
http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers
Then, on the machine you wish to be your NTP server -again preferably your OD master- open the 'Date and Time' System Prefpane and uncheck 'Set Date&Time Automatically' then close the System Preferences.
Then edit /private/etc/host.config -using vi or pico- change this line from this:
TIMESYNC=-YES-
to this:
TIMESYNC=-NO-
then add this line if it's not there already:
TIMSERV=-YES-
then save the file.
Then do this:
chflags nouchg /private/etc/ntp.conf
then edit /private/etc/ntp.conf to look like this:
server first.ntpserver.com prefer minpoll 12 maxpoll 15 iburst
server second.ntpserver.com minpoll 12 maxpoll 15 iburst
server third.ntpserver.com minpoll 12 maxpoll 15 iburst
do not use the IP numbers of the external servers, use the FQDNs of the servers because if they change the IP numbers, you're stuffed. Then save the file and enter this in Terminal:
chflags uchg /private/etc/ntp.conf
That will lock the file from changes by the 'Date and Time' System Prefpane and the Server Admin program.
Then reboot the server. Yes, reboot.
When the server restarts, don't attempt to change the status of the checkbox for NTP in Server Admin or the state of the checkbox in the 'Date & Time' System Prefpane, do check the system log to see if the ntpd daemon started and is running. You should see messages about successful synchronization. If you see messages about not being able to contact the servers you have chosen to sync against, check with Network Utility to see if the FQDNs of those servers resolve and that your firewall is open for them.
The man page for ntpd(8) has all the necessary info to answer any questions about configuration tweaks that you may need.