Linux时间同步(NTP)_ntpq remote主机名显示不全(1)

3.Real Time Clock(RTC) and System Clock
说道设置时间这里还要明确另外一个概念就是在一台计算机上我们有两个时钟:一个称之为硬件时间时钟(RTC),还有一个称之为系统时钟(System Clock)
硬件时钟是指嵌在主板上的特殊的电路, 它的存在就是平时我们关机之后还可以计算时间的原因
系统时钟就是操作系统的kernel所用来计算时间的时钟. 它从1970年1月1日00:00:00 UTC时间到目前为止秒数总和的值 在Linux下系统时间在开机的时候会和硬件时间同步(synchronization),之后也就各自独立运行了

那么既然两个时钟独自运行,那么时间久了必然就会产生误差了,下面我们来看一个例子
[root@localhost ~]# date
Fri Jul  6 00:27:13 BST 2007
[root@localhost ~]# hwclock --show
Fri 06 Jul 2007 12:27:17 AM BST  -0.968931 seconds 
通过hwclock --show 命令我们可以查看机器上的硬件时间(always in local time zone), 我们可以看到它和系统时间还是有一定的误差的, 那么我们就需要把他们同步

如果我们想要把硬件时间设置成系统时间我们可以运行以下命令

hwclock --hctosys

反之,我们也可以把系统时间设置成硬件时间

hwclock --systohc

那么如果想设置硬件时间我们可以开机的时候在BIOS里设定.也可以用hwclock命令

hwclock --set --date=“mm/dd/yy hh:mm:ss”

如果想要修改系统时间那么用date命令就最简单了

date -s “dd/mm/yyyy hh:mm:ss”

用date命令对系统时间进行设置后,并不会去修改硬件时钟,所以系统重启后,系统时间还是会去读取硬件时间,这就是为何date设置失效的原因。
因此,需要在设置系统时间后,将系统时间同步到硬件时钟。
clock/hwclock:
显示与设定硬件时钟(query and set the hardware clock (RTC)),两个命令相同。RTC=Real Time Clock,也就是硬件时钟。
命令参数:
-r, --show        读取并打印硬件时钟(read hardware clock and print result)
-s, --hctosys    将硬件时钟同步到系统时钟(set the system time from the hardware clock)
-w, --systohc    将系统时钟同步到硬件时钟(set the hardware clock to the current system time)

现在我们知道了如何设置系统和硬件的时间. 但问题是如果这两个时间都不准确了怎么办? 那么我们就需要在互联网上找到一个可以提供我们准确时间的服务器然后通过一种协议来同步我们的系统时间,那么这个协议就是NTP了. 注意接下去我们所要说的同步就都是指系统时间和网络服务器之间的同步了

4.设置NTP Server前的准备
其实这个标题应该改为设置"NTP Relay Server"前的准备更加合适. 因为不论我们的计算机配置多好运行时间久了都会产生误差,所以不足以给互联网上的其他服务器做NTP Server. 真正能够精确地测算时间的还是原子钟. 但由于原子钟十分的昂贵,只有少部分组织拥有, 他们连接到计算机之后就成了一台真正的NTP Server. 而我们所要做的就是连接到这些服务器上同步我们系统的时间,然后把我们自己的服务器做成NTP Relay Server再给互联网或者是局域网内的用户提供同步服务
好了,前面讲了一大堆理论,现在我们来动手实践一下吧. 架设一个NTP Relay Server其实非常简单,我们先把需要的RPM包装上
是否已经安装了NTP包可以用这条命令来确定:
[root@localhost ~]# rpm -qa | grep ntp
ntp-4.2.6p5-1.el6.x86_64
fontpackages-filesystem-1.41-1.1.el6.noarch
ntpdate-4.2.6p5-1.el6.x86_64
出现以上代码则表示已安装NTP包,否则用下面方法安装:

yum -y install ntp(执行这条命令后就自动安装了ntp和ntpdate了,不像Debian8.6还得执行两条命令来分别安装ntp和ntpdate)

使用以下命令检查ntp的版本:

ntpq -c version

那么第一步我们就要找到在互联网上给我们提供同步服务的NTP Server
http://www.pool.ntp.org是NTP的官方网站,在这上面我们可以找到离我们城市最近的NTP Server. NTP建议我们为了保障时间的准确性,最少找两个个NTP Server
那么比如在英国的话就可以选择下面两个服务器
0.uk.pool.ntp.org
1.uk.pool.ntp.org
它的一般格式都是number.country.pool.ntp.org

第二步要做的就是在打开NTP服务器之前先和这些服务器做一个同步,使得我们机器的时间尽量接近标准时间. 
这里我们可以用ntpdate命令手动更新时间
[root@localhost ~]# ntpdate 0.uk.pool.ntp.org
 5 Sep 09:38:36 ntpdate[30182]: step time server 46.101.55.10 offset 2698901.799486 sec
[root@localhost ~]# ntpdate 0.pool.ntp.org
 5 Sep 09:38:41 ntpdate[30185]: adjust time server 202.118.1.130 offset 0.019261 sec
假如你的时间差的很离谱的话第一次会看到调整的幅度比较大,所以保险起见可以运行两次. 那么为什么在打开NTP服务之前先要手动运行同步呢?

  1. 因为根据NTP的设置,如果你的系统时间比正确时间要快的话那么NTP是不会帮你调整的,所以要么你把时间设置回去,要么先做一个手动同步
  2. 当你的时间设置和NTP服务器的时间相差很大的时候,NTP会花上较长一段时间进行调整.所以手动同步可以减少这段时间

5.配置和运行NTP Server
现在我们就来创建NTP的配置文件了, 它就是/etc/ntp.conf. 我们只需要加入上面的NTP Server和一个driftfile就可以了

我在http://www.pool.ntp.org上查看到了为中国地区提供的四个服务器,完全就可以用这些,你也可以用中国自己的,比如202.120.2.101(上海交通大学网络中心),也可以不用改,它默认就已经有,如:

server 0.centos.pool.ntp.org iburst

server 1.centos.pool.ntp.org iburst

server 2.centos.pool.ntp.org iburst

server 3.centos.pool.ntp.org iburst

注意:iburst :当一个运程NTP服务器不可用时,向它发送一系列的并发包进行检测,即以默认发包速率的8倍向服务器发包。

vi /etc/ntp.conf

server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org #如果在后面加prefer则表明是以这台主机为最优先
server 2.cn.pool.ntp.org
server 3.cn.pool.ntp.org
#server 202.120.2.101
注意:这里你不用太纠结使用什么时间服务器,只要是选一个能用的就行,对,不管哪个国家的都行,因为你根据选择的时间服务器同步了时间之后,还有一个决定时间的重要设置那就是时区,不管你同步哪个国家的时间,最后将时区改为中国的后时间都会变为北京时间。因为时间是相对的而不是绝对的,只要你知道世界上任意一个地方的时间,再根据它所在的时区就可以知道其他地方的时间了。

#设置本地主机作为服务器127.127.1.0(回环地址,和127.0.0.1一样)代表本机 stratum 0是时间服务器的层次,设为0则为顶级,如果要向别的NTP服务器更新时间,请不要把它设为0
server 127.127.1.0 prefer #这行配置很重要,没有这行的话NTP客户端无法和这台服务器同步时间,会报错
[root@h150 ~]# ntpdate 192.168.205.149
 9 Dec 01:46:22 ntpdate[2621]: no server suitable for synchronization found
原因1:NTP服务器没有配置这项server 127.127.1.0 prefer
原因2:没有修改/etc/hosts和主机名,应该修改/etc/hosts文件内容为
192.168.205.149 h149
192.168.205.150 h150
修改/etc/sysconfig/network内容为(亲测RedHat6.6和Centos7.2)
NETWORKING=yes
HOSTNAME=h149或h150
原因3:SELinux和防火墙没有关掉(每次都是有这个原因导致各种问题,真是服了)
注意:我在Debian8.6中即使没有修改主机名使用的是默认的配置和Debian主机名,当时的情况是一次运行也报上面的那个错,但是第二次就不报那个错正常了,而Centos7.2中却不管运行几次上面的那个命令都报那个错,无语了都。。。
fudge 127.127.1.0 stratum 0
注意:上面这两行配置我发现在旧的版本中才有,如RedHat5.5。而在比较新的版本如Cento7.2和Debian8.6的ntp.conf中并没有这两项

driftfile /var/lib/ntp/ntp.drift

非常的简单. 接下来我们就启动NTP Server,并且设置其在开机后自动运行

/etc/init.d/ntpd start或service ntpd start

注意:Debian中是/etc/init.d/ntp start或service ntp start

chkconfig --level 35 ntpd on

6.查看NTP服务的运行状况
现在我们已经启动了NTP的服务,但是我们的系统时间到底和服务器同步了没有呢? 为此NTP提供了一个很好的查看工具: ntpq (NTP query)
我建议大家在打开NTP服务器后就可以运行ntpq命令来监测服务器的运行.这里我们可以使用watch命令来查看一段时间内服务器各项数值的变化

# watch ntpq -p
Every 2.0s: ntpq -p                                   Fri Dec  8 14:18:20 2017

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp8.flashdance 192.36.143.234   2 u   46   64    1  253.304  -83.905   0.000
+ntp.wdc1.us.lea 130.133.1.10     2 u   45   64    1  248.879  -72.329   0.000
 61-216-153-106. .INIT.          16 u    -   64    0    0.000    0.000   0.000
*85.199.214.100  .GPS.            1 u   43   64    1  174.016  -72.105   0.000
 LOCAL(0)        .LOCL.           5 l    -   64    0    0.000    0.000   0.000

以上命令列出了所有作为时钟源校正过本地NTP服务器时钟的上层NTP服务器的列表,每一列的含义如下所示:

◆ remote: 远程NTP服务器的IP地址或域名,带 “*” 的表示本地NTP服务器与该服务器同步。

◆ refid: 远程NTP服务器的上层服务器的IP地址或域名。

◆ st: 远程NTP服务器所在的层数。

◆ t: 本地NTP服务器与远程NTP服务器的通信方式,u: 单播; b: 广播; l: 本地。

◆ when: 上一次校正时间与现在时间的差值。

◆ poll: 本地NTP服务器查询远程NTP服务器的时间间隔。

◆ reach: 是一种衡量前8次查询是否成功的位掩码值,377表示都成功,0表示不成功。

◆ delay: 网络延时,单位是10的-6次方秒。

◆ offset: 本地NTP服务器与远程NTP服务器的时间偏移。

◆ jitter: 查询偏差的分布值,用于表示远程NTP服务器的网络延时是否稳定,单位为10的-6次方秒。

那么大家细心的话就会发现两个问题: 第一我们连接的是0.uk.pool.ntp.org为什么和remote server不一样? 第二那个最前面的+和*都是什么意思呢?
第一个问题不难理解,因为NTP提供给我们的是一个cluster server所以每次连接的得到的服务器都有可能是不一样.同样这也告诉我们了在指定NTP Server的时候应该使用hostname而不是IP
第二个问题和第一个相关,既然有这么多的服务器就是为了在发生问题的时候其他的服务器还可以正常地给我们提供服务.那么如何知道这些服务器的状态呢? 这就是第一个记号会告诉我们的信息
* 它告诉我们远端的服务器已经被确认为我们的主NTP Server,我们系统的时间将由这台机器所提供

  • 它将作为辅助的NTP Server和带有*号的服务器一起为我们提供同步服务. 当*号服务器不可用时它就可以接管
    - 远程服务器被clustering algorithm认为是不合格的NTP Server
    x 远程服务器不可用

了解这些之后我们就可以实时监测我们系统的时间同步状况了

7.NTP安全设置
运行一个NTP Server不需要占用很多的系统资源,所以也不用专门配置独立的服务器,就可以给许多client提供时间同步服务, 但是一些基本的安全设置还是很有必要的
那么这里一个很简单的思路就是第一我们只允许局域网内一部分的用户连接到我们的服务器. 第二个就是这些client不能修改我们服务器上的时间

关于权限设定部分 
权限的设定主要以restrict这个参数来设定,主要的语法为: 
restrict IP地址 mask 子网掩码 参数 
其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP 
参数有以下几个: 
ignore :关闭所有的 NTP 联机服务 
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
noquery :不提供客户端的时间查询,用户端不能使用ntpq,ntpc等命令来查询ntp服务器
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
notrap :不提供trap远程登陆功能
nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟
kod : 访问违规时发送 KoD 包。
restrict -6 表示IPV6地址的权限设置。
注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制!

在/etc/ntp.conf文件中我们可以用restrict关键字来配置上面的要求(RedHat5.5)
首先我们对于默认的client拒绝所有的操作
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
然后允许本机地址一切的操作
restrict 127.0.0.1
restrict -6 ::1
最后我们允许局域网内所有client连接到这台服务器同步时间.但是拒绝让他们修改服务器上的时间
restrict 192.168.1.0 mask 255.255.255.0 nomodify(我自己测试的没这项客户端192.168.205.150也能连上啊,搞不懂)

把这三条加入到/etc/ntp.conf中就完成了我们的简单配置. NTP还可以用key来做authentication,这里就不详细介绍了

8.NTP client的设置
做到这里我们已经有了一台自己的Relay Server.如果我们想让局域网内的其他client都进行时间同步的话那么我们就都应该照样再搭建一台Relay Server(红帽官网上建议使用四台NTP服务器https://www.redhat.com/zh/blog/avoiding-clock-drift-vms?source=onsite&key=ntpdate)(http://support.ntp.org/bin/view/Support/SelectingOffsiteNTPServers说的咋NTP好像并不是很安全啊,整的我都不敢用了。。)

LINUX客户端使用

ntpdate 192.168.205.149

来向NTP服务器同步自己的时间
其它LINUX如果仅作为客户端的话,则不能启动ntpd服务!否则无法运行ntpdata 服务器地址 来同步时间
之后可以使用cron或修改crontab文件定期向NTP服务器更新时间,并用

hwclock --systohc

将系统时间设置为硬件时间

9.一些补充和拾遗(挺重要)

  1. 配置文件中的driftfile是什么?
    我们每一个system clock的频率都有小小的误差,这个就是为什么机器运行一段时间后会不精确. NTP会自动来监测我们时钟的误差值并予以调整.但问题是这是一个冗长的过程,所以它会把记录下来的误差先写入driftfile.这样即使你重新开机以后之前的计算结果也就不会丢失了
  2. 如何同步硬件时钟?
    NTP一般只会同步system clock. 但是如果我们也要同步RTC(hwclock)的话那么只需要把下面的选项打开就可以了

vi /etc/sysconfig/ntpd

SYNC_HWCLOCK=yes

3.利用crontab让LINUX NTP定时更新时间
注:让linux运行ntpdate更新时间时,linux不能开启NTP服务,否则会提示端口被占用:如下
[root@localhost ~]# ntpdate 1.rhel.pool.ntp.org                                 
20 May 09:34:14 ntpdate[6747]: the NTP socket is in use, exiting

crontab文件配置简要说明
命令格式的前一部分是对时间的设定,后面一部分是要执行的命令。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:
分钟 (0-59)
小時 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-6)//0代表星期天
除了数字还有几个个特殊的符号就是“*”、“/”和“-”、“,”,“*”代表所有的取值范围内的数字,“/”代表每的意思,“*/5”表示每5个单位,“-”代表从某个数字到某个数字,“,”分开几个离散的数字。以下举几个例子说明问题:
每天早上6点:
0 6 * * *  command
每两个小时:
0 */2 * * *  command
晚上11点到早上8点之间每两个小时,早上八点:
0 23-7/2,8 * * * command
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点:
0 11 4 * 1-3 command 
1月1日早上4点:
0 4 1 1 * command

4.设置开机自动启动服务
运行setup或其它服务设置工具,将crond服务勾选上 
chkconfig --level 2345 crond on  定义在这几个系统运行级别上启用crond (系统安装完默认就是这个设置)

10.NTP客户端的设置
一、LINUX做为客户端自动同步时间
如果想定时进行时间校准,可以使用crond服务来定时执行。
编辑 /etc/crontab 文件
加入下面一行:
30 8 * * * root /usr/sbin/ntpdate 192.168.0.1; /sbin/hwclock -w  #192.168.0.1是NTP服务器的IP地址

然后重启crond服务
service crond restart 
这样,每天 8:30 Linux 系统就会自动的进行网络时间校准。

二、WINDOWS 需要打开windows time服务和RPC的二个服务
如果在打开windows time 服务,时报 错误1058,进行下面操作 
1.运行 cmd 进入命令行,然后键入
w32tm /register  进行注册
正确的响应为:W32Time 成功注册。
2.如果上一步正确,用 net start “windows time” 或 net start w32time 启动服务。

11.其它造成无法成功更新的原因:
1、客户端的日期必须要设置正确,不能超出正常时间24小时,不然会因为安全原因被拒绝更新。其次客户端的时区必须要设置好,以确保不会更新成其它时区的时间。
2、fudge 127.127.1.0 stratum 10 如果是LINUX做为NTP服务器,stratum(层级)的值不能太大,如果要向上级NTP更新可以设成2
3、LINUX的NTP服务器必须记得将从上级NTP更新的时间从系统时间写到硬件里去 hwclock --systohc 
NTP一般只会同步system clock. 但是如果我们也要同步RTC(hwclock)的话那么只需要把下面的选项打开就可以了

vi /etc/sysconfig/ntpd

SYNC_HWCLOCK=yes
4、Linux如果开启了NTP服务,则不能手动运行ntpdate更新时间(会报端口被占用),它只能根据/etc/ntp.conf里server字段后的服务器地址按一定时间间隔自动向上级NTP服务器更新时间。可以运行命令ntpstat查看每次更新间隔如:
[root@ESXI ~]# ntpstat
synchronised to NTP server (210.72.145.44) at stratum 2    #本NTP服务器层次为2,已向210.72.145.44 NTP同步过
time correct to within 93 ms                               #时间校正到相差93ms之内
polling server every 1024 s                                #每1024秒会向上级NTP轮询更新一次时间

12.ntpd与ntpdate的区别(在网上找到回答比较好的)
之前配置ntpd的时候搜到一句话,印象很深刻,也觉得很有标题党的效果,就借鉴为标题了:
“我认为有几种人是必须不招聘/裁掉的: 1 用ntpdate代替ntpd的人”
但具体原因不太懂,总觉得还是用ntpdate比较方便。
今天问了红帽技术支持,对方的解释是:
ntpd在实际同步时间时是一点点的校准过来时间的,最终把时间慢慢的校正对。而ntpdate不会考虑其他程序是否会阵痛,直接调整时间。
一个是校准时间,一个是调整时间。
以下是一个形象的假设:
linuxtone限制用户注册1小时才能发帖。
数据库服务器在 10:00分接受了我的注册邀请;
10:03分,ntpdate将数据库时间强行改成9:35分;
然后10:05分(9:37分)我尝试发帖,系统判断我注册时间是否满一小时会使用:9:37 - 10:00
最后电脑就逻辑混乱了。。。
类似的帖子网上也有很详细的说明,贴出来给大家看看:
时钟的跃变,有时候会导致很严重的问题。许多应用程序依赖连续的时钟??毕竟,这是一项常见的假定,即,取得的时间是线性的,一些操作,例如数据库事务,通常会地依赖这样的事实:时间不会往回跳跃。
不幸的是,ntpdate调整时间的方式就是我们所说的”跃变“:在获得一个时间之后,ntpdate使用settimeofday(2)设置系统时间,这有几个非常明显的问题:
第一,这样做不安全。ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。由于ntpdate采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。
第二,这样做不精确。一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。
第三,这样做不够优雅。由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错(例如,如果ntpdate发现你的时间快了,则可能会经历两个相同的时刻,对某些应用而言,这是致命的)。
因而,唯一一个可以令时间发生跳变的点,是计算机刚刚启动,但还没有启动很多服务的那个时候。其余的时候,理想的做法是使用ntpd来校准时钟,而不是调整计算机时钟上的时间。
NTPD 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差??或者说 Local Clock 的自然漂移(drift)??记录下来。这样即使网络有问题,本机仍然能维持一个相当精确的走时。
##############
最后提醒一下使用vmware的各位,因为虚拟机的时钟不太正常,比正常速度慢好多秒,所以在虚拟机上测试ntpd很难得到理想的结果,我当年就是为这个问题耽搁了好几天。。

疑惑:虽然这篇文章的作者说的感觉很有道理,但是按他这么说那个根本就不应该用ntpdate命令了呗。但是都用ntp方式的话那岂不都成了ntp服务端哪还存在ntp客户端的概念。在网上搜的大多数文章都说是用ntp方式建立一个ntp服务端,然后在客户端用ntpdate命令来和这台服务器同步时间的,而且比较权威的《鸟哥私房菜》这篇文章中也并没有提到不让用ntpdate命令和它的毁灭性危害,按说如果ntpdate命令有这么严重的危害不应该不提啊。然后在网上有人说红帽子官网解释如果程序员用ntpdate去同步时间的话,那么这个程序员可以被开除了(但是我并没有找到,如果真这是这样的话那真是有一定的权威性了,如果大家有找到的分享一下链接呗)。我目前也不知道这篇文章作者的观点是对是错,因为没有真正在生产环境中测试它是否会有这么严重的危害,有机会再试试吧。

Debian8.6设置NTP时间同步

Debian系统的时间可能由于长时间忘了矫正,而变得慢了几分钟。使用Debian上的NTP客户端可以很好的使Debian系统的时间,与国际NTP服务器的时间同步,保证Debian系统时间的准确性。
       使用root用户登录Debian系统,然后使用“apt-cache search ntpdate”查看本地源中是否包含ntpdate软件。如果包含可以进行下一步,如果不包含,请跟换其他的源地址并重新更新源。重新搜索确认ntpdate是否存在。

使用“apt-get install ntpdate”命令,安装ntpdate软件。如果出现下图所示结果即表示安装成功。

对于Debian的系统时间与NTP服务器时间同步,必须要有一个NTP服务器的IP地址。我这里用的是202.120.2.101(上海交通大学网络中心)
        使用“ntpdate 202.120.2.101”命令即可同步NTP服务器时间(在你虚拟机能上外网的情况下,如果不会整可以看我的这篇文章http://blog.csdn.net/m0_37739193/article/details/77144148)。

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值