负载均衡集群(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并刷新多次

相关推荐
AOwhisky5 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
c238565 小时前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
李小白665 小时前
第四天-WEB服务器基本原理,IIS服务
运维·服务器·前端
2401_834636996 小时前
Nginx 从入门到实战:静态 / 动态站点、PHP 部署与反向代理全解析
运维·nginx·php
aosky7 小时前
一台电脑配置多个 SSH Key 对应不同的 GitHub 账号
运维·ssh·github
云登指纹浏览器7 小时前
WebDriver反检测技术详解:如何让自动化脚本看起来像真实浏览器
运维·自动化·跨境电商
xmtxz8 小时前
计算机网络基础课程学习心得:从理论抽象到硬核实战的进阶之路
运维·学习
RisunJan8 小时前
Linux命令-pgrep (通过进程名查找进程 ID)
linux·运维
信创工程师-小杨9 小时前
Linux内网环境如何解决依赖的问题
linux·运维·服务器
java知路9 小时前
linux yum 下载docker安装包及依赖安装包,并离线安装
linux·运维·docker