CentOS7/Ubuntu18系统时间同步ntp


转自  https://blog.csdn.net/u010226454/article/details/80896959



---centos7.2上搭建ntp服务器,并实现时间同步


对于容器编排系统,前段时间主要研究kubernetes,现在实验室要用dcos,所以在实验室集群上搭建了该系统。搭建dcos集群需要各机器时间同步,而实验室集群并没有联网,这里讲述下怎么搭建ntp服务器并进行时间同步。
使用的系统为centos7.2,机器使用情况如下表所示,这里以10.107.18.35为ntp server,其他的为client对时间进行同步,本文系统使用的是timedatectl命令。


机器ip    作用
10.107.18.35    单独一台boot节点
10.107.18.37    单独一台master节点
10.107.13.150    4台slave节点
10.107.18.34    4台slave节点
10.107.18.38    4台slave节点
10.107.18.39    4台slave节点
2. 具体流程


1.在集群中所有节点上安装ntp
yum install ntp
2.所有节点设置时区,这里设置为中国所用时间timedatectl set-timezone Asia/Shanghai
3.在server节点上启动ntp服务


systemctl start ntpd
systemctl enable ntpd
4.在server节点上设置现在的准确时间
timedatectl set-time HH:MM:SS
5.在server节点上设置其ntp服务器为其自身,同时设置可以接受连接服务的客户端,是通过更改/etc/ntp.conf文件来实现的,其中server设置127.127.1.0为其自身,新增加一个restrict段为可以接受服务的网段
这里写图片描述
6.重启ntpd服务
systemctl restart ntpd
7.在client节点上设置ntp服务器为server节点
这里写图片描述
8.在client节点上同步server的时间
ntpdate 10.107.18.35
9.client节点启动ntpd服务


systemctl start ntpd
systemctl enable ntpd
10.所有节点启动时间同步
timedatectl set-ntp yes



--解决上面的时间设置报错问题


Centos7中增加了timedate命令来时间对日期、时间和时区的控制。
[root@node1 ~]# timedatectl --help
timedatectl [OPTIONS...] COMMAND ...


Query or change system time and date settings.


   -h --help                Show this help message
      --version             Show package version
      --no-pager            Do not pipe output into a pager
      --no-ask-password     Do not prompt for password
   -H --host=[USER@]HOST    Operate on remote host
   -M --machine=CONTAINER   Operate on local container
      --adjust-system-clock Adjust system clock when changing local RTC mode


Commands:
   status                   Show current time settings
   set-time TIME            Set system time
   set-timezone ZONE        Set system time zone
   list-timezones           Show known time zones
   set-local-rtc BOOL       Control whether RTC is in local time
   set-ntp BOOL             Control whether NTP is enabled


一、显示日期、时间、时区等相关信息
[root@node1 ~]# timedatectl
       Local time: 日 2016-04-17 00:20:06 CST
   Universal time: 六 2016-04-16 16:20:06 UTC
         RTC time: 六 2016-04-16 16:20:06
        Time zone: Asia/Shanghai (CST, +0800)
      NTP enabled: yes
NTP synchronized: yes
  RTC in local TZ: no
       DST active: n/a


二、修改时间
执行如下命令修改时间:
timedatectl set-time HH:MM:SS
备注:同时修改hardware clock和system clock.
例子:
[root@node1 ~]# timedatectl set-time 09:57:30
[root@node1 ~]# date
2016年 04月 17日 星期日 09:57:32 CST


三、修改日期
执行如下命令修改日期:
timedatectl set-time YYYY-MM-DD
  备注:修改日志不同时修改时间,将重置现在的时间为00:00:00.
例子:
[root@node1 ~]# timedatectl set-time 2016-04-18
[root@node1 ~]# date
2016年 04月 18日 星期一 00:00:01 CST


四、同时修改日期和时间
执行如下命令同时修改日期和时间:
timedatectl set-time 'YYYY-MM-DD HH:MM:SS'


例子:
[root@node1 ~]# timedatectl set-time '2016-04-18 10:01:20'
[root@node1 ~]# date
2016年 04月 18日 星期一 10:01:21 CST


五、修改时区
执行如下命令显示可用的时区:
timedatectl list-timezones
[root@node1 ~]# timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
...
执行如下命令设置使用的时区:
timedatectl set-timezone time_zone
[root@node1 ~]# timedatectl set-timezone Asia/Shanghai
[root@node1 ~]# date
2016年 04月 18日 星期一 10:05:28 CST
[root@node1 ~]# ls -lrt /etc/localtime
lrwxrwxrwx 1 root root 35 4月  17 00:08 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai


六、同步时间到一个远程服务器
timedatectl命令可以用来控制是否开启NTP,开启NTP将启动chronyd或者ntpd服务,依赖于被安装的那个。
timedatectl set-ntp boolean
开启:
timedatectl set-ntp yes
关闭:
timedatectl set-ntp no
备注:
执行set-ntp时会同时开启或关闭ntpd或者chronyd服务。但是ntpd服务和chronyd可以通过systemctl命令来单独控制,不是必须使用timedatectl来进行控制。
如果使用set-ntp是yes的状态(即:timedatectl命令中NTP enabled状态显示为yes,那么将不能同时使用set-time来修改时间。
[root@node3 ~]# timedatectl
       Local time: 一 2016-04-18 10:25:48 CST
   Universal time: 一 2016-04-18 02:25:48 UTC
         RTC time: 六 2016-04-16 17:09:34
        Time zone: Asia/Shanghai (CST, +0800)
      NTP enabled: yes
NTP synchronized: no
  RTC in local TZ: no
       DST active: n/a
[root@node3 ~]# timedatectl set-time '2016-04-18 10:25:58'
Failed to set time: Automatic time synchronization is enabled
[root@node3 ~]# timedatectl set-ntp no
[root@node3 ~]# timedatectl
       Local time: 一 2016-04-18 10:26:16 CST
   Universal time: 一 2016-04-18 02:26:16 UTC
         RTC time: 六 2016-04-16 17:10:02
        Time zone: Asia/Shanghai (CST, +0800)
      NTP enabled: no
NTP synchronized: no
  RTC in local TZ: no
       DST active: n/a
[root@node3 ~]# timedatectl set-time '2016-04-18 10:26:28'


-------------------------------------------------------------------------------------

CentOS6

1.时区修改

[root@gisserver3 ~]# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
  1) Africa
  2) Americas
  3) Antarctica
  4) Arctic Ocean
  5) Asia
  6) Atlantic Ocean
  7) Australia
  8) Europe
  9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 5

……


2.时间同步

ntpdate 0.arch.pool.ntp.org

你可能感兴趣的:(CentOS7/Ubuntu18系统时间同步ntp)