负载均衡集群(NAT)

负载均衡集群(NAT)

1.LVS负载均衡四种工作模式

julia 复制代码
LVS/NAT :网络地址转换模式
LVS/DR :直接路由模式
LVS/TUN : 隧道模式
LVS/full-nat : 双向转换

2.命令选项

julia 复制代码
-A #在服务器列表中添加一条新的虚拟服务记录
-s #使用的调度算法  rr | wrr | lc | wlc 
-a #在服务器列表中添加一条真实的主机记录
-t #说明虚拟服务器提供tcp服务
-u #说明虚拟服务是提供udp服务
-r #真实服务器地址
-m #指定LVS工作模式为nat
-w #真实服务器的权值
-g #指定LVS工作模式为路由模式
-E #编辑内核服务器表中的一条虚拟服务记录
-D #删除一条虚拟服务器记录
-S #保存虚拟服务器规则到标准输出
-d #删除一条虚拟服务器记录中的某条真实服务器记录
-L #显示内核虚拟服务器表

3.LVS应用实战(NAT)

  • 环境准备

    准备3台干净的虚拟机(两台web服务器)

    两台网段相同,负载均衡器需两个IP地址,一个IP地址与两台web服务器的网段相同

    另一个IP地址与web服务器不同

    LVS-server 安装管理软件

    关闭防火墙与selinux

  • 搭建服务

    负载均衡器

    julia 复制代码
    [root@localhost ~]# yum -y install ipvsadm
    #配置路由转发
    [root@localhost ~]# vim /etc/sysctl.conf
    net.ipv4.ip_forward = 1
    #重启路由转发
    [root@localhost ~]# sysctl -p
    #配置虚拟服务
    [root@localhost ~]# ipvsadm -A -t 192.168.222.128:80 -s wrr
    [root@localhost ~]# ipvsadm -a -t 192.168.222.128:80 -r 10.36.158.66:80 -m -w 3
    [root@localhost ~]# ipvsadm -a -t 192.168.222.128:80 -r 10.36.158.110:80 -m -w 1
    #检查
    [root@localhost ~]# 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.222.128:80 wrr
      -> 10.36.158.66:80              Masq    3      0          0         
      -> 10.36.158.110:80             Masq    1      0          0         

    两台web服务器

    julia 复制代码
    #这里是用nginx来测试(两台机器均安装)
    [root@localhost ~]# yum -y install nginx
    #修改两台机器的发布目录,方便观察
    [root@localhost ~]# cd /usr/share/nginx/html
    [root@localhost html]# rm -rf *
    [root@localhost html]# echo "LV测试1" > index.html
    #另一台web服务器
    [root@localhost ~]# cd /usr/share/nginx/html
    [root@localhost html]# rm -rf *
    [root@localhost html]# echo "LV测试2" > index.html
    #配置默认路由(两台机器均操作)
    [root@localhost ~]# ip route add default via 192.168.222.128
    #修改两台机器nginx配置文件(更改TCP连接的保存时间)
    [root@localhost ~]# vim /etc/nginx/nginx.conf +27
        tcp_nodelay         on;
        keepalive_timeout   0;
    #重启nginx(两台机器均操作)
    [root@localhost ~]# nginx -s reload
  • 测试

    浏览器浏览192.168.222.128并刷新多次

相关推荐
智能运维指南5 小时前
代码管理软件如何融入 DevOps 工具链?全链路联通的 5 个关键点
运维·devops·信创适配·嘉为蓝鲸
充电zcx6 小时前
Linux:4:开发工具详解
linux·运维·服务器
gongfeng30009 小时前
福州企业级AI自动化获客解决方案品牌梳理与适用场景分析
运维·人工智能·自动化·g-claw ai员工
光电笑映11 小时前
网络通信基础:从协议分层到 Socket 编程预备
linux·运维·服务器·网络
微小冷12 小时前
用Mermaid画时序图
运维·流程图·时序图·mermaid·生命线
其实防守也摸鱼12 小时前
Codex 下载与本地部署实战:从安装到运行全指南
android·大数据·运维·安全·自动化
wdfk_prog12 小时前
ROS教程07:从 ros::start() 顺着源码读懂 Master、XML-RPC 与 Topic 注册发现
运维·缓存·docker·容器·ros
吴声子夜歌12 小时前
Shell编程实例——与解析相关的任务(二)
linux·运维·shell
倔强的石头10613 小时前
【Linux指南】动静态库系列(八):ELF 加载与进程地址空间:程序还没运行,为什么已经有地址
linux·运维
两点王爷13 小时前
常用的 Docker 镜像拉取地址仓库及常用命令详解
运维·服务器·容器