🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# LVS部署实践-ipvsadm [TOC] ## 一、环境规划 准备4台安装好CentOS7.4系统的虚拟机,内存512M。所有虚拟机的防火墙和Selinux关闭.主机名及IP地址关系如下: | **主机名称规划** | **外网ip(nat)** | **内网ip(nat)** | | ---------------- | ----------------- | ------------------ | | **lb03** | **10.0.0.15/24** | **172.16.1.15/24** | | **lb04** | **10.0.0.16/24** | **172.16.1.16/24** | | **web03** | **10.0.0.17/24** | **172.16.1.17/24** | | **web04** | **10.0.0.18/24** | **172.16.1.18/24** | web03和web04安装web软件,并满足下面条件: `curl http://10.0.0.17/`页面底部得到结果为web03 `curl http://10.0.0.18/`页面底部得到结果为web04 ## 二、用ipvsadm管理lvs ### 1.安装使用LVS[lb03] ```sh [root@xxx ~]# yum install ipvsadm -y [root@xxx ~]# ipvsadm [root@xxx ~]# lsmod|grep ip_vs ip_vs 141092 0 nf_conntrack 111302 1 ip_vs libcrc32c 12644 2 xfs,ip_vs ``` ### 2.配置LVS负载均衡服务[lb03] 1)绑定vip ```sh ip addr add 10.0.0.13/24 dev eth0 ``` 2)配置ipvsadm 清除当前所有LVS规则(-C) 设置tcp、tcpfin、udp链接超时时间(--set) 添加虚拟服务(-A),调度算法见`man ipvsadm` 将虚拟服务关联到真实服务上(-a) 查看配置结果(-ln) ```sh ip addr add 10.0.0.13/24 dev eth0 ipvsadm -C ipvsadm --set 30 5 60 ipvsadm -A -t 10.0.0.13:80 -s wrr -p 20 ipvsadm -a -t 10.0.0.13:80 -r 10.0.0.17:80 -g -w 1 ipvsadm -a -t 10.0.0.13:80 -r 10.0.0.18:80 -g -w 1 ipvsadm -ln ``` ### 3.web服务器配置 1)lo网卡绑定VIP ```sh ip addr add 10.0.0.13/32 dev lo ``` 2)修改内核参数抑制APR响应 ``` cat >>/etc/sysctl.conf<<EOF net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 net.ipv4.conf.lo.arp_ignore = 1 net.ipv4.conf.lo.arp_announce = 2 EOF sysctl -p ``` 以上设置完成后,就可以在web界面进行操作并验证了