阿里云ECS集群服务器时间同步解决方案

阿里云ECS集群服务器时间同步解决方案,第1张

阿里云ECS实例已经提供了NTP服务器支持,直接启动已配置好的NTP服务即可。
《阿里云NTP服务器》
《配置Linux实例NTP服务》

在开启服务前,先确保环境配置:

文档 《配置Linux实例NTP服务》 中介绍了CentOS环境下开启NTP服务。
由于本人购买的Ubuntu服务器,下面总结Ubuntu环境下的配置。
执行命令查询所有服务,看ntp服务是否已开启(+号:已开启;-号:未开启):

发现香港地区的服务默认都没有开启ntp服务;但深圳地区的服务器默认已经开启了ntp服务。
执行命令查询ntp进程,发现深圳服务器默认已经开启了ntp服务:

如果未开启ntp服务,执行命令开启ntp服务:

开启成功后,如图:

或者查询ntp相关的进程:

重启后通过如下命令观察NTP的运行状态:

这个命令可以列出目前我们的 NTP 与相关的上层 NTP 的状态,上头的几个字段的意义为:

driftfile /etc/ntp/drift

语法为: restrict IP地址 mask 子网掩码 参数
其中IP地址也可以是default ,default 就是指所有的IP

参考 《ubuntu安装和使用NTP》

linux可以通过命令去取世界时间,命令格式如下ntpdate -s timewindowscom前提是需要该linux能够上网,需要自动更新的话,加入系统计划任务即可。按照你需要的每小时或者每分钟去校准即可。若在内网,你可以自己搭建一个时间服务器,有windows的,也有linux的。这里就不再说了。

解决方法:

1 创建一个文件/etc/crondaily/timeupdate:

___FCKpd___0nbsp;sudo nano /etc/crondaily/timeupdate

2 输入以下内容:

ntpdate ntpubuntucom

3 保存文件后,还需要赋予其可执行权限:

___FCKpd___2nbsp;sudo chmod 755 /etc/crondaily/timeupdate

这样,系统就可以每天获取时间(/etc/crondaily/目录下的所有任务都会被每天执行一次),并校准服务器本身的时间。如果你担心时间获取失败,则可以将多个NTP服务器添加到/etc/crondaily/timeupdate文件中:

ntpdate ntpubuntucom poolntporg

几乎所有的Linux发行版本都有现成的,你找一下NTP相关的包,通常是ntpd之类的名字,装上,设定好htp服务器(所有的Linux发行版也都提供自己的ntp服务器),保证服务开启就好了。
ntp说白了是同步Unix时间,你说的北京时间用时区设定就好了,与ntp无关。可以参考下《Linux就该这么学》详细了解相关知识

在安装ros-kinetic版本时候,遇到无法定位ros包,百度了一下,都说是更换一下Ubuntu源就可以(具体 *** 作:设置system setting--软件更新software update--Ubuntu software-Download from)。
把source code 勾选上(就是添加源Download from上面那个选项)就好使了。
你本地没有该功能的资源或者你更换了源但是还没有重新update,所以只需要更新一下本地资源就可以。

服务器date时间不准:

jingke@ubuntu:~# date

Tue, 05 Nov 2019 21:08:31 -0500

实际是下午9点
  第一步:执行tzselect
修改/etc/localtime文件

控制系统时区的文件是/etc/localtime。只要把这个文件复制成相应时区的文件,系统时区就改成相应的时间了。

时区信息在:/usr/share/zoneinfo里。比如需要把本机 时区改成Shanghai的时间:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

这两条指令都可以更改。
使用date查看时间

                                                 第二种修改方式 timedatectl
1查看当前时间状态

查看当前时间状态 timedatectl status :

wxs@ubuntu:~/6-1/task4$ timedatectl status

      Local time: Tue 2017-11-07 18:14:30 PST

  Universal time: Wed 2017-11-08 02:14:30 UTC

        RTC time: Wed 2017-11-08 02:14:29

      Time zone: America/Los_Angeles (PST, -0800)

Network time on: yes

NTP synchronized: yes

RTC in local TZ: no

系统显示的时间是错误的,错误原因也是显而易见的,使用的是America/Los_Angeles的时区。

因此只要修改时区就能保证时间的正确。

2修改时区

所有的时区名称存储在/usr/share/zoneinfo文件中。

执行命令timedatectl set-timezone "Asia/Shanghai" 就可以将时区设为上海时区。

==== AUTHENTICATING FOR orgfreedesktoptimedate1set-timezone ===

Authentication is required to set the system timezone

Authenticating as: wxs,,, (wxs)

Password:

==== AUTHENTICATION COMPLETE ===12345

重新查看当前时间状态 timedatectl status :

wxs@ubuntu:~/6-1/task4$ timedatectl status

      Local time: Wed 2017-11-08 10:15:45 CST

  Universal time: Wed 2017-11-08 02:15:45 UTC

        RTC time: Wed 2017-11-08 02:15:45

      Time zone: Asia/Shanghai (CST, +0800)

Network time on: yes

NTP synchronized: yes

RTC in local TZ: no12345678

此时时间已经正常了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13451180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-09
下一篇 2023-08-09

发表评论

登录后才能评论

评论列表(0条)

保存