9,LVS

作者: A孑木 | 来源:发表于2020-06-03 06:56 被阅读0次

    【安装】

    sudo yum -y install ipvsadm    #ubuntu使用apt
    

    【用法】

    基本用法如下,分别用于设置虚拟服务算法和后端真实服务器

    ipvsadm 选项 服务器地址 -s 算法
    ipvsadm 选项 服务器地址 -r 真实服务器地址 [工作模式][权重]...

    【命令选项】

    -A 添加一个虚拟服务,使用ip地址、端口号、协议来唯一定义一个虚拟服务
    -E 编辑一个虚拟服务
    -D 删除一个虚拟服务
    -C 清空虚拟服务列表
    -R 从标准输入中还原虚拟服务列表
    -S 保存虚拟服务规则至标准输出,输出规则可使用-R选项还原
    -L 显示虚拟服务列表
    -Z 虚拟服务器列表计数器清零(清空当前连接数)
    -a 添加一台真实服务器
    -e 编辑一台真实服务器
    -d 减少一台真实服务器
    -t 使用TCP服务,该参数后需加主机与端口信息
    -u 使用UDP服务,该参数后需加主机与端口信息
    -s 指定lvs的调度算法
    -r 设置真实服务器IP与端口
    -g 设置lvs工作模式为DR直连路由
    -i 设置lvs工作模式为TUN隧道
    -m 设置lvs工作模式为NAT地址转换模式
    -w 指定真实服务器权重
    -c 连接状态,配和-L使用
    -n 数字格式显示
    --stats 显示统计信息
    --rate 显示速率信息
    --sort 对虚拟服务器和真实服务器排序输出
    --set tcp tcpfin udp 设置ipvs连接超时值,三个参数分别代表tcp会话超时时间、收到FIN包后tcp会话超时时间、udp超时时间
    --timeout 显示tcp tcpfin udp的timeout值
    --start-daemon 启动同步守护进程
    --stop-daemon 停止同步守护进程

    【示例】

    设定:调度服务 DIP(192.168.3.xx)
    VIP(192.168.3.254)
    RIP1(192.168.3.33)
    RIP2(192.168.3.34)

    添加虚拟服务,设置调度算法为轮询:

    # ipvsadm -A -t 192.168.3.254:80 -s rr
    # ipvsadm -Ln
    

    让80端口请求通过NAT模式转发给两个后端真实服务器:

    # ipvsadm -a -t 192.168.3.254:80 -r 192.168.3.33:80 -g
    # ipvsadm -a -t 192.168.3.254:80 -r 192.168.3.34:80 -g
    # ipvsadm -Ln
    

    修改调度算法为加权轮询:

    # ipvsadm -E -t 192.168.3.254:80 -s wrr
    

    规则表备份与还原:

    # ipvsadm -S > /tmp/ip_vs.bak
    # cat /tmp/ip_vs.bak
    # ipvsadm -C
    # ipvsadm -L
    # ipvsadm -R < /tmp/ip_vs.bak
    # ipvsadm -Ln
    

    开启路由转发功能:

    sudo vim /etc/sysctl.conf
    net.ipv4.ip_forward = 1
    或命令执行
    sysctl -w net.ipv4.ip_forward=1
    echo 1 > /proc/sys/net/ipv4/ip_forward
    

    以下操作真实后端服务器:
    ARP修改

    echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    

    路由网关设置

    ifconfig lo:0 192.168.3.254 broadcast 192.168.3.254 netmask 255.255.255.255 up
    route add default gw 192.168.3.254 dev lo:0
    

    注:以上配置重启后会失效,解决方法有两种

    一,添加自启动脚本

    二,修改配置文件
    ARP修改:

    sudo vim /etc/sysctl.conf
    
    net.ipv4.conf.enp0s3.arp_ignore=1
    net.ipv4.conf.all.arp_ignore=1
    net.ipv4.conf.enp0s3.arp_announce=2
    net.ipv4.conf.all.arp_announce=2
    
    #注意enp0s3为我虚拟机网卡
    sysctl -p
    

    centos网卡配置:/etc/sysconfig/network-scripts/ifcfg-<网卡名>
    例:

    DEVICE=lo:0
    BOOTPROTO=static
    ONBOOT=yes
    TYPE=Ethernet
    IPADDR=192.168.3.254
    NETMASK=255.255.255.255
    GATEWAY=192.168.3.254
    
    systemctl restart network  #使配置生效
    

    ubuntu网卡配置:/etc/network/interfaces
    例:

    auto lo:0
    iface lo:0 inet static
    address 192.168.3.254
    netmask 255.255.255.255
    gateway 192.168.3.254
    
    systemctl restart networking    #使配置生效
    

    参考资料:
    LVS之ipvsadm命令
    图解LVS的工作原理
    LVS 简介及使用

    相关文章

      网友评论

          本文标题:9,LVS

          本文链接:https://www.haomeiwen.com/subject/fjipzhtx.html