Configure NTP in ESXi from the command line
- Display NTP settings
- Configure NTP server
- Restart NTP
- Enable NTP Service
- Display NTP peers
- Replace NTP server
- Remove NTP server
- Remove blank lines in ntp.conf
- Replace ntp.conf
- Run the commands over ssh
- Repeat the commands for multiple hosts over ssh
Display NTP settings
~ # cat /etc/ntp.conf
restrict 127.0.0.1
restrict default kod nomodify notrap
driftfile /etc/ntp.drift
~ # This is a freshly installed server and there's no ntp server configured.
Configure NTP server
We will use NTP Pool Project servers.
~ # vi /etc/ntp.conf
~ # cat /etc/ntp.conf
restrict 127.0.0.1
restrict default kod nomodify notrap
server 0.pool.ntp.org
server 1.pool.ntp.org
driftfile /etc/ntp.drift
~ #
Restart NTP
~ # /etc/init.d/ntpd restart
Stopping ntpd
Starting ntpd
~ #
Display NTP peers
~ # ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
ns02.hns.net.in .INIT. 16 u - 64 0 0.000 0.000 0.000
123.108.200.124 .INIT. 16 u - 64 0 0.000 0.000 0.000
~ #
It could take sometime to sync.
~ # ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+123.108.200.124 103.252.195.20 3 u 46 64 377 81.459 4.968 3.615
*web10.hnshostin 158.43.128.33 2 u 44 64 377 38.879 5.120 5.157
~ #
Enable NTP service
~ # chkconfig ntpd on
~ # chkconfig --list | grep ntpd
ntpd on
~ #
Replace NTP server
sed -i 's/ntpserver/newntpserver/' /etc/ntp.conf
Remove NTP server
sed -i 's/ntpserver//' /etc/ntp.conf
Remove blank lines in ntp.conf
~ # sed -i '/^\s*$/d' /etc/ntp.conf
Replace ntp.conf with new settings
~ # cat <<EOF > /etc/ntp.conf
> restrict 127.0.0.1
> restrict default kod nomodify notrap
> server 0.pool.ntp.org
> server 1.pool.ntp.org
> driftfile /etc/ntp.drift
> EOF
~ # cat /etc/ntp.conf
restrict 127.0.0.1
restrict default kod nomodify notrap
server 0.pool.ntp.org
server 1.pool.ntp.org
driftfile /etc/ntp.drift
~ #
Run the commands over ssh
ssh root@servername "command_to_run"
Repeat the commands for multiple hosts over ssh
cat > server_list
Paste the list of servers
Ctrl+D
for i in `cat server_list`
do
ssh root@$i "command_to_run"
done