• CentOS LVS安装配置


    一般2.6.10以上内核版本都已经自带了ipvsadm,故不需要安装。

    Ipvs 1.25编译

    ipvsadm-1.25编译不过

    • 去掉netlink库的依赖:去掉libipvs/Makefile的CFLAGS += -DLIBIPVS_USE_NL,去掉Makefile的LIBS += -lnl。
    • 需要popt库解析命令行,在这里下载并安装http://freshmeat.net/projects/popt/.。

    DR方式的LB

    配置LVS主节点

    1.修改proc参数

    #vi /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.eth0.send_redirects = 0 
    net.ipv4.conf.eth1.send_redirects = 0

    #sysctl –p

    2. 添加负载均衡规则

    #cat > /etc/sysconfig/ipvsadm

    ipvsadm -A -t 192.168.100.20:80 -s rr 
    ipvsadm -a -t 192.168.100.20:80 -r 192.168.100.116:80 -g -p60 
    ipvsadm -a -t 192.168.100.20:80 -r 192.168.100.117:80 -g -p60

    如果添加realserver时设置了-p 60参数,则同一个客户端每次刷新页面时,连接的是同一个real server,否则会轮流更替,但我加了-p 参数会报错。 
    设置连接保持(-p)参数是为了确保ftp、ssl等连接的稳定和可靠性。

    3.添加虚拟IP地址

    (比较郁闷的是,下面这个设置在机器上不生效,需要手动执行: ifconfig eth0:1 192.168.100.20 broadcast 192.168.100.255 netmask 255.255.255.0 )

    #vi /etc/sysconfig/network-scripts/ifcfg-eth0:1

    DEVICE=eth0:0 
    BROADCAST=192.168.100.255 
    IPADDR=192.168.100.20 
    NETMASK=255.255.255.0 
    ONBOOT=yes 
    TYPE=Ethernet

    #service network restart

    4. 保存规则并设置服务状态

    #ipvsadm-save > /etc/sysconfig/ipvsadm 
    #chkconfig --level 35 ipvsadm on 
    #service ipvsadm start

    配置各Real Server节点

    1. 修改proc参数

    #vi /etc/sysctl.conf

    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

    #sysctl –p

    2.添加虚拟地址及路由记录

    #vi /opt/add_vip.sh

    #!/bin/bash 
    ifconfig lo:0 192.168.100.20 netmask 255.255.255.255 up 
    route add -host 192.168.100.20 dev lo:0

    #chmod +x /opt/add_vip.sh 
    #/opt/add_vip.sh 
    #echo "/opt/add_vip.sh"  >> /etc/rc.local

    NAT方式的LB

    在同一个网段内设置,没有成功,网上说需要设置iptables-nat,但同一个网段需要么?

    验证LVS

    在LVS主节点上执行

    ipvsadm -L -n

    LVS源码分析

    LVS源码在下面网站中有详细分析,写得非常不错,如果想深入研究的,建议看一下。

    http://www.yubo.org/ipvs/index.php

    这儿有张netfilter的框架图,也值得看看

    http://zh.linuxvirtualserver.org/files/linux2.6.32.2netfilter.JPG

  • 相关阅读:
    Prometheus环境搭建系列(三):监控redis服务器(redis_exporter)
    Java诊断神器:Arthas常用功能
    sql优化练习
    navicat:[Err] 1055
    Prometheus环境搭建系列(二):监控mysql服务器(mysqld_exporter)
    【笔试必备】常见sql笔试题
    将博客搬至CSDN
    springboot假死、连接泄露
    测试字符串
    阿里云初次使用教程
  • 原文地址:https://www.cnblogs.com/tonykan/p/3516822.html
Copyright © 2020-2023  润新知