前言:我们在搭建集群的时候,一定要保证集群中各个主机的时间是同步的。以下是同步时间的方法。
服务器的角色在某一时间
集群需要一个统一的时间来确保执行操作的正确时间。
NTP是网络时间协议(Network Time Protocol)的缩写,是通过网络协议来同步计算机之间的时间。
例如,服务器集群执行文件创建、数据库处理和其他操作的时间。
第二时区管理
1检查当前时区
时间日期ctl
[root @ ***ster ~]# timedatectlocal时间:星期六2019-02-16 23:07:46 CST通用时间:星期六2019-02-16 15:07:46 UTCRTC时间:星期六2019-02-16 15:07:45时区:亚洲/上海(CST,+0800)NTP启用:yesNTP同步:yesRTC在TZ本地:noDST活动:不适用
2检查当前可用的时区
timedatectl列表-时区
非洲/阿比让非洲/阿克拉非洲/亚的斯亚贝巴非洲/阿尔及利亚非洲/阿斯马拉非洲/巴马科…
3设置时区
time date CTL set-时区亚洲/上海
三种时间同步方法
3.1最简单的方法是让所有集群中的主机(这里默认集群中有三个服务器:***ster、slave1、slave2 1、Slave 2 2)与某个时间服务器的时间同步,执行ntpdate时间服务器。
例如:
[root @ ***ster ~]# NTP更新http://ntp1.aliyun.com
[root @ slave 1 ~]# NTP更新http://ntp1.aliyun.com
[root @ slave 2 ~]# ntpdate http://ntp1.aliyun.com
但是,这种方法不好。ntpdate的同步时间是跳跃性的,会导致文件时间戳和监控数据的紊乱。
而ntpdate只运行一次就结束,也就是只同步一次。所以即使我们必须这样写
vi /etc/crontab
* * * * root /usr/***in/ntpdate ntp1.aliyun.com && /***in/hwclock -w
3.2配置远程时间服务器,然后让所有主机和他同步。
3.3配置本地时间服务器,然后让所有主机和他同步。
以下四个配置ntp服务配置了远程和本地时间服务器。配置的目的是首先使用远程时间服务器进行同步,然后在外部网络出现问题时使用本地时间服务器。
4。配置ntp服务
最终目标是将我们的一台主机配置为ntp服务器,同一网段的其他主机可以通过ntpdate -u host-addr命令同步客户端的时间。
4.1服务器
4.1.1工具安装
我们需要先安装ntp服务和ntpdate工具:yum -y安装ntp ntpdate,即使作为服务器的主机,也需要在必要的时候与公共ntp服务器同步时间(一般不用)。
4.1.2配置ntp服务文件
[root @ ***ster ~]# vim/etc/NTP . conf
注意:
1.你自己配置的时候,只需要把你的内容换成我的就可以了。
2.#授权以下网段上的所有机器从ntp服务器查询和同步时间:restrict 192 . 168 . 10 . 0 ***sk 255 . 255 . 255 . 0 no modify notrap。
确保此处的网段是您的群集的网段。
driftfile /var/lib/ntp/drift # 默认情况下,NTP服务器的日志保存在 /var/log/messages.当然我们也可以自己指定 # 自己指定日志目录 # 我们要确保他的属性和SELinux环境(这两项一般不用改) # chown ntp:ntp /var/log/ntpd.log # chcon -t ntpd_log_t /var/log/ntpd.log logfile /var/log/ntpd.log ? restrict default nomodify notrap nopeer noquery # 给与本机所有权限 restrict 127.0.0.1 restrict ::1 ? #授权下述网段上所有的机器允许从ntp服务器上查询和同步时间 restrict 192.168.10.0 ***sk 255.255.255.0 nomodify notrap ? #增加下述几个时间服务器列表,除了0.asia.pool.ntp.org还会有很多时间服务器.比如0.cn.pool.ntp.org或者time.nist.gov或者 server 0.asia.pool.ntp.org iburst server 1.asia.pool.ntp.org iburst server 2.asia.pool.ntp.org iburst server 3.asia.pool.ntp.org iburst ? #这两行内容表示当外部时间不可用时,使用本地时间 server 127.127.1.0 iburst fudge 127.127.1.0 stratum 10 ? #下述四行表示允许上层服务器修改本机时间 ? restrict 0.asia.pool.ntp.org nomodify notrap noquery restrict 1.asia.pool.ntp.org nomodify notrap noquery restrict 2.asia.pool.ntp.org nomodify notrap noquery restrict 3.asia.pool.ntp.org nomodify notrap noquery ? includefile /etc/ntp/crypto/pw keys /etc/ntp/keys disable monitor
4.1.3设置自启动服务(初始化)
使服务器服务ntp的守护进程ntpd有效。
[root@***ster ~]# systemctl启用ntpd
创建了从/etc/systemd/system/multi-user . target . wants/ntpd . service到/usr/lib/systemd/system/ntpd . service的符号链接。
使客户端工具ntpdate工具有效(可选)
[root@***ster ~]# systemctl启用ntpdate
已创建从/etc/systemd/system/multi-user . target . wants/ntpdate . service到/usr/lib/systemd/system/ntpdate . service的符号链接。
支票
[root@***ster ~]# systemctl已启用ntpd
显示:启用
4.1.4启用ntp服务
[root@***ster ~]# systemctl启动ntpd
参见ntpd流程
[root@***ster ~]# ps -ef | grep ntpd
ntp 1185 1 0 03:50?00:00:00/usr/***in/ntpd-u NTP:NTP-groot 1663 1136 0 04:35 pts/2 00:00:00:00 grep –颜色=自动ntp
进程存在,说明服务已经正常启动。
4.1.5设置防火墙并释放ntp协议请求
提前关闭防火墙。
4.1.6设置硬件时间
4.1.6.1时间解释
linux的时间分为系统时间和硬件时间。 ? 系统时间: 通常在开机时***硬件时间,之后独立运行并保存了时间、时区和夏令时设置。通过date命令设置。 ? 硬件时间: (RTC、Real-Time Clock),CMOS时间,在主板上靠电池供电,仅保存时期时间数值。通过hwclock命令设置,在这里,我们用系统时间同步硬件时间:hwclock -w ? 同步前需要测试ntp上层服务器的连通性
4.1.6.2检查ntp的情况
[root@***ster ~]# ntpq -p
remote refid st t when poll reach delay offset jitter ? ============================================================================== +electrode.felix 89.231.96.83 2 u 56 *** 1 286.235 9.133 0.971 *undefined.hostn 127.67.113.92 2 u 56 *** 1 202.865 -7.224 13.201 -de-user.deepini 195.13.23.5 3 u 58 *** 1 273.953 16.689 2.172 +ntp5.flashdance 192.36.143.153 2 u 55 *** 1 321.711 10.639 4.733 LOCAL(0) .LOCL. 10 l *** *** 2 0.000 0.000 0.000
解释:
remote:即NTP主机的IP或主机名称.注意最左边是+表示目前正在起作用的上层NTP,如果是*表示这个也连接上了,不过是作为次要联机的NTP主机 refid:参考的上一层NTP主机的地址 st:即stratum阶层 t:是连接类型. u代表单播(unicast) l代表本地(local) ,其他的还有多播(multicast),广播(broadcast) when:这个时间之前刚刚做过时间同步 poll:下次更新在几秒之后 reach:已经向上层NTP服务器要求更新的次数 delay:网络传输过程中的延迟时间 offset:时间补偿的结果 jitter:Linux系统时间和Bios硬件时间的差异时间
4.1.6.3执行同步
[root@***ster ~]# hwclock -w
测试
[root @ ***ster conf]# ntpstats在stratum 3时间与NTP服务器(78.46.102.180)同步,每***秒轮询服务器一次,误差不超过***毫秒
说明已经实现了与时间服务器的本地同步。
4.2客户端
4.2.1安装ntp服务和NTP更新工具
[root@slave1 ~]# yum -y安装ntp ntpdate
4.2.2方法1
1配置服务器进行同步。
首先执行hwclock -w,使系统时间与bios时间同步。
[root@slave1 ~]# hwclock -w
然后执行以下命令
[root @ slave 1 ~]# echo “服务器192 . 168 . 10 . 200 ”& gt/etc/ntp.conf
重新启动服务以使配置生效,然后等待大约10分钟,同步才会成功。
[root@slave1 ~]# systemctl启用ntpd
[root@slave1 ~]# systemctl重新启动ntpd
这有3个好处:
a 客户端的ntpd服务始终运行着,定期同步时间,不用我们每次都手动同步或者写定时器 b ntpd服务是慢慢改变时间直至标准时间
4注意:
最好先执行hwclock -w,否则如果bios时间和系统时间相差超过30分钟就会报错。
常见问题:系统错误-sep25 12: 23: 33 localhost内核:set _ RTC _ mmss:can ’t从3更新到22
4.2.3方法2
1同步客户端和服务器之间的时间。
[root@slave1 ~]# systemctl启用ntpdate
[root @ slave 1 ~]#/usr/***in/NTP date-u 192 . 168 . 10 . 200
28 Mar 04:54:43 ntpdate[1727]:调整时间服务器192.168.10.200偏移0.000001秒
2使系统时间与硬件时间同步。
[root@slave1 ~]# hwclock -w
可以设置一个定时器,定时执行,因为ntpdate每次执行都会失效。
[root@slave1 ~]# crontab -e
每天与主机同步一次。
10 23 * * *(/usr/***in/ntpdate-u 192 . 168 . 10 . 200 && amp/***in/HW clock-w)&& gt/var/log/ntpdate.log
4常见错误分析
常见错误分析: 客户端 执行 ntpdate ***ster 显示:no server suitable for synchronization found原因:错误1.Server dropped: Strata too high(在客户端执行 ntpdate -d ***ster可以看到,且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”)解决:这是因为NTP server还没有和其自身或者它的server同步上。以下的定义是让NTP Server和其自身保持同步,如果在/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。server 127.127.1.0fudge 127.127.1.0 stratum 8
本文来自半邊陽光投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/559527.html