标签:执行 UNC 客户端 alived 优先 back ges proc opd
LVS负载均衡群集其中之一:LVS-DR加上keepalive可实现稳定以及可靠的负载均衡;##实验环境:
服务器 | 系统环境 | IP地址 | 所需服务 |
---|---|---|---|
主调度 | centos7 | 192.168.200.201 | keepalived+ipvsadm |
从调度 | centos7 | 192.168.200.202 | keepalived+ipvsadm |
节点web1 | centos7 | 外:192.168.200.221 内192.168.100.101 | httpd+NFS |
节点web2 | centos7 | 外:192.168.200.222 内192.168.100.102 | httpd+NFS |
NFS存储 | centos7 | 192.168.100.111 | NFS |
主从调度服务器在LVS调度服务配置基本相同,主要区别在于实现keepalive时配置有所区别,对于区别处,文中有注明。
主调度服务器
#yum install keepalived ipvsadm -y //安装所需软件
#vim /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
//proc响应关闭重定向功能
#sysctl -p //对上述修改立即生效
#cd /etc/sysconfig/network-scripts/
#cp ifcfg-ens33 ifcfg-ens33:0 //设置虚拟网卡
#vim ifcfg-ens33:0
//删除全部原有内容,写入以下内容
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.200.10
NETMASK=255.255.255.0
#ifup ens33:0 //启动虚拟网卡
#cd /etc/init.d/
#vim dr.sh
#!/bin/bash
GW=192.168.200.1
VIP=192.168.200.10
RIP1=192.168.200.221
RIP2=192.168.200.222
case "$1" in
start)
/sbin/ipvsadm --save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
/sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up
/sbin/route add -host $VIP dev ens33:0
/sbin/ipvsadm -A -t $VIP:80 -s rr
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
echo "ipvsadm starting --------------------[ok]"
;;
stop)
/sbin/ipvsadm -C
systemctl stop ipvsadm
ifconfig ens33:0 down
route del $VIP
echo "ipvsamd stoped----------------------[ok]"
;;
status)
if [ ! -e /var/lock/subsys/ipvsadm ];then
echo "ipvsadm stoped---------------"
exit 1
else
echo "ipvsamd Runing ---------[ok]"
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
#chomd +x dr.sh //增加执行权限
#service dr.sh start //启动调度服务
#systemctl stop firewalld.service //关闭防火墙
#setenforce 0
从调度服务器配置与主调度服务器配置完全相同,只是若遇到启动ifup ens33:0 报错失败的情况,只需将网卡重新启动,然后再次ifup即可。
#cd /etc/keepalived/
#vim keepalived.conf //编辑keepalive主配置文件
global_defs {
...
smtp_server 127.0.0.1 //指向本地
router_id LVS_01 //指定名称,备份服务器不同名称
...
}
vrrp_instance VI_1 {
state MASTER //备份服务器是BACKUP
interface ens33 //接口按照系统修改
virtual_router_id 10 //组号相同
...
auth_pass abc123 //验证密码
priority 100 //优先级备份小于主
...
virtual_ipaddress {
192.168.100.10 //虚拟IP地址
}
...
virtual_server 192.168.200.10 80 {
delay_loop 6
lb_algo rr
lb_kind DR //采用DR直连路由模式
persistence_timeout 50
protocol TCP
...
real_server 192.168.200.221 80 { //真实节点服务器IP地址
weight 1
TCP_CHECK { //TCP健康检查方式
connect_port 80 //删除URL地址部分,添加端口
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.200.222 80 {
weight 1
TCP_CHECK {
connect_port 80 //添加端口
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
...
#systemctl start keepalived //启动keepalive服务
#ip addr show dev ens33:0 //查看虚拟网卡
从调度服务器的keepalive配置方式同主调度服务器,需要区分的地方已经注明。
节点服务器web1
#systemctl stop firewalld.service
#setenforce 0
#yum install httpd -y //安装httpd服务
#echo "this is first web" > /var/www/html/index.html //创建首页,为了区别,web2首页需不同
用于仅接受调度服务器所需请求。
#cd /etc/sysconfig/network-scripts
#cp ifcfg-lo ifcfg-lo:0
#vim ifcfg-lo:0
DEVICE=lo:0 //删除原有内容,写入以下内容
IPADDR=192.168.200.10 //虚拟IP
NETMASK=255.255.255.255
ONBOOT=yes
#cd /etc/init.d/
#vim web.sh //编写服务脚本,方便管理
#!/bin/bash
VIP=192.168.200.10
case "$1" in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
/sbin/route add -host $VIP dev 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
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK "
;;
stop)
ifconfig lo:0 down
route del $VIP /dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stopd"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
#chmod +x /etc/init.d/web.sh
#ifup lo:0 //启动虚拟网卡
#service web.sh start //启动服务
节点服务器web2
配置方式同web1,唯一区别是为了实验方便得出结论,采用不同首页。
当客户端多次请求
当主调度服务器无法工作时
这里为了简化操作,直接将主调度服务器关机,达到模拟主调度服务器无法工作情况。然后继续使用客户端访问。
标签:执行 UNC 客户端 alived 优先 back ges proc opd
原文地址:http://blog.51cto.com/13659253/2132991