• chronoy & NTP


      

    同步时间
    配置文件中/etc/chrony.conf
    里面指定:
    server master iburst
    keyfile /etc/chrony.keys
    commandkey 1
    allow all
     
    在/etc/chrony.keys文件中添加:
    1 password
    将chrony.conf以及chronoy.keys同步scp到各个slave节点;
    chronyc是客户端(c结尾代表客户端),在启动客户端之前要启动deamon,即service chronyd restart;
    chronyc -a代表自动从配置文件中读取登录信息;
    client指令:
    accheck master: 代表校验是否能够和指定的服务器通信,501是代表用户名密码验证出错;209代表allow deny,需要在配置文件中增加allow;208返回正常;
    clients: 罗列出已经和server通信的客户端
    activity: 主机是否可用
    makestep: 强制进行同步
     

    NTP

    到官网上面下载ntpd之后,.configure && make && make install;
    到/usr/local/sbin/下面就可以看到ntp开头的一堆内容;
    首先要明白NTP在局域网内部搭建模式是两种:server+client;

    Client/Server模式

    server配置

    对于server而言,需要启动ntpd服务,并且配置/ect/conf

    配置内容:

      server,如果是本机只需要添加一个

      server 127.127.1.0 # 同步服务器的地址,对于NTP Server这个就是本机地址,最好127.0.0.1不用因为配置文件中默认是将这个地址屏蔽掉

      fudge 127.127.1.0 stratum 2 # 设置指定Server的层级,对于Server这个值应该比较小,代表是等层的服务器

    Client 配置

      对于client而言,不需要启动ntpd服务,但是需要通过crontab方式来进行定时更新。编辑/etc/crontab:

     30 8 * * * root /usr/sbin/ntpdate NTP Server IP 

      ntptime来查看同步情况,如果是返回OK证明同步通信OK

    层级模式

      第二种模式是层级,即使client也作为一个NTPServer只不过没有下级节点而已,这种设计就可以所以的节点启动NTP服务,只要是配置文件中配置好上级节点即可(NTP Server上级配置127.127.1.0)。

      第二种模式部署比较简单,但是其实在客户端,它将会针对NTP专门启动一个Daemon进程来做定时任务,对于服务器设置有洁癖者而言,是无法容忍的,于是很多管理员都是建议使用第一种方式。

    Trouble Shooting

    the NTP socket is in use, exiting

      NTP服务占用端口123,但是发现有的时候,即使关闭了NTP服务,尝试使用ntdate来进行同步的时候仍然有问题,报异常:the NTP socket is in use, exiting,这个需要通过lsof或者netstat来看一下都有哪些进程在占用123,进行删除。

      ntpd怎么也起不来了,ps aux | grep ntpd也没有该进程;因为ntpd占用的是123端口通过如下指令:
     netstat -lanp | grep ':123' 
      发现被chrony给占用了;我现在知道为什么chrony和ntpd不能共存的原因了;停掉chrony服务,关掉开机启动,再启动ntp,great!
    ntpdate异常

      运行./ntpdate 报错:ntpdate[106761]: bind() fails: Permission denied,这是因为需要管理员权限执行,前面加上sudo即可;

      运行./ntpdate 报错:ntpdate[18753]: the NTP socket is in use, exiting,这是因为有nptd进程存在;通过ps aux | grep ntpd来进行发现,然后杀死进程;

      客户端运行./ntpdate 报错:ntpdate[96947]: no server suitable for synchronization found,使用./ntpdate -d server指令进行跟踪,发现问题是Server dropped: strata too high,strata是stratum的复数,级别太高了,继续看输出发现stratum达到了15,stratum用于调整NTP的层级,于是修改了服务器端的ntp.conf的配置文件,增加了fudge master stratum 0,代表server中指定的master服务器是顶级服务器(0);与此关联的,发现此问题的时候,在服务器端敲入ntpq -p的时候,将会接收到:No association ID's returned异常
    有的时候通过-d跟踪没有任何异常,但是就是返回no server suitable for synchronization found,那可能是timer server本身需要再等待一会(比如刚刚启动,需要初始化一段时间)
    添加日志
      设定ntpd日志,在/etc/ntp.conf中添加一行:
     logfile /var/log/ntp.log 
       启动ntpd,观看日志
      inappropriate address 192.168.156.104 for the fudge command, line ignored;
      这是因为不能直接fudge时间服务器,而是fulge127.127.1.0,增加一个server,然后fudge那个server问题解决;

     NTP工具

    ntpq -p就是现实和主机同步情况,查看watch ntpq -p可以一直监控变化  
    ntpdate一定要后面跟着server地址;ntpdate是指和指定的时间服务器进行同步;
    ntpstat来查看同步效果
     
    server 127.127.1.0
    fudge 127.127.1.0 stratum 10
  • 相关阅读:
    (一)单例模式
    mysql数据库知识
    JavaScript
    Spring整合AspectJ的AOP
    Spring-AOP
    JDK代理和CGLIB代理
    mybatis-dao开发
    mybatis-入门
    CSS2.1
    HTML基础
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/7460763.html
Copyright © 2020-2023  润新知