LVS-DR模型:基于直接路由的web服务
基本的原理:用户的ip为CIP,中间有个交换机,用户请求VIP,在Directory上有VIP和DIP,DIP是连接Realserver的ip地址,Directory只管进站的请求,不管出站的请求,在上面要做限定广播。每个Realserver都有自己的RIP,同时也有一个VIP以回应用户的请求,在此要配置广播隔离,即当用户请求时通过Directory到达某个Realserver时由Realserver直接回应给用户,不经过Directory。
由于RIP和VIP及DIP在同一个物理网段,在ARP广播是是每个Realserver都能收到,回应是都有,为了解决这个问题,设置Directory能接收到,而Realserver不能收到广播,再由Directory根据调度算法分给那个Realserver。arp_ignore定义不同的模型,如何响应ARP请求的ip地址,默认0都响应,1仅在请求目的地址在本地主机通过该网卡则不响应。
arp_announce默认是0,都能通告,1避免使用响应,2使用本地接口响应VIP:172.16.6.6
DIP:172.16.6.1 RIP:172.16.6.7 172.16.6.8前提:
每个服务器装好MySQL,yum源要有集群的注意:
1、每个服务器的网卡是桥接的 2、RIP和DIP必须在同一个物理网段 3、RIP的网关一定不能指向DIP 4、DIP不能做端口映射 5、若网页打不开,查看虚拟机的防火墙是否关闭Directory服务器的配置:
1、同步时间 hwclock -s2、安装ipvsadm
yum install ipvsadm3、设置ip地址
DIP:172.16.6.1即eth0的ip 向外提供服务的ip即VIP:172.16.6.6,限定广播 ifconfig eth0:1 172.16.6.6 broadcast 172.16.6.6 netmask 255.255.255.255 up ifconfig查看4、添加路由
route add -host 172.16.6.6 dev eth0:1 route -n查看5、配置集群服务,添加realserver
ipvsadm -A -t 172.16.6.6:80 -s wlc ipvsadm -a -t 172.16.6.6:80 -r 172.16.6.7 -w 2 ipvsadm -a -t 172.16.6.6:80 -r 172.16.6.8 -w 1 ipvsadm -L -n查看 Realserver服务器的配置: 1、同步时间 hwclock -s2、安装ipvsadm,httpd
yum install ipvsadm httpd3、添加网页
vim /var/www/html/index.html <h1> web1 </h1>4、重启httpd服务
service httpd restart5、配置广播隔离
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce6、配置ip地址
RIP:172.16.6.7即eth0 ifconfig lo:0 172.16.6.6 broadcast 172.16.6.6 netmask 255.255.255.255 up7、添加路由
route add -host 172.16.6.6 dev lo:0 ifconfig查看8、为另一台Realserver配置相同的配置
9、在客户端验证,请求的ip地址为172.16.6.6
ipvsadm的其他用法:
ipvsadm -L -n以数字方式查看集群的信息 ipvsadm -L -n --rate显示速率 ipvsadm -L -n --stats统计数据包近来出去的个数和字节数