简介
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 加权最小连接数调度,在节点性能差异较大的时候,可以为节点自动调整权重,权重较高的节点承担更大比例的连接。