【ntpdate】CentOS7.x上使用ntpdate同步ntp服务器

【ntpdate】CentOS7.x上使用ntpdate同步ntp服务器,第1张

NTP服务器顾名思义就是时间同步服务器(Network Time Protocol),Linux下的ntp服务器配置相对来说都比较容易,但在Linux下有一个弊端, 不同时区或者说是时间相差太大的无法同步 ,所以在配置ntp服务器之前需要把时间配置成相同的。

NTP时钟同步方式说明

NTP在linux下有两种时钟同步方式,分别为直接同步和平滑同步:

直接同步

使用ntpdate命令进行同步,直接进行时间变更。如果服务器上存在一个12点运行的任务,当前服务器时间是13点,但标准时间时11点,使用此命令可能会造成任务重复执行。因此使用ntpdate同步可能会引发风险,因此该命令也多用于配置时钟同步服务时第一次同步时间时使用。

平滑同步

使用ntpd进行时钟同步,可以保证一个时间不经历两次,它每次同步时间的偏移量不会太陡,是慢慢来的,这正因为这样,ntpd平滑同步可能耗费的时间比较长。

标准时钟同步服务

http://wwwpoolntporg/zone/cn

这个网站包含全球的标准时间同步服务,也包括对中国时间的同步,对应的URL为:cnpoolntporg

在其中也描述了ntp配置文件中的建议写法:

server  1cnpoolntporg

server  2asiapoolntporg

server  3asiapoolntporg

实验室集群没有联网,我们需要搭建ntp服务器并进行时间同步。

现使用的系统为centos72,机器使用情况如下表所示,这里以1921681102为ntp server,1921681104为client对时间进行同步。

NTP server         1921681102

NTP client           1921681104

1在集群中所有节点上安装ntp

# yum  -y  install ntp

2所有节点设置时区,这里设置为中国所用时间

# timedatectl set-timezone Asia/Shanghai 

3在server节点上启动ntp服务

# systemctl startntpd

# systemctl enable ntpd

4在server节点上设置现在的准确时间

# timedatectl set-time HH:MM:SS 

5在server节点上设置其ntp服务器为其自身,同时设置可以接受连接服务的客户端,是通过更改/etc/ntpconf文件来实现,其中server设置12712710为其自身,新增加一个 restrict 段为可以接受服务的网段

 # vim  /etc/ntpconf

6重启ntpd服务 

# systemctl restart ntpd 

# timedatectl

NTP synchronized: yes

启用ntpd后,服务器就开启了ntpd自动同步,无法使用 timedatectl set-time HH:MM:SS重新设置时间。

如果要使用timedatectl set-time HH:MM:SS 重新设置时间:

#  systemctl stop  ntpd 

# timedatectl set-ntp  false

# timedatectl set-time HH:MM:SS

# hwclock  -w

#  systemctl start  ntpd 

1客户端时区需要和服务端保持一致,否则无法同步时间

# timedatectl set-timezone   

Asia/Shanghai 

2安装同步软件包

# yum   -y install  ntpdate

3 修改/etc/sysconfig/ntpdate,让ntpdate每次同步时间之后把时间写入hwclock,相当于命令hwclock -w

将最后一行SYNC_HWCLOCK=no修改为:SYNC_HWCLOCK=yes

#  vim  /etc/sysconfig/ntpdate

4客户端定时任务配置

# crontab  -e

59  23         /sbin/ntpdate  1921681102

设置为每天23:59分执行,重启crond服务

######################

定时任务基本格式 : 

           command 

分 时 日 月 周 命令 

第1列表示分钟1~59 每分钟用或者 /1表示 

第2列表示小时1~23(0表示0点) 

第3列表示日期1~31 

第4列表示月份1~12 

第5列标识号星期0~6(0表示星期天) 

第6列要运行的命令

################################ 

5重启定时任务

# systemctl  restart crondservice

配置 Windows 时间服务以使用内部硬件时钟

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证可以解决这些问题。修改注册表需要您自担风险。

要将 PDC 主机配置为不使用外部时间源,请更改 PDC 主机上的公告标志。PDC 主机是存放域的林根 PDC 主机角色的服务器。这种配置会强制 PDC 主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体 (CMOS) 时钟。要将 PDC 主机配置为使用内部硬件时钟,请按照下列步骤操作:

