简介 1,LVS群集是针对Linux内核开发的一个负载均衡项目,基于IP地址虚拟化应用VIP,为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决办法。可使用ipvsadm管理工具。通过整合多台相对廉价的普通服务器,以同一个地址对外提供相同的服务。 2,负载均衡的直接路由工作模式。简称DR工作模式,负载调度器仅作为客户机的访问入口,各节点服务器与调度器位于同一个物理网络,节点服务器直接回应客户机的请求,而不再经过负载调度器。 服务配置: 服务器主机 共同VIP 192.168.30.111
rs1=192.168.199.143 rs2=192.168.199.241 mask=255.255.255.255 网卡名为;ens33

配置服务主机: vim /usr/local/sbin/lvs_dr.sh 编写脚本:


echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/sbin/ipvsadm
dip=192.168.199.122
vip=192.168.199.222
rs1=192.168.199.141
rs2=192.168.199.142
ifconfig ens33:0 down
ifconfig ens33:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev ens33:0
$ipv -C
$ipv -A -t $vip:80 -s wrr 
$ipv -a -t $vip:80 -r $rs1:80 -g -w 3
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1

配置两台rs: vim /usr/local/sbin/lvs_dr_rs.sh


vip=192.168.199.222
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
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_announce

**关闭防火墙 **

systemctl stop firewalld
setenforce 0

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

**lvs/nat模式 **

CIP: windows 客户端IP VIP: director 外网IP 这里用桥接模式 DIP: director 内网IP 和realserver在同一个网段 ,注意realserver的网关地址要配置成 DIP

RIP1 : realserver 的ip 和DIP 一个网段 RIP2

两台web服务器改成静态IP NM_CONTROLLED=no

IPADDR=192.168.199.158

NETMASK=255.255.255.0

GATEWAY=192.168.199.159 #两个网卡的 NAT IP

director配置: yum -y install ipvsadm

vim /usr/local/sbin/lvs_nat.sh 编辑写入如下内容:

                                         #director服务器上开启路由转发功能:

echo 1 > /proc/sys/net/ipv4/ip_forward # 关闭 icmp 的重定向 echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects #ech0 改成ens33 echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects #eth1 改成ens37

systemctl stop firewalld setenforce 0 systemctl stop iptables

                                             # director设置 ipvsadm

IPVSADM='/sbin/ipvsadm' $IPVSADM -C $IPVSADM -A -t 192.168.199.111 -s wrr //换成你的桥接IP
$IPVSADM -a -t 192.168.199.111:80 -r 192.168.199.141:80 -m -w 1 $IPVSADM -a -t 192.168.199.111:80 -r 192.168.199.141:80 -m -w 1

				                               		# 后面IP换成你的realserverIP 

执行上面脚本 然后查看是否成功 ipvsadm -ln : 查看

两台realserver操作:

配置IP  , 注意 GATEWAY 配置成 director 的内网IP   DIP

yum -y install httpd
启动 systemctl start httpd


cd   /var/www/html
编辑 vim index.html  

    #编辑随便吧

两台机器注意  写的不一样 ,便于观察效果 

防火墙 selinux关闭 

最后 windows客户端访问 VIP

看到页面后 ,观察是哪一台realserver的页面 将这台机器的httpd服务停掉,在 用浏览器访问 看是否切换到另一台机器的页面

ctrl + f5 可以强制刷新浏览器 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

常见的四种算法: rr      轮询算法,它将请求依次分配给不同的节点,各个节点均摊分配。这种算法简单,但只适合各个节点处理性能差不多的情况。 wrr   加权轮训调度,它将依据不同节点的权值分配任务。权值较高的节点将优先获得任务,并且分配到的连接数将比权值低的节点更多。相同权值的节点得到相同数目的连接数。 lc      最小连接数调度,IPVS表存储了所有活动的连接。Lvs服务器会比较将连接请求发送到当前连接最少的节点。 wlc   加权最小连接数调度,在节点性能差异较大的时候,可以为节点自动调整权重,权重较高的节点承担更大比例的连接。