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

相关推荐
breaksoftware31 分钟前
Windows Subsystem for Linux——设置默认登录用户名
linux·运维·服务器
梁萌3 小时前
Linux安装Docker
linux·运维·docker·helloworld·容器化部署
翱翔-蓝天3 小时前
在 CentOS 系统上安装 ClickHouse
运维·docker·容器
彩虹糖_haha4 小时前
Linux高并发服务器开发 第五天(压缩解压缩/vim编辑器/查找替换/分屏操作/vim的配置)
linux·运维·服务器
旺仔学IT4 小时前
Centos7中使用yum命令时候报错 “Could not resolve host: mirrorlist.centos.org; 未知的错误“
linux·运维·centos
qq_433618445 小时前
shell 编程(五)
linux·运维·服务器
VVVVWeiYee5 小时前
项目2路由交换
运维·服务器·网络·网络协议·信息与通信
lifeng43216 小时前
Jenkins集成部署(图文教程、超级详细)
运维·jenkins
白手小弟7 小时前
python wxauto库实现微信自动化发送信息、回复、添加好友等
运维·自动化
ii_best7 小时前
ios按键精灵自动化的脚本教程:自动点赞功能的实现
运维·ios·自动化