LVS/DR模式
准备工作(集群中所有主机关闭防火墙 selinux)
[root@lvs ~]# cat /etc/hosts
192.168.13.111 lvs
192.168.13.112 real-server1
192.168.13.115 real-server2
Director分发器配置(lvs这台机器)
配置vip
[root@lvs ~]# yum -y install ipvsadm #RHEL确保LoadBalancer仓库可用
[root@lvs ~]# ip a add dev ens33 192.168.13.100/32
[root@lvs ~]# service ipvsadm start #启动
注意:启动如果报错: /bin/bash: /etc/sysconfig/ipvsadm: 没有那个文件或目录
需要手动生成文件
[root@lvs ~]# ipvsadm -S /etc/sysconfig/ipvsadm
定义LVS分发策略
-A:添加VIP
-t:用的是tcp协议
-a:添加的是lo的vip地址
-r:转发到realserverip
-s:算法
-L|-l –list #显示内核虚拟服务器表
--numeric, -n:#以数字形式输出地址和端口号
-g --gatewaying #指定LVS工作模式为直接路由器模式(也是LVS默认的模式)
-m nat模式
-S -save #保存虚拟服务器规则到标准输出,输出为-R 选项可读的格式
rr:轮循
如果添加ip错了,删除命令如下:
# ip addr del dev ens33 192.168.13.100
[root@lvs ~]# ipvsadm -C #清除内核虚拟服务器表中的所有记录
[root@lvs ~]# ipvsadm -A -t 192.168.13.100:80 -s rr
###分发到两台机器
[root@lvs ~]# ipvsadm -a -t 192.168.13.100:80 -r 192.168.13.112:80 -g
[root@lvs ~]# ipvsadm -a -t 192.168.13.100:80 -r 192.168.13.115:80 -g
###保存分发策略
[root@lvs ~]# ipvsadm -S /etc/sysconfig/ipvsadm
[root@lvs ~]# 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.13.100:80 rr
-> 192.168.13.112:80 Route 1 0 0
-> 192.168.13.115:80 Route 1 0 0
###显示统计信息
[root@lvs ~]# ipvsadm -ln --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 192.168.13.100:80 36 3488 0 190186 0
-> 192.168.13.112:80 18 3398 0 182647 0
-> 192.168.13.115:80 18 90 0 7539 0
1. Conns (connections scheduled) 已经转发过的连接数
2. InPkts (incoming packets) 入包个数
3. OutPkts (outgoing packets) 出包个数
4. InBytes (incoming bytes) 入流量(字节)
5. OutBytes (outgoing bytes) 出流量(字节)
#看速率
[root@lvs ~]# ipvsadm -ln --rate
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port CPS InPPS OutPPS InBPS OutBPS
-> RemoteAddress:Port
TCP 192.168.13.100:80 0 0 0 0 0
-> 192.168.13.112:80 0 0 0 0 0
-> 192.168.13.115:80 0 0 0 0 0
1. CPS (current connection rate) 每秒连接数
2. InPPS (current in packet rate) 每秒的入包个数
3. OutPPS (current out packet rate) 每秒的出包个数
4. InBPS (current in byte rate) 每秒入流量(字节)
5. OutBPS (current out byte rate) 每秒出流量(字节)
所有RS配置
配置好网站服务器,测试所有RS
###real-server1机器
[root@real-server1 ~]# yum -y install nginx
[root@real-server1 ~]# vim /usr/share/nginx/html/index.html
111111111
###real-server2机器
[root@real-server2 ~]# yum -y install nginx
[root@real-server2 ~]# vim /usr/share/nginx/html/index.html
22222222
配置完成之后访问本机 看是否能正常访问 访问成功之后进行配置
在两台real-server机器进行以下配置
[root@real-server1 ~]# ip a add dev ens33 192.168.13.100/32
[root@real-server1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@real-server1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@real-server1 ~]# systemctl restart nginx
nginx关闭长连接
[root@real-server1 ~]# vim /etc/nginx/nginx.conf
keepalive_timeout 0;
测试访问


成功!!
LVS/NAT模式
准备工作(集群中所有主机关闭防火墙 selinux)
在分发器中添加一个桥接网卡
主机名 | ip | 系统 | 用途 |
---|---|---|---|
lvs | 桥接 192.168.13.111 仅主机 | centos7.9 | 分发器 |
real-server1 | 192.168.13.112 仅主机 | centos7.9 | web1 |
real-server2 | 192.168.13.115 仅主机 | centos7.9 | web2 |
lvs机器安装ipvsadm工具
[root@lvs ~]# yum -y install ipvsadm
将两台后端web服务器准备好并测试正常访问
real-server机器配置
###两台后端服务器都配置
[root@real-server1 ~]# ip r add default via 192.168.13.111 # 配置默认路由(real—server的网关设置成director的DIP即可,real-server就能找到director了)
lvs机器配置
# 配置lvs-server 开启路由转发
[root@lvs ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@lvs ~]# sysctl -p //使添加的参数生效
(以下的ip是添加的桥接网卡的ip)
[root@lvs ~]# ipvsadm -A -t 10.8.165.229 :80 -s rr
设置后端服务器:
[root@lvs ~]# ipvsadm -a -t 10.8.165.229 :80 -r 192.168.13.112:80 -m
[root@lvs ~]# ipvsadm -a -t 10.8.165.229 :80 -r 192.168.72.115:80 -m
保存规则
[root@lvs ~]# ipvsadm -S > /etc/sysconfig/ipvsadm
访问测试
[root@lvs ~]# elinks -dump http://10.8.165.229
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)