Linux运维笔记(就老男孩运维28期、马哥教育、学神IT、老段带你学Linux、Linux-Cast整理而来)
声明
- “-“ 后面接的是段落小节标题
- 笔记按照服务一般配置整理
- 本文采用软件为 MarkdownPad2进行编辑
- 本文记录时间 2/27/2017 5:38:32 PM
- 请将本文ip替换成自己的ip
本文大纲
1.开篇的话
2.NTP服务
3.常见错误解决方案
4.应用场景
1.开篇的话
学习Linux服务的大体流程如下
了解服务的作用:名称,功能,特点
安装
配置文件位置,端口
服务启动关闭的脚本
此服务的使用方法
修改配置文件,实战举例
排错(从下到上,从内到外)
2.NTP服务
-简介
1、原理
NTP(Network Time Protocol,网络时间协议)是用来使计算机时间同步化的一种协议。它可以使计算机对其服务器或时钟源做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。
模式: C/S 模式
运行模式:
2.服务安装和检查
rpm -ivh /mnt/Packages/ntp-4.2.4p8-2.el6.x86_64.rpm 或 yum -y install ntp*
service ntpd start
netstat -anutp | grep 123
ntpdate time.windows.com #同步时间
如果自己同步自己的话就会出现如下错误
ntpdate time.windows.com
3.NTP服务器的主要配置文件
/etc/ntp.conf:这个是NTP服务器的主要设文件,也是 NTP 唯一的设定文件
下面重点说说 /etc/ntp.conf文件的设置。在 NTP Server 的设定上面,其实最好不要对 Internet 无限制的开放,尽量仅提供您自己内部的 Client 端联机进行网络校时就好。此外, NTP Server 总也是需要网络上面较为准确的主机来自行更新自己的时间,所以在我们的 NTP Server 上面也要找一部最靠近自己的 Time Server 来进行自我校正。事实上, NTP 这个服务和服务器之间,也是 C/S的一种模式。
NTP服务器实际作用:保证Linux集群中所有所有服务器时间同步。 对于一个Linux集群,集群内的机器保持时间同步是很重要的,不然会出现很多问题。
实例:配置一个本地时间同步服务器
实验前请确保此服务器可以上网
[root@xuegod63 ~]# vim /etc/ntp.conf #修改以下√号标记内容,为自己需要的内存即可
[root@xuegod63 ~]# vim /etc/ntp.conf #修改以下√号标记内容,为自己需要的内存即可
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
√restrict 192.168.1.0 mask 255.255.255.0 # 允许192.168.1.0这个网段中的服务器,访问ntp服务器同步时间。
√restrict 202.120.2.101 #允许单个IP地址方访问本服务器。
server 202.120.2.101 #指定本NTP服务器的上游NTP服务器为202.120.2.101,并且设置为首先服务器。同步时间为,从上到下,写的越靠上,优先级越高。(写在所有server最前面IP地址为首先服务器,此服务器同步不了时间,寻找下一个NTP服务器)。此IP地址是上海交通大学网络中心NTP服务器地址。 在原配置文件中添加一个外网NTP服务器
server 0.rhel.pool.ntp.org
server 1.rhel.pool.ntp.org
server 2.rhel.pool.ntp.org
注意:有的老系统里,有下面这两行配置。如何有,就启动这两行,如果没有,可以跳过
配置文件参数说明:
# 1. 关于权限设定部分
#权限的设定主要以 restrict 这个参数来设定,主要的语法为:
#restrict IP mask netmask_IP parameter (pəˈramitər :参数)
#其中 IP 可以是IP地址,也可以是 default ,default 就类似 0.0.0.0
#至于 paramter 则有:
#ignore :关闭所有的 NTP 联机服务
#nomodify:表示 Client 端不能更改 Server 端的时间参数,不过, Client 端仍然可以透过 Server 端来进行网络校时。
#notrust :该 Client 除非通过认证,否则该 Client 来源将被视为不信任网域
#noquery :不提供 Client 端的时间查询
#notrap :不提供trap这个远程事件登入 。 不提供trap这个远程事件登陆(remote event logging)的功能。
#如果 paramter 完全没有设定,那就表示该 IP (或网域)“没有任何限制”
restrict default nomodify notrap noquery # 关闭所有的 NTP 要求封包
restrict 133.100.11.8
#允许上游服务器133.100.11.8通过,并且指定上游服务器为133.100.11.8,并且设置为首先服务器。
restrict 127.0.0.1 #这是允许本机查询
restrict 192.168.1.0 mask 255.255.255.0 nomodify
#允许192.168.1.0/24网段内的客户端,通过这台NTP Server进行时间同步。
#2. 上层主机的设定
#要设定上层主机主要以 server 这个参数来设定,语法为:
#server [IP|HOST Name]
#Server 后面接的就是我们上层 Time Server 啰!同步时间为,从上到下,写的越靠上,优先级越高。server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server cn.pool.ntp.org prefer
#其他设置值,以系统默认值即可
# 另外,为了解决更新时间封包的传送延迟动作, 所以可以使用 driftfile 来规定我们的主机
# 在与 Time Server 沟通时所花费的时间,可以记录在 driftfile
# 后面接的文件内,例如下面的范例中,我们的 NTP server 与 cn.pool.ntp.org联机时所花费的时间会记录在 /etc/ntp/drift文件内
driftfile /var/lib/ntp/drift
例:cat /var/lib/ntp/drift #只有ntp服务工作正常后,这个文件中才有内容。
4.启动的流程
在启动NTP服务前,先对提供服务的这台主机手动的校正一次时间。有时,你的时间和NTP服务器时间相差太大,NTP会以你当前系统时间为准,不作同步。(因为启动服务器,端口会被服务端占用,就不能手动同步时间了)
ntpdate time.windows.com
然后在启动服务
service ntpd start 或 /etc/init.d/ntpd start
查看端口是否服务启动成功
netstat -ln|grep 123
确认我们的NTP服务器已经更新了自己的时间
ntpstat #如果出现一下信心那么就代表成功了
synchronized to NTP server(127.127.1.0) at stratum 11 #可以看到我们当前在11层。
time correct to within 950ms # ms毫秒是一种较为微小的时间单位,是一秒的千分之一。
polling(轮询) server every 64 s
5.NTP服务同步硬件时间
最后提及一点,ntp服务,默认只会同步系统时间。如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd 文件。
在/etc/sysconfig/ntpd文件中,添加 SYNC_HWCLOCK=yes 这样,就可以让硬件时间与系统时间一起同步。
如下:
[root@desktop2 ~]# cat /etc/sysconfig/ntpd //允许BIOS与系统时间同步
# Drop root to id 'ntp:ntp' by default.
SYNC_HWCLOCK=yes
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
3.常见错误解决方案
第一种问题:no server suitable for synchronization found
其实,这不是一个错误。而是由于每次重启NTP服务器之后大约要3-5分钟客户端才能与server建立正常的通讯连接。当此时用客户端连接服务端就会报这样的信息。一般等待几分钟就可以了。
第二种问题:unsynchronised polling server every 64 s
1、 在启动服务之前,先要手动同步下时间,系统时间和硬件时间都要同步
2、 修改配置文件,在定义server 字段下添加两行:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
server127.127.1.0 如果上面的服务器都无同步时间,就和本地系统时间同步。 127.127.1.0在这里是一个IP地址,不是网段。
fudge127.127.1.0 stratum 10 # 127.127.1.0 为第10层。 ntp和127.127.1.0同步完后,就变成了11层。 ntp是层次阶级的。同步上层服务器的stratum 大小不能超过或等于16。
如果没有以上两个错误,可以不用添加这两行,按照上面的笔记配置即可
4.应用场景
1)集群应用
2)内网NTP服务器