• 27-搭建LVS-DR+Nginx高可用模式


    服务器与IP约定

    我为了使用LVS+NGINX*2, 还得再部署一台虚拟机

    DIP: LVS服务器的本地IP

    VIP: 虚拟路由IP, 用于返回数据

    RIP: Nginx服务器的本地IP

    配置LVS-DR模式

    关闭三台服务器的网络配置管理器

    1. # 停止网络管理器
    2. systemctl stop NetworkManager
    3. # 禁止网络管理器
    4. systemctl disable NetworkManager

    修改LVS网卡配置

    1. cd /etc/sysconfig/network-scripts
    2. cp ifcfg-ens33 ifcfg-ens33:1
    3. vi ifcfg-ens33:1

    配置文件

    1. TYPE=Ethernet
    2. BOOTPROTO=static
    3. DEVICE=ens33:1
    4. ONBOOT=yes
    5. IPADDR=192.168.247.150
    6. PREFIX=24
    7. GATEWAY=192.168.247.2
    8. DNS1=192.168.247.2

    重启网络服务

    systemctl restart network
    

    安装ipvsadm

    1. # 安装
    2. yum install ipvsadm
    3. # 查看列表
    4. ipvsadm -Ln

    修改Nginx(2台)网卡配置

    1. cd /etc/sysconfig/network-scripts
    2. cp ifcfg-lo ifcfg-lo:1
    3. vi ifcfg-lo:1

    配置文件

    1. DEVICE=lo:1
    2. IPADDR=192.168.247.150
    3. NETMASK=255.255.255.255
    4. NETWORK=127.0.0.0
    5. # If you're having problems with gated making 127.0.0.0/8 a martian,
    6. # you can change this to something else (255.255.255.255, for example)
    7. BROADCAST=127.255.255.255
    8. ONBOOT=yes
    9. NAME=loopback

    刷新网卡配置

    ifup lo
    

    arp-ignore: ARP响应级别(处理请求)

    • 0: 只要本机配置了IP, 就能响应请求
    • 1: 请求的目标地址到达对应的网络接口, 才会响应请求

    arp-announce: ARP通告行为(返回响应)

    • 0: 本机上任何网络接口都向外通告, 所有的网卡都能接受到通告
    • 1: 尽可能避免本网卡与不匹配的目标进行通告
    • 2: 只在本网卡通告

    配置Nginx(2台)服务器的ARP响应级别和通告行为

    修改配置文件

    vi /etc/sysctl.conf
    

    配置文件

    1. net.ipv4.conf.all.arp_ignore = 1
    2. net.ipv4.conf.default.arp_ignore = 1
    3. net.ipv4.conf.lo.arp_ignore = 1
    4. net.ipv4.conf.all.arp_announce = 2
    5. net.ipv4.conf.default.arp_announce = 2
    6. net.ipv4.conf.lo.arp_announce = 2

    刷新配置

    sysctl -p
    

    配置Nginx(2台)服务器的路由表

    1. # 添加路由表
    2. route add -host 192.168.247.150 dev lo:1
    3. # 查看路由表
    4. route -n

    为了防止重启路由表恢复, 在开机自动命令表中添加

    echo "route add -host 192.168.247.150 dev lo:1" >> /etc/rc.local
    

    使用ipvsadm配置集群规则

    1. [root@localhost network-scripts]# ipvsadm -Ln
    2. IP Virtual Server version 1.2.1 (size=4096)
    3. Prot LocalAddress:Port Scheduler Flags
    4. -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    5. # 添加一个虚拟服务 采用TCP协议 rr策略(轮询)
    6. [root@localhost network-scripts]# ipvsadm -A -t 192.168.247.150:80 -s rr
    7. [root@localhost network-scripts]# ipvsadm -Ln
    8. IP Virtual Server version 1.2.1 (size=4096)
    9. Prot LocalAddress:Port Scheduler Flags
    10. -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    11. TCP 192.168.247.150:80 rr
    12. # 为虚拟服务添加一个真实服务器 -g(DR 模式)
    13. [root@localhost network-scripts]# ipvsadm -a -t 192.168.247.150:80 -r 192.168.247.136:80 -g
    14. [root@localhost network-scripts]# ipvsadm -a -t 192.168.247.150:80 -r 192.168.247.137:80 -g
    15. [root@localhost network-scripts]# ipvsadm -Ln
    16. IP Virtual Server version 1.2.1 (size=4096)
    17. Prot LocalAddress:Port Scheduler Flags
    18. -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    19. TCP 192.168.247.150:80 rr
    20. -> 192.168.247.136:80 Route 1 0 0
    21. -> 192.168.247.137:80 Route 1 0 0
    22. [root@localhost network-scripts]#

    访问并查看LVS状态

    1. [root@localhost network-scripts]# ipvsadm -Ln --stats
    2. IP Virtual Server version 1.2.1 (size=4096)
    3. Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
    4. -> RemoteAddress:Port
    5. TCP 192.168.247.150:80 3 73 0 19101 0
    6. -> 192.168.247.136:80 1 63 0 18587 0
    7. -> 192.168.247.137:80 2 10 0 514 0
    8. [root@localhost network-scripts]#

    查看全部帮助手册(ipvsadm)

    man ipvsadm
    

    修改LVS配置

    默认访问策略为300秒, 300秒过后才会轮询所以会导致, 自己测试一直都是访问的一台

    ipvsadm -E -t 192.168.247.150:80 -s rr -p 5
    

    已添加时间

    通过ipvsadm -Lnc 查看连接过期时间

    在过期之后就会触发轮询机制

    ipvsadm命名解析

    在搜索过后, 感觉这篇写的很好, 推荐一波

    LVS命令解析

  • 相关阅读:
    【架构】研发高可用架构和系统设计经验
    【原创】java+swing+mysql运动会管理系统设计与实现
    调用华为API实现身份证识别
    nios烧写到EPCS的问题处理
    OpenCV(三十二):轮廓检测
    点云深度学习——pyqt调用配准网络DCP模型
    神经网络训练结果都是1,神经网络训练效果不好
    DMPE-PEG-Mal 二肉豆蔻酰磷脂酰乙醇胺-聚乙二醇-马来酰亚胺供应
    结合OB Cloud区别于MySQL的4大特性,规划降本方案
    HTML5网页前端设计-作业二
  • 原文地址:https://blog.csdn.net/flowerStream/article/details/126735118