linux虚拟机时间不同步的解决办法是什么?( 三 )


*——它告诉我们远端的服务器已经被确认为我们的主NTP Server,我们系统的时间将由这台机器所提供
+——它将作为辅助的NTP Server和带有*号的服务器一起为我们提供同步服务. 当*号服务器不可用时它就可以接管
-——远程服务器被clustering algorithm认为是不合格的NTP Server
X——远程服务器不可用
了解这些之后我们就可以实时监测我们系统的时间同步状况了
6. NTP安全设置
运行一个NTP Server不需要占用很多的系统资源,所以也不用专门配置独立的服务器,就可以给许多client提供时间同步服务, 但是一些基本的安全设置还是很有必要的
那么这里一个很简单的思路就是第一我们只允许局域网内一部分的用户连接到我们的服务器. 第二个就是这些client不能修改我们服务器上的时间
在/etc/ntp.conf文件中我们可以用restrict关键字来配置上面的要求
首先我们对于默认的client拒绝所有的操作
vi /etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery
然后允许本机地址一切的操作
restrict 127.0.0.1
最后我们允许局域网内所有client连接到这台服务器同步时间.但是拒绝让他们修改服务器上的时间
代码:
restrict 192.168.1.0 mask 255.255.255.0 nomodify
把这三条加入到/etc/ntp.conf中就完成了我们的简单配置. NTP还可以用key来做authenticaiton,这里就不详细介绍了
7. NTP client的设置
做到这里我们已经有了一台自己的Relay Server.如果我们想让局域网内的其他client都进行时间同步的话那么我们就都应该照样再搭建一台Relay Server,然后把所有的client都指向这两台服务器(注意不要把所有的client都指向Internet上的服务器). 只要在client的ntp.conf加上这你自己的服务器就可以了
server ntp1.leonard.com
server ntp2.leonard.com
9. 一些补充和拾遗
1)配置文件中的driftfile是什么?
我们每一个system clock的频率都有小小的误差,这个就是为什么机器运行一段时间后会不精确. NTP会自动来监测我们时钟的误差值并予以调整.但问题是这是一个冗长的过程,所以它会把记录下来的误差先写入driftfile.这样即使你重新开机以 后之前的计算结果也就不会丢失了
2) 如何同步硬件时钟?
NTP一般只会同步system clock. 但是如果我们也要同步RTC的话那么只需要把下面的选项打开就可以了
# vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
【linux虚拟机时间不同步的解决办法是什么?】举例:
修改linux下的时区,可以改变以下的文件内容:
/etc/localtime,方法是到/usr/share/zoneinfo目录下找到你要相对应的时区文件 , 例如上海在/usr/share/zoneinfo/Asia/Shanghai中
将/etc/localtime改名:mv /etc/localtime /etc/localtime.old
将上海的时区文件拷贝过来:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
再次使用date命令,可以看到时区已经改为CST了 。
也可以设置TZ环境变量,在/etc/profile中加入:
export TZ=CST
就可以在每次启动后设置为CST时区了 。