zoukankan      html  css  js  c++  java
  • LVS负载均衡集群

    实验一:负载均衡集群企业级应用实战-LVS-nat模式:

    一、环境准备:一台centos系统做DR、两台实现过基于LNMP的电子商务网站

    机器名称 IP配置服务角色备注

    lvs-server VIP:172.17.252.91 负载均衡器开启路由功能(VIP桥接、DIP仅主机)

    DIP:192.168.59.131

    lnmp-server01 RIP:192.168.59.133 后端服务器 网关指向DIP(仅主机)

    lnmp-server02 RIP:192.168.58.134 后端服务器 网关指向DIP(仅主机)

    先测试一下两台后端服务器都可以正常打开网站

    飞飞私塾:LVS负载均衡集群

    飞飞私塾:LVS负载均衡集群

    二、安装步骤:

    1.yum install ipvsadm -y #在LVS-server安装lvs管理软件

    飞飞私塾:LVS负载均衡集群

    2、grep -i -C 10 "ipvs" /boot/config-VERSION-RELEASE.x86_64,#查看内核是否支持ipvs模块

    飞飞私塾:LVS负载均衡集群

    3、iptables -F && setenforing 清空防火墙策略,关闭selinux

    三、配置基于NAT模式的LVS负载均衡集群:

    lvs-server配置

    1、ipvsadm -A -t 172.17.252.91:80 -s wrr

    #开启一个基于80端口的虚拟服务,调度方式为wrr

    2、ipvsadm -a -t 172.17.252.91:80 -r 192.168.59.133:80 -m -w 1

    #配置web服务后端realserver01为nat工作方式 权重为1

    3、ipvsadm -a -t 172.17.252.91:80 -r 192.168.59.134:80 -m -w 1

    #配置web服务后端realserver02为nat工作方式 权重为1

    配完之后可以用ipvsadm-L -n查看一下

    飞飞私塾:LVS负载均衡集群

    4、修改内核配置,开启路由转发

    vim/etc/sysctl.conf 编辑配置文件,添加net.ipv4.ip_forward=1

    飞飞私塾:LVS负载均衡集群

    保存退出后,运行sysctl -p 使其生效

    飞飞私塾:LVS负载均衡集群

    real server配置

    配置网关指向192.168.59.131,开启web、php-fpm、mysql服务

    route add default gw 192.168.59.131

    飞飞私塾:LVS负载均衡集群

    server01、server02都配上这句代码

    四、LVS集群部署和验证

    1、可分别在rs1和rs2建立2个不同内容,统一路径的test.html测试文件,测试负载均衡功能

    2、打开http://VIP/index.php ,并在director上用ipvsadm -L -n观察访问连接

    3、用另外一台测试机,用ab压力测试工具,测试经过负载均衡后的服务器容量

    4、总结整体实验过程,并写成博客

    实验二:负载均衡集群企业级应用实战-LVS-DR模式:

    一、环境准备:一台centos系统做DR、三台实现过基于LNMP的电子商务网站

    机器名称 IP配置服务角色备注

    lvs-server VIP:172.17.250.121 负载均衡器开启路由功能(VIP桥接、DIP仅主机)

    DIP:192.168.59.131

    lnmp-server01 RIP:172.17.251.179 后端服务器 网关指向DIP(桥接)

    lo:VIP:172.17.250.121

    lnmp-server02 RIP:172.17.253.73 后端服务器 网关指向DIP(桥接)

    lo:VIP:172.17.250.121

    二、安装步骤:

    1.yum install ipvsadm -y #在LVS-server安装lvs管理软件

    2、grep -i -C 10 "ipvs"/boot/config-VERSION-RELEASE.x86_64,#查看内核是否支持ipvs模块

    3、iptables -F && setenforing 清空防火墙策略,关闭selinux

    三、配置基于DR模式的LVS负载均衡集群:

    lvs-server配置:

    1、配置VIP到本地网卡别名

    ifconfigens33:0 172.17.250.121 broadcast 172.17.252.91 netmask 255.255.255.255 up

    #配置VIP到本地网卡eth0:0上,并只广播自己

    routeadd -host 172.17.250.121 dev ens33:0

    #配置VIP路由

    2、ipvsadm -A -t 172.17.250.121:80 -s wrr

    #开启一个基于80端口的虚拟服务,调度方式为wrr

    3、ipvsadm -a -t 172.17.250.121:80 -r172.17.251.179:80-g -w 1

    #配置web服务后端realserver 为DR工作方式 权重为1

    4、ipvsadm -a -t 172.17.250.121:80 -r172.17.253.73:80-g -w 1

    #配置web服务后端realserver 为DR工作方式 权重为1

    配完之后可以用ipvsadm-L -n查看一下

    飞飞私塾:LVS负载均衡集群

    5、修改内核配置,开启路由转发

    #vim /etc/sysctl.conf 修改 net.ipv4.ip_forward=1

    #sysctl -p 使其生效

    real server配置(两台都一样):

    ifconfiglo:0 172.17.250.121 broadcast 172.17.250.121 netmask 255.255.255.255 up

    #配置VIP到本地回环网卡lo上,并只广播自己

    routeadd -host 172.17.250.121 lo:0

    #配置本地回环网卡路由

    echo"1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

    #1 只回答目标IP地址是来访网络接口本地地址的ARP查询请求

    echo"2" >/proc/sys/net/ipv4/conf/lo/arp_announce

    #2 对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址.

    echo"1" >/proc/sys/net/ipv4/conf/all/arp_ignore

    echo"2" >/proc/sys/net/ipv4/conf/all/arp_announce

    #关闭arp应答

    1: 仅在请求的目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应

    2:必须避免将接口信息向非本网络进行通告

    开启web、php-fpm、mysql服务

    四、LVS集群部署和效果验证

    1、可分别在rs1和rs2建立2个不同内容,统一路径的test.html测试文件,测试负载均衡功能

    飞飞私塾:LVS负载均衡集群

    2、打开http://VIP/index.php ,并在director上用ipvsadm -L -n观察访问连接

    3、用另外一台测试机,用ab压力测试工具,测试经过负载均衡后的服务器容量

    飞飞私塾:LVS负载均衡集群

    实现LVS持久连接

    功能:无论ipvs使用何种scheduler,其都能够实现在指定时间范围内始终将来自同一个ip地址的请求发往同一个RS;此功能是通过lvs持久连接模板实现,其与调度方法无关;

    (在上一个DR实验的基础上:)

    iptables -t mangle -APREROUTING -d 172.17.250.121 -p tcp --dport 80 -j MARK--set-mark 99

    #在iptables打上标记,把80端口标记为99

    iptables -t mangle -APREROUTING -d 172.17.250.121 -p tcp --dport 443 -j MARK--set-mark 99

    #在iptables打上标记,把443端口标记为99

    ipvsadm -A -f99 -s wrr -p

    #在lvs上建立基于99号标记的虚拟服务

    ipvsadm -a -f99 -r 172.17.251.179 -g

    ipvsadm -a -f99 -r 172.17.253.73 -g

    #设置后端服务地址

    配完可以查看一下

    飞飞私塾:LVS负载均衡集群

    实现LVS健康状态监测功能

    ldirectord:监控和控制LVS守护进程,可管理LVS规则

    软件包名称:ldirectord-3.9.6-0rc1.1.1.x86_64.rpm

    先下载安装包

    飞飞私塾:LVS负载均衡集群

    将软件包本地安装

    飞飞私塾:LVS负载均衡集群

    软件包组成:

    /etc/ha.d/ldirectord.cf 主配置文件

    /usr/share/doc/ldirectord-3.9.6/ldirectord.cf 配置模版

    /usr/lib/systemd/system/ldirectord.service 服务

    /usr/sbin/ldirectord 主程序

    /var/log/ldirectord.log 日志

    /var/run/ldirectord.ldirectord.pid pid文件

    首先在两个realserver上分别建立ok页面:

    飞飞私塾:LVS负载均衡集群

    然后安装ldirectord,安装好之后查看一下

    飞飞私塾:LVS负载均衡集群

    将模板拷贝到/etc/ha.d/下

    飞飞私塾:LVS负载均衡集群

    然后编辑配置文件

    飞飞私塾:LVS负载均衡集群

    Ldirectord配置文件详解

    checktimeout=3 #超时时间 单位是秒

    checkinterval=1 #检查频率

    autoreload=yes # 此项用来定义ldirectord是否每隔一段时间检查此配置文件是否发生改变并自动重新加载;

    logfile=“/var/log/ldirectord.log“ #日志文件

    quiescent=no #down时yes权重为0,no为删除

    virtual=172.16.0.1 #指定VS的FWM或IP:port

    real=172.16.0.7:80gate 2

    real=172.16.0.8:80gate 1

    fallback=127.0.0.1:80gate #sorry server

    service=http

    scheduler=wrr

    checktype=negotiate #ldirectord进程用于监控RealServer的方法

    checkport=80 #检查端口

    request="index.html" #检查页面

    receive=“Test" #检查内容

    飞飞私塾:LVS负载均衡集群

    清空之前的ipvsadm,然后启动服务

    查看一下ipvsadm:

    飞飞私塾:LVS负载均衡集群

    访问ok页面

    飞飞私塾:LVS负载均衡集群

    那现在我们将lnmp-server01的服务停止

    飞飞私塾:LVS负载均衡集群

    再看一下ipvsadm,自动将那个服务器踢出去了

    飞飞私塾:LVS负载均衡集群

    查看日志

    飞飞私塾:LVS负载均衡集群

    然后我们再把服务启动起来

    飞飞私塾:LVS负载均衡集群

    查看一下ipvsadm,又自动加回来了

    飞飞私塾:LVS负载均衡集群

  • 相关阅读:
    HDU 6182 A Math Problem 水题
    HDU 6186 CS Course 位运算 思维
    HDU 6188 Duizi and Shunzi 贪心 思维
    HDU 2824 The Euler function 欧拉函数
    HDU 3037 Saving Beans 多重集合的结合 lucas定理
    HDU 3923 Invoker Polya定理
    FZU 2282 Wand 组合数学 错排公式
    HDU 1452 Happy 2004 数论
    HDU 5778 abs 数论
    欧拉回路【判断连通+度数为偶】
  • 原文地址:https://www.cnblogs.com/kcxg/p/10898163.html
Copyright © 2011-2022 走看看