本文共 2061 字,大约阅读时间需要 6 分钟。
LVS虽然性能强大,但是有的功能确实比较弱,比如对后端服务器的监测是没有做任何检查的
如果后端的RS全部宕机了 现在就全访问不了了 常见的设置是,可以补一个策略 现在想实现一个功能,加上这个设置,当访问服务器的时候,如果所有服务器宕机,就加一个socketserver(就是所有服务器宕机了,就拿这个机器来道个歉,服务器对应的网站没有跑路,只是在维护,sorry server服务器,可以是lvs服务器自己做 可以通过这个软件来实现 ldirectord可以做到监控后端服务器的状态,后端服务器出故障可以补往那里去调度,直接去lvs的调度列表中把出故障的服务器的那条规则删除,这样就不会往那里去调度 了 需要安装包,epel源里没有,网上找 ftp查出 在lvs服务器上安装包 MHA包也是perl语言 ldirectord。cf=配置文件的模板,复制到ha,d下 现在可以进行修改 这个设置就是检查后端rs的状态的 先启动rs 三秒超时 一秒检查一次 就是1秒钟一次检查后面服务器是否是活动的,如果发现访问不了,这时候就认为出故障了 先把之前设置的删除 这是代表是否配置文件设置了以后自动加载 autoreload=yes 第一次需要启动服务器,修改配置后,自动加载 启动日志功能 如果都宕机了,就准备了sorry server来服务,就把自己LVS作为sorry server 这项是代表发现宕机如何处理,可以是删除那条规则,不去调度, 也可以把权重设置为0,权重最低也就不往那里调度了 yes是删除 no是设置权重为0 先把ipvsadm规则清楚,因为之前是用命令,现在用ldirectord来定义规则 gate代表dr模型,-m是masqured nat模型,后面可以跟权重 检查端口,将来检查后端服务器的健康性,就用对方服务器的端口80, 知道宕机没宕机就去访问index。html,如果能看到返回的字符串,就认为这个页面是正常的 如果没看到rs的字样,就认为是宕机了 后面的就可以删除了 修改配置以后重启服务 根据配置文件定义的规则会自动生成ipvs规则 已经可以了 现在可以不手动配置ipvs规则,只要把ldirectord配置文件改改 现在把一台机器宕机 现在17这个机器就不在了 就一直往rs2上调度了 另外一个全部宕机 sorryserver上线了 访问不了,是因为瞎配置了一个网关 修改lvs服务器网关 涉及为开机启动 vip是通过脚本加的,要想开机启动就放到rc.local 策略是通过ldirectord加的 老sorry不行,还需要上线一个 这个时候就不应该sorry了 这个时候会发现后端服务器遇到大量日志,因为lvs是一秒访问一次 这个是基于端口号,现在来实现防火墙标签的 要想保存还需要记住iptables的保存规则 现在需要修改ldirectord规则,再重新复制一次 换一种语法,基于防火墙标签的语法 protocol=fwm表示基于 防火墙标签实现的 现在只有rs1能够访问,rs2处于宕机状态 启动rs2服务 两个服务器就上线了 现在就可以轮询了 试试sorry server是否成功,把两个机器都宕机了 没有自动加成功 手动加一个 就可以了 再上线一个机器,就不报错了 改成yes试试 】不删除了,只是把权重设置为0 ldirectord可以实现服务器的健康性检查 当后端rs宕机,就不往那里调度,往好的rs调度,就实现了监控性检查,但是现在仍存在巨大问题, lvs存在单点失败问题 就需要用到keepalived lvs功能主要起到调度效果 nginx既可以做web服务器,也可以起到调度作用 lvs实现不了看url调度,只针对传输层的 (强大到可以支持应用层的调度 nginx不是特别专业(既可以web又可以做反向代理服务器,功能多,但是有些地方不是做得很好) ,更专业的haproxy,专门做调度集群服务的 、 用户再0-1秒内打开页面是很开心的 再1-3秒。还可以接收 10秒都打不开 1-3-10原则,是腾讯工程师提出来的 httpd三种工作模型,事实上,做起实验来,没有多大改善性能 nginx为什么比apache性能好,就是因为这些底层的东西 面试只要侃住就可以了 **可以做调度也可以做代理 lvs抓包抓过,nat还是dr模型。作为后端的rs看到的都是客户端访问,中间发lvs服务器并没有代替客户端来访问 反向代理,客户端访问反向代理服务器的时候,反向代理服务器会把报文截住,会替你到后面去抓数据,后端的rs会认为是nginx反向代理服务器再访问它(会把数据报文拆开了,以太网报文头部,ip报文头部,传输层报文头不,应用层报文头部,全部拆开,把数据报文再封装自己的报文头部,应用层报文,传输层,封装自己新的ip报文头部,包括数据链路层,再给你发送过去,这时候反向代理就真是代理的效果和lvs不一样 代理工作压力比较大,所以lvs性能较好 **lvs转到nginx转载地址:http://nfkgn.baihongyu.com/