• lvs+keepalive安裝部署文檔


    CIP  客户端主机IP地址

    VIP  虚拟IP地址(负载均衡网卡)

    DIP  DirectorIP地址

    RIP  真实IP地址

    LVS调度算法:决定了如何在集群节点之间分布工作负荷

    Lvs调度器  IP:192.168.1.14   VIP:192.168.1.29

    RS-1  IP:192.168.1.15

    RS-2  IP:192.168.1.16

    一.Lvs调度器:  M/S

    1. 准备:

     yum install -y httpd

    /etc/init.d/httpd start

    netstat -lnt|grep 80    ps -ef|grep httpd

    yum install -y lrzsz

    yum install kernel-devel -y

    ln -s /usr/src/kernels/2.6.32-358.el6.i686 /usr/src/linux

    ll /usr/src/ |grep linux

    1. 安装ipvsadm

    tar -zxf ipvsadm-1.24.tar.gz -C /home/gaigai.xu

    cd ipvsadm-1.24/

    yum install gcc gcc-c++ -y   编译器

    make

    make install

    Ipvsadm     执行

    lsmod |grep ip_vs   模块加载

    1. 配置LVS虚拟IP(VIP)

    vim /etc/sysctl.conf

    net.ipv4.ip_forward = 1

    sysctl -p

    ifconfig eth1:0 192.168.1.29/24 netmask 255.255.255.255 up   要已有eth1才能绑好虚拟IP

    Ifconfig eth1:0

    route add -host 192.168.1.29 dev eth1    添加路由

    route -n

    ipvsadm -C    清空列表

    ipvsadm --set 30 5 60    设定超时三个参数

    ipvsadm -A -t 192.168.1.29:80 -s wrr -p 20   制定Ip端口,指定调度算法,绘画保持

    ipvsadm -L -n  查看

    ipvsadm -a -t 192.168.1.29:80 -r 192.168.1.14 -g -w 1  添加rslserver IPDR模式,指定权重

    ipvsadm -d -t 192.168.1.29:80 -r 192.168.1.15    删除某个rslserver

    二.RS-1/RS-2

    ifconfig lo:17 192.168.1.29 netmask 255.255.255.255 up     绑定VIP

    route add -host 192.168.1.29 dev lo       添加路由

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

    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

    LVS-master:

    watch --interval=1 ipvsadm -Ln   1秒钟跳一下

    LVS-slave:装好LVS(master)

    LVS切换:LVS-slave上执行着 sh check_lb.sh &  监听VIP是否正常  

    当主机当即:会自动执行ipvs_dr_ctl 启动接管RS 实现自动切换

    LVS三种模式:

    1. NAT(数据包来回都要经过调度器,需要开启内核转发net.ipv.ip_forward=1
    2. DR(更改目的MAC
    3. TUNNEL IP隧道)

    master自启动脚本见附件(分三种)

    LVS RS节点健康检查功能(见脚本)

    LVS调度器裂脑问题:

    导致裂脑的原因:

    1. 高可用服务器之间心跳链路故障,导致无法相互检查心跳
    2. 高可用服务器之间开启了防火墙,阻挡了心跳线
    3. 高可用服务器网卡地址信息配置故障,导致发送心跳失败
    4. 其他服务配置不当,如心跳方式不同/心跳广播冲突/软件BUG

    防止裂脑方案:

    1. 加冗余线路
    2. 检查到裂脑时,强行关闭心跳检查(远程关闭主节点,控制电源的电路)
    3. 做好脑裂的监控报警
    4. 报警后,备节点在接管时设置比较长的时间去接管
    5. 启动磁盘锁,正在服务的一方锁住磁盘,裂脑发生时,让对方完全抢不走“共享资源”

    生产环境常见的LVS集群

    1. 通过开发上面的脚本来进行解决
    2. Heartbeart+lvs+ldirectord脚本配置方案
    3. Redhat提供的工具piranha来配置LVS
    4. Keepalive+lvs

    LVS集群分发请求RS不均衡生产环境实战解决

    1. LVS自身的会话保持参数设定(-p 300,persistent 300)  优化:cookies/sesson
    2. LVS调度算法设置:rr/wrr/wlc
    3. 后端RS节点的会话保持参数(apachekeepalive参数)
    4. 访问量较少的情况,不均衡的现象更加明显
    5. 用户发送的请求资源大小,时间长短

    LVS故障排查思路

    1. 调度器上LVS调度规则及IP的正确性
    2. RS节点上VIP绑定和拟制的检查

    对绑定的VIP做实时监控,出问题报警及自动处理

    把绑定的vip做成配置文件/etc/sysconfig/network-scripts/lo:

    1. RS节点上自身提供服务检查
    2. 辅助排除工具有tcpdump/ping
    3. 负载均衡和反向代理集群的三角盘查理论

    Haproxy--用户--web server       

    Keepalive高可用集群

    用来监控LVS集群系统中各个服务节点的状态

    原理:VRRP(虚拟路由器冗余协议)  主副负载均衡器切换满足VRRP协议  目的:为了解决静态路由出现的单节点故障问题,能保证网络的不间断稳定运行

    安装配置keepalived

    1. rz keepalived-1.1.19.tar.gz
    2. ln -s /usr/src/kernels/2.6.32-358.el6.x86_64/ /usr/src/linux
    3. tar zxf keepalived-1.1.19.tar.gz
    4. cd keepalived-1.1.19
    5. ./configure
    6. make
    7. make install
    8. /bin/cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
    9. /bin/cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ 配置启动脚本参数
    10. mkdir /etc/keepalived -p  创建默认配置文件目录
    11. /bin/cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
    12. /bin/cp /usr/local/sbin/keepalived /usr/sbin/
    13. /etc/init.d/keepalived start
    14. ps -ef|grep keep
    15. man keepalived
    16. cat -n /etc/keepalived/keepalived.conf

    单实例: M/S:

    1. cp keepalived.conf.dan /etc/keepalived.conf
    2. /etc/init.d/keepalived start
    3. ps -ef|grep keep
    4. ip add     两台都有VIP:192.168.1.29

    多实例: M/S:

    1. cp keepalived.conf.multi /etc/keepalived.conf
    2. /etc/init.d/keepalived start
    3. ip add|grep -E "1.29|1.28" 两台都有VIP:192.168.1.29 192.168.1.28

    准备把192.168.1.29-VIP进行域名解析www.etiantian.org

    默认情况下keepalived只在对方机器宕机的时候接管业务,

    check_myself.sh 是监控master本机,服务出现异常让slave可以接管

    配置Keepalived日志

    默认路劲:cat /var/log/messages

    1. vim /etc/sysconfig/keepalived

    改写:KEEPALIVED_OPTIONS="-D -d -S 0"

    1. vim /etc/rsyslog.conf   加入

    #keepalived

    local0.*                 /var/log/keepalived.log

    1. /etc/init.d/rsyslog restart    生成keepalived.log
    2. /etc/init.d/keepalived restart   
    3. cat /var/log/keepalived.log

    LVS DR+Keepalived主从模式声场环境实战

    Master     eth0       192.168.1.21  用于wan数据转发      

               eth1       192.168.2.21  用于LAN数据转发

               eth2       192.168.3.21  用于LB间心跳连接

    VIP                   192.168.1.29  解析到www.etiantian.org

    Backup     eth0       192.168.1.26  用于wan数据转发

               eth1       192.168.2.26  

               eth2       192.168.3.26

    RS-01      eth0       192.168.1.19

               eth1       192.168.2.19

    RS-02      eth0       192.168.1.27

               eth1       192.168.2.27

    M/B 安装好LVS+keepalived

    M: 见脚本keepalived.conf.lvs-keep-m

    B:  见脚本keepalived.conf.lvs-keep-s

    M: 1. mv keepalived.conf.lvs-keep-m /etc/keepalived.conf

    1. /etc/init.d/keepalived start
    2. ipvsadm -Ln

    B:1. mv keepalived.conf.lvs-keep-s /etc/keepalived.conf

    1. /etc/init.d/keepalived start

    M宕机,B自动接管

    RS:1.chmod 700 rs_ctl

    1. /etc/init.d/rs_ctl start
    2. /etc/init.d/httpd start

    IE登录192.168.1.29(VIP)

    ipvsadm -Ln   查看后端服务分配

    LVS排错

    1. 配置服务器间心跳连接路由 (两台LVS)

    主节点:192.168.1.21

    route add -host 192.168.1.26 dev eth0   到对端

    被节点:192.168.1.26

    route add -host 192.168.1.21 dev eth0   到对端

    写入rc.local

    1. 工作中如果流量巨大,一般负载均衡不能开iptables
    2. Keepalivedip add查看
    3. Linux内核转发(DR模式不需要)
    4. 生产环境下的命令组合:ipvsadm -Ln --stats   ipvsadm -Lnc

    ipvsadm -Ln --thresholds  ipvsadm -Ln --timeout

  • 相关阅读:
    第三次作业,结对编程
    第二次作业
    第一次作业
    最小环问题
    拓扑排序——烦人的幻灯片
    拓扑排序——奖金
    洛谷——P2330 [SCOI2005] 繁忙的都市
    洛谷——P2820 局域网
    最小生成树——最短网络Agri-Net
    最小生成树——城市公交网建设问题
  • 原文地址:https://www.cnblogs.com/guoxiaobao/p/9479275.html
Copyright © 2020-2023  润新知