单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。

找到并单击下面的注册表子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags

在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。

在“编辑 DWORD 值”的“数值数据”框中键入 A,然后单击“确定”。

退出注册表编辑器。

在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter:

net stop w32time && net start w32time

配置 Windows 时间服务以使用外部时间源

要将内部时间服务器配置为与外部时间源同步,请按照下列步骤操作:

将服务器类型更改为 NTP。为此,请按照下列步骤操作:

单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。

找到并单击下面的注册表子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type

在右窗格中,右键单击“Type”,然后单击“修改”。

在“编辑值”的“数值数据”框中键入 NTP,然后单击“确定”。

将 AnnounceFlags 设置为 5。为此,请按照下列步骤操作:

找到并单击下面的注册表子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags

在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。

在“编辑 DWORD 值”的“数值数据”框中键入 5,然后单击“确定”。

启用 NTPServer。为此,请按照下列步骤操作:

找到并单击下面的注册表子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer

在右窗格中,右键单击“Enabled”,然后单击“修改”。

在“编辑 DWORD 值”的“数值数据”框中键入 1,然后单击“确定”。

指定时间源。为此,请按照下列步骤操作:

找到并单击下面的注册表子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer

在右窗格中,右键单击“NtpServer”,然后单击“修改”。

在“编辑值”的“数值数据”框中键入 Peers,然后单击“确定”。

注意:Peers 是一个占位符,应替换为您的计算机从中获取时间戳的对等端列表(以空格分隔)。列出的每个 DNS 名称都必须是唯一的。必须在每个 DNS 名称后面附加 ,0x1。如果不在每个 DNS 名称后面附加 ,0x1,则在步骤 5 中所做的更改将不会生效。

选择轮询间隔。为此,请按照下列步骤操作:

找到并单击下面的注册表子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval

在右窗格中,右键单击“SpecialPollInterval”,然后单击“修改”。

在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

注意:TimeInSeconds 是一个占位符,应替换为您希望各次轮询之间的间隔秒数。建议值为 900(十进制)。该值将时间服务器配置为每隔 15 分钟轮询一次。

配置时间校准设置。为此,请按照下列步骤操作:

找到并单击下面的注册表子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection

在右窗格中,右键单击“MaxPosPhaseCorrection”,然后单击“修改”。

在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。

在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

注意:TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您选择的值将因轮询间隔、网络状况和外部时间源而异。

找到并单击下面的注册表子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection

在右窗格中,右键单击“MaxNegPhaseCorrection”,然后单击“修改”。

在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。

在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

注意:TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您选择的值将因轮询间隔、网络状况和外部时间源而异。

退出注册表编辑器。

在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter:

net stop w32time && net start w32time

我就是这样用的,很好。

Windows(2003)下配置NTP时间服务器

一、服务端设置:

因为默认情况下,WINDOWS SERVER 2003 是作为NTP客户端工作的 ,所以必须通过修改注册表,以使系统作为NTP服务器运行。注意,工作之前请先备份注册表文件。

1、通过开始菜单,输入regedit命令后打开注册表设定画面,此时请一定备份注册表文件。

2、修改以下选项的键值

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\

NtpServer内的「Enabled」设定为1,打开NTP服务器功能

3、修改以下键值

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\

AnnounceFlags设定为5,该设定强制主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体(CMOS) 时钟。

4、在dos命令行执行以下命令,确保以上修改起作用

net stop w32time

net start w32time

推荐计划;如果该服务器和internet连接,那么为了避免服务器和internet上的ntp同步,最好追加以下配置:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\

NtpClient的「enable」设定为0 以防止作为客户端自动同步外界的时间服务

二、客户设置:

1、指定主时间服务器。在DOS方式输入“net time /setsntp:ntpsjtueducn”,这里我们指定ntpsjtueducn是主时间服务器,也可以是其它地址(2107214544)。

2、自由设定XP时间同步间隔:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\

NtpClient的「SpecialPollInterval」默认设定为604800(或86400)

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 【ntpdate】CentOS7.x上使用ntpdate同步ntp服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情