lvs-nat 示例详解

本文详细介绍了lvs-nat的设计要点和实现步骤,通过实例展示了RR、DR、SH等调度算法的配置与效果,探讨了权重在不同调度算法中的作用,并在RS故障时的处理策略,提供了故障恢复的解决方案。
摘要由CSDN通过智能技术生成

lvs-nat 设计要点

  1. RIP与DIP在同一IP网络, RIP的网关要指向DIP
  2. 支持端口映射
  3. Director要打开核心转发功能

lvs-nat 示例步骤

1、绘制拓扑

在这里插入图片描述

2、各个虚拟机配置

2.1 RS1 和 RS2(配置 Nginx 服务)

  • RS1

    [root@neo-neo ~]# ifconfig | grep "inet 192"
            inet 192.168.10.12  netmask 255.255.255.0  broadcast 192.168.10.255
    [root@neo-neo ~]# cat /var/www/html/index.html 
    <h1>RS1 web-server</h1>
    [root@neo-neo ~]# ss -tnl | grep 80
    LISTEN     0      128         :::80                      :::*                  
    
  • RS2

    [root@Neo_Tang ~]# ifconfig | grep "inet 192"
            inet 192.168.10.13  netmask 255.255.255.0  broadcast 192.168.10.255
    [root@Neo_Tang ~]# cat /var/www/html/index.html 
    <h1>RS2 web-server</h1>
    [root@Neo_Tang ~]# ss -tnl | grep 80
    LISTEN     0      128         :::80                      :::*  
    

2.2 RS1 和 RS2(配置默认路由,指向 VS)

  • RS1

    [root@neo-neo ~]# route add default gw 192.168.10.11
    [root@neo-neo ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.10.11   0.0.0.0         UG    0      0        0 ens37
    192.168.10.0    0.0.0.0         255.255.255.0   U     101    0        0 ens37
    
  • RS2

    [root@Neo_Tang ~]# route add default gw 192.168.10.11
    [root@Neo_Tang ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.10.11   0.0.0.0         UG    0      0        0 ens37
    192.168.10.0    0.0.0.0         255.255.255.0   U     101    0        0 ens37
    

2.3 VS 进行验证,看能否正常访问 RS1 和 RS2

[root@Neo_Tang ~]# curl http://192.168.10.12
<h1>RS1 web-server</h1>
[root@Neo_Tang ~]# curl http://192.168.10.13
<h1>RS2 web-server</h1>

2.4 VS 安装 ipvsadm

[root@Neo_Tang ~]# yum install ipvsadm -y
[root@Neo_Tang ~]# rpm -ql ipvsadm
/etc/sysconfig/ipvsadm-config
/usr/lib/systemd/system/ipvsadm.service
/usr/sbin/ipvsadm
/usr/sbin/ipvsadm-restore
/usr/sbin/ipvsadm-save
/usr/share/doc/ipvsadm-1.27
/usr/share/doc/ipvsadm-1.27/README
/usr/share/man/man8/ipvsadm-restore.8.gz
/usr/share/man/man8/ipvsadm-save.8.gz
/usr/share/man/man8/ipvsadm.8.gz

3、调度算法-RR

3.1 VS 进行集群设置和RS设置

[root@Neo_Tang ~]# ipvsadm -A -t 192.168.1.11:80 -s rr                 # 集群服务管理
[root@Neo_Tang ~]# ipvsadm -a -t 192.168.1.11:80 -r 192.168.10.12 -m   # 集群RS1设置
[root@Neo_Tang ~]# ipvsadm -a -t 192.168.1.11:80 -r 192.168.10.13 -m   # 集群RS2设置
[root@Neo_Tang ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.1.11:80 rr
  -> 192.168.10.12:80             Masq    1      0          0         
  -> 192.168.10.13:80             Masq    1      0          0 

3.2 用户A 进行web访问

[root@Tang-Neo ~]# ifconfig | grep "inet 192"
        inet 192.168.1.9  netmask 255.255.255.0  broadcast 192.168.1.255
[root@Tang-Neo ~]# for i in {
   1..10}; do curl http://192.168.1.11/index.html; done
<h1>RS1 web-server</h1>
<h1>RS2 web-server</h1>
<h1>RS1 web-server</h1>
<h1>RS2 web-server</h1>
<h1>RS1 web-server</h1>
<h1>RS2 web-server</h1>
<h1>RS1 web-server</h1>
<h1>RS2 web-server</h1>
<h1>RS1 web-server</h1>
<h1>RS2 web-server</h1>

3.3 用户B 进行web访问

[root@neo ~]# ifconfig | grep "inet 192"
        inet 192.168.1.10  netmask 255.255.255
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值