LVS(Linux Virtual Server),Linux虚拟服务器,是一个虚拟的服务器集群系统。是使用集群技术和Linux操作系统实现的一个高性能、高可用的服务器。
1.LVS DR模式:
DR模式,即(Direct Routing)直接路由模式
工作过程: 当一个client发送一个WEB请求到VIP(调度器),LVS服务器根据VIP选择对应的real-server的Pool,根据算法,在Pool中选择一台Real-server,LVS在hash表中记录该次连接,然后将client的请求包发给选择的Real-server,最后选择的Real-server把应答包直接传给client;当client继续发包过来时,LVS根据更才记录的hash表的信息,将属于此次连接的请求直接发到刚才选择的Real-server上;当连接中止或者超时,hash表中的记录将被删除。 client(cip->vip) DR( cip->vip;转换mac地址为RS的MAC地址) RS将最后的结果返回给client。
注意:LVS和Real-server必须在相同的网段:(相同的广播域内)
DR模式在转发client的包时,只修改了包目的MAC地址为选定的Real-server的mac地址,所以如果LVS和Real-server在不通的广播域内,那么Real-server就没办法接收到转发的包。
在三种方式中DR最为高效,NAT性能最低;
DR模式数据流过程:
1.ipvsadm:
ipvs称之为IP虚拟服务器(IP Virtual Server,简写为IPVS),是运行在LVS下的提供负载平衡功能的一种技术。Ipvs具体实现是由ipvsadm这个程序来完成;
1-1:下载ipvsadm,默认配置策略文件 /etc/sysconfig/ipvsadm-config;
1-2:使用 ipvsadm -ln 来查看策略; 在调度器上:设定虚拟ip,指定轮循方式(ipvsadm -A -t 172.25.12.100:80 -s rr); 添加真实服务器:ipvsadm -a -t 172.25.12.100:80 -r 172.25.12.2:80 -g ,ipvsadm -a -t 172.25.12.100:80 -r 172.25.12.3:80 -g;添加完成后重启服务;
1-3:在真实服务器RS上(server2,server3)安装httpd服务,开启并创建默认发布目录;
1-4:在真实主机上curl 172.25.12.100 测试调度器:由于RS上没有相应对应的172.25.12.100 ,tcp三次挥手不能正常完成,curl失败,但 在 调度器中ipvsadm -ln 可以看见 调度器能正常使用;
调度次数分别为:3和4:
1-5:在RS真实服务器中添加vip后,调度器可以正常使用:
注:此时调度器和RS(真实服务器)都有172.25.12.100 ,