Linux运维工程师面试宝典Word文档格式.docx
《Linux运维工程师面试宝典Word文档格式.docx》由会员分享,可在线阅读,更多相关《Linux运维工程师面试宝典Word文档格式.docx(18页珍藏版)》请在冰点文库上搜索。
第二次握手:
服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次
第三次握手:
客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
rip路由信息协议和ospf链路状态路由协议
rip协议是距离矢量路由选择协议,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。
ospf协议是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。
igrp是cisco专属路由协议,以AS号作为配置参数,所有routers使用相同的as号来共享路由信息,防止路由选择环路的机制:
水平分割,破坏逆转更新,保持定时器,触发更新
eigrp是Cisco专有的混合型协议,是无类别路由协议,EIGRP是1种无分类(classless),增强的距离向量路由协议,和IGRP类似,EIGRP也使用AS,但是和IGRP不同的是,EIGRP在它的路由更新信息中要包含子网掩码的信息.这样,在我们设计的网络的时候,就允许我们使用VLSM和summarization.EIGRP有时候也算是混合型路由协议,因为它同时具有了距离向量路和链路状态的一些特征:
比如它不像OSPF那样发送链路状态包而发送传统的距离向量更新;
EIGRP也有链路状态协议的特征比如它在相邻router启动的时候同步路由表,然后只在拓扑结构发生变化的时候发送一些更新.这样就使得EIGRP能够很好的在1个大型网络中工作
边界网关协议(BGP)是运行于TCP上的一种自治系统的路由协议。
BGP是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。
BGP构建在EGP的经验之上。
BGP系统的主要功能是和其他的BGP系统交换网络可达信息。
网络可达信息包括列出的自治系统(AS)的信息。
这些信息有效地构造了AS互联的拓朴图并由此清除了路由环路,同时在AS级别上可实施策略决策。
BGP特征
1.用属性(Attribute)描述路径,而不是用度量值;
2.使用TCP(端口179)作为传输协议,继承了TCP的可靠性和面向连接的特性;
3.通过Keepalive信息来检验TCP的连接;
4.具有丰富的属性特征,方便实现基于策略的路由;
5.拥有自己的BGP表;
6.支持VLSM和CIDR;
7.适合在大型网络中使用。
内部网关基本都用ospf、eigrp
外部网关都用is-is、bgp
RIP、IGRP、EIGRP、OSPF、IS-IS、BGP等
路由协议的作用是生成路由表,并维护路由表。
按照路由协议的工作原理可分为:
距离矢量路由协议和链路状态路由协议。
按照工作范围可分为:
内部网关路由协议和外部网关路由协议。
按照路由更新时是否携带子网掩码可分为:
有类别的路由协议和无类别路由协议。
LINUX引导过程
Bios—》硬盘—》lilo或grub引导linux—》引导内核—》执行init调用rc.sysinit和rc—》rc.sysinit和rc完成系统初始化和运行服务返回init—》启动mingetty后提供用户登录系统
进程优先级
niceness的范围一般从-20到19,-20表示调度优先级最高,19表示优先级最低
linux服务器性能评估与优化
Cpu
sar-u0
memory
sar-r0
disk
sar-d0
Apache服务器的优化之模式设置
服务器的优化
(MPM:
Multi-ProcessingModules)
apache2主要的优势就是对多处理器的支持更好,在编译时同过使用–with-mpm选项来决定apache2的工作模式。
如果知道当前的apache2使用什么工作机制,可以通过httpd-l命令列出apache的所有模块,就可以知道其工作方式:
perfork进程模式(占用内存大):
ps-ef|grephttp|grep-vgrep|wc-l
worker线程模式:
pstree-a|grephttpd|wc-l
NGINX负载均衡算法
第一种:
轮询
upstreamtest{
server192.168.0.1:
3000;
3001;
}
第二种:
权重
server192.168.0.1weight=2;
server192.168.0.2weight=3;
这种模式可解决服务器性能不等的情况下轮询比率的调配
第三种:
ip_hash
ip_hash;
server192.168.0.1;
server192.168.0.2;
这种模式会根据来源IP和后端配置来做hash分配,确保固定IP只访问一个后端
第四种:
fair
需要安装UpstreamFairBalancer
Module
fair;
这种模式会根据后端服务的响应时间来分配,响应时间短的后端优先分配
第五种:
自定义hash
需要安装UpstreamHash
hash$request_uri;
这种模式可以根据给定的字符串进行Hash分配
Nagios如何监控Linux机器
NRPE总共由两部分组成:
(1).check_nrpe插件,运行在监控主机上。
(2).NRPEdaemon,运行在远程的linux主机上(通常就是被监控机)
按照上图,整个的监控过程如下:
当Nagios需要监控某个远程linux主机的服务或者资源情况时:
1).nagios会运行check_nrpe插件,我们要在nagios配置文件中告诉它要检查什么.
2).check_nrpe插件会通过SSL连接到远程的NRPEdaemon.
3).NRPEdaemon会运行相应的nagios插件来执行检查本地资源或服务.
4).NRPEdaemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理.
注意:
NRPEdaemon需要nagios插件安装在远程被监控linux主机上,否则,daemon不能做任何的监控.
CACTI
1.cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。
因此,snmp和rrdtool是cacti的关键。
Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
2.Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:
主机名、主机ip、snmp团体名、端口号、模板信息等变量。
3.snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。
rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(RoundRobinArchive),它能够存储的数据笔数在创建时就已经定义。
[lvs]
学习LVS的三种模式
VS/NAT通过NAT实现虚拟服务器
VS/TUN通过IP隧道实现虚拟服务器
VS/DR通过直接路由实现虚拟服务器
VirtualServerviaNAT(VS-NAT):
用地址翻译实现虚拟服务器。
地址转换器有能被外界访问到的合法IP地址,它修改来自专有网络的流出包的地址。
外界看起来包是来自地址转换器本身,当外界包送到转换器时,它能判断出应该将包送到内部网的哪个节点。
优点是节省IP地址,能对内部进行伪装
缺点是效率低,因为返回给请求方的流量经过转换器
VirtualServerviaIPTunneling(VS-TUN):
用IP隧道技术实现虚拟服务器。
这种方式是在集群的节点不在同一个网段时可用的转发机制,是将IP包封装在其他网络流量中的方法。
为了安全的考虑,应该使用隧道技术中的VPN,也可使用租用专线。
集群所能提供的服务是基于TCP/IP的Web服务、Mail服务、News服务、DNS服务、Proxy服务器等等.
VirtualServerviaDirectRouting(VS-DR):
用直接路由技术实现虚拟服务器。
当参与集群的计算机和作为控制管理的计算机在同一个网段时可以用此法,控制管理的计算机接收到请求包时直接送到参与集群的节点。
优点是返回给客户的流量不经过控制主机,速度快开销少。
LVS算法
1.轮叫调度(RoundRobin)
调度器通过“轮叫”调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载。
2.加权轮叫(WeightedRoundRobin)
调度器通过“加权轮叫”调度算法根据真实服务器的不同处理能力来调度访问请求。
这样可以保证处理能力强的服务器能处理更多的访问流量。
调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。
3.最少链接(LeastConnections)
调度器通过“最少连接”调度算法动态地将网络请求调度到已建立的链接数最少的服务器上。
如果集群系统的真实服务器具有相近的系统性能,采用“最小连接”调度算法可以较好地均衡负载。
4.加权最少链接(WeightedLeastConnections)
在集群系统中的服务器性能差异较大的情况下,调度器采用“加权最少链接”调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。
5.基于局部性的最少链接(Locality-BasedLeastConnections)
“基于局部性的最少链接”调度算法是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。
该算法根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;
若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用“最少链接”的原则选出一个可用的服务器,将请求发送到该服务器。
6.带复制的基于局部性最少链接(Locality-BasedLeastConnectionswithReplication)
“带复制的基于局部性最少链接”调度算法也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。
它与LBLC算法的不同之处是它要维护从一个目标IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。
该算法根据请求的目标IP地址找出该目标IP地址对应的服务器组,按“最小连接”原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器;
若服务器超载,则按“最小连接”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。
同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。
7.目标地址散列(DestinationHashing)
“目标地址散列”调度算法根据请求的目标IP地址,作为散列键(HashKey)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
8.源地址散列(SourceHashing)
“源地址散列”调度算法根据请求的源IP地址,作为散列键(HashKey)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
TRACERT
SHELL监控
主机:
磁盘容量、主机存活、负载、wget语义检查、带宽检查、进程存活
NAGIOS监控
域名解析时间、http访问时间、mysql同步时间差、pop3、smtp访问时间、应用端口的访问时间
CACTI监控
除日常监控外,还有MYSQL状态监控(索引、查询量、keybuffer、查询缓存)
ZABBIX监控
最大进程数、内存、SWAP、CPU、磁盘、MYSQL操作
linux下如何添加路由
解答:
route命令方法:
主机路由:
/sbin/routeadd-host192.168.2.13deveth2
/sbin/routeadd-host202.81.11.91devlo
缺省网关路由:
/sbin/routeadddefaultgw192.168.1.254
/sbin/routeadddefaultgw202.11.11.1
网络路由去往某一网络:
/sbin/routeadd-net192.168.100.0netmask255.255.255.0deveth0//通过eth0设备去连接
/sbin/routeadd-net10.8.0.0
netmask255.255.255.0gw192.168.1.90
/sbin/routeadd-net0.0.0.0
netmask0.0.0.0gw203.84.12.1
查看:
route-n
删除:
routedel
iproute命令方法:
增加路由,主要是本机可以沟通的网段
iprouteadd192.168.5.0deveth0
增加可以通往外部的路由,需通过router
iprouteadd192.168.10.0/24via192.168.5.100deveth0
增加默认路由
iprouteadddefaultvia192.168.1.2deveth0
iprouteshow
iproutedel192.168.10.0/24
处理以下文件内容,将域名取出并进行计数排序,如处理
oldboy.log
http:
//www.etiantian.org/index.html
//www.etiantian.org/1.html
//post.etiantian.org/index.html
//mp3.etiantian.org/index.html
//www.etiantian.org/3.html
//post.etiantian.org/2.html
awk-F"
/"
'
{print$3}'
oldboy.log|sort|uniq-c
raid0
RAID0:
无差错控制的带区组
将一个数据分为两份分别放在两块硬盘上。
不需要计算校验码。
raid1
RAID1:
镜象结构
类似于备份模式,一个数据被复制到两块硬盘上。
raid10
RAID10:
高可靠性与高效磁盘结构
一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充。
主要用于容量不大,但要求速度和差错控制的数据库中。
raid5
RAID5:
分布式奇偶校验的独立磁盘结构
一、有文件file1
1、查询file1里面空行的所在行号
grep^$file
2、查询file1以abc结尾的行
grepabc$file1
3、打印出file1文件第1到第三行
sed-n'
1,3p'
head-3file1
二、如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.2.1
iptables-APREROUTING
-d192.168.2.1-ptcp-mtcp--dport80-jDNAT--to-destination10.0.0.18:
9000
三、crontab
在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh怎么实现
06-12/2*11*/usr/bin/httpd.sh
(crontab:
分时日月星期)
四、编写个shell脚本将/usr/local/test目录下大于100K的文件转移到/tmp目录下
ls-laa.txt|awk'
{print$5}'
===============================
#!
/bin/bash
forfilein`ls${DIR}`
do
if[`ls-l${file}|awk'
`>
1000]then
mv$file/tmp
fi
done
mysql同步原理
MYSQL复制进行时,在master上执行的语句会记录到bin.log里面,日志的位置和数字,当有变化放生时,slave会通过一个io进程读取master的二进制log,发现有变化时候,会把新的变化复制到他的relay.log,会记录行的位置和数字到一个新的文件叫master.info,继续检查master的二进制log,当slave的sql进程发现在relay.log里有变化时候会执行,同时slave也会通过sql进程去对比master和slave的变化,如果对比发现不一致,复制进程会停止并把错误信息计入slave的error.log,如果结果能对的上,一个新的日志的位置和数字会记录到relay-log.infoslave会等另外一个变化到relaylog文件。
MYSQL
MySQLbinlog日志格式(Mixed,Statement,Row)
MySQL5.5中对于二进制日志(binlog)有3种不同的格式可选:
Mixed,Statement,Row,默认格式是Statement。
总结一下这三种格式日志的优缺点。
MySQLReplication复制可以是基于一条语句(StatementLevel),也可以是基于一条记录(RowLevel),可以在MySQL的配置参数中设定这个复制级别,不同复制级别的设置会影响到Master端的bin-log日志格式。
1.R