LVS集群搭建

集群是为了解决某个特定问题将多台计算机组合起来形成的单个系统

知识点:

1.关键术语

  • VS:Virtual Server(调度器)

  • RS:Real Server(真实服务器)

  • CIP:Client IP(客户端IP)

  • VIP:Virtual IP(VS对外IP)

  • DIP:Director IP(VS内网IP)

  • RIP:Real Server IP(真实服务器IP)

2.lvs集群的类型

lvs-nat: 修改请求报文的目标IP,多目标IP的DNAT

lvs-dr: 操纵封装新的MAC地址

lvs-tun: 在原请求IP报文之外新加一个IP首部

lvs-fullnat: 修改请求报文的源和目标IP

nat模式实验:

1.实验环境

|--------|------------------------------------|---------------------------|--------|
| 主机 | ip | 网关 | 角色 |
| CLIENT | 192.168.23.11 | 192.168.23.2 | 客户端 |
| LVS | 192.168.23.110 172.25.250.100(仅主机) | 192.168.23.2 172.25.250.2 | 调度器 |
| RS-1 | 172.25.250.10(仅主机) | 172.25.250.100 | 真实服务器1 |
| RS-2 | 172.25.250.20(仅主机) | 172.25.250.100 | 真实服务器2 |

2.环境配置

LVS 配置双网卡,设定IP地址(一个NAT,一个仅主机)

设置内核路由功能,使同一个系统中的所有网卡都可以互相通信(记得编写防火墙规则,也可以直接关闭)

RS-1(提前下好httpd)

ip配置

关闭防火墙和启动httpd服务

RS-2

ip配置

关闭防火墙和启动httpd服务

编写内容(RS-1同样)

ip改好之后要systemctl connection reload

systemctl connection up 网卡

测试

当LVS调度器能够访问RS-1和RS-1时环境配置就完成了

3.实验配置

安装ipvsadm

添加调度策略

**[root@lvs ~]# ipvsadm -A -t 192.168.23.110:80 -s rr #添加

root@lvs \~\]# ipvsadm -a -t 192.168.23.110:80 -r 172.25.250.10 -m -w 1 #** 添加RS **\[root@lvs \~\]# ipvsadm -a -t 192.168.23.110:80 -r 172.25.250.20 -m -w 1 \[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.23.110:80 rr -\> 172.25.250.10:80 Masq 1 0 0 -\> 172.25.250.20:80 Masq 1 0 0**

-A:添加策略

-t:tcp协议

192.168.23.110:80 集群地址:端口 (地址是vip)

-s:调度算法 rr:轮询算法

-a:新添一台RS

-r:RS地址(端口)

-m:LVS模式为NAT模式

-w 轮询次数

测试结果

4.ipvs的备份及恢复

先保存到一个文件下

再删除

最后恢复

5.开机自启

root@lvs \~\]# systemctl enable --now ipvsadm.service ## DR模式实验: #### 实验环境 |--------|------------------------------------|-------------------|--------| | 主机 | ip | vip | 角色 | | CLIENT | 192.168.23.11 | null | 客户端 | | route | 192.168.23.110 172.25.250.100(仅主机) | null | 路由器 | | lvs | 172.25.250.100 | 172.25.250.254/32 | 调度器 | | RS-1 | 172.25.250.10 | 172.25.250.254/32 | 真实服务器1 | | RS-2 | 172.25.250.20 | 172.25.250.254/32 | 真实服务器2 | #### 环境配置 配置vip ![](https://i-blog.csdnimg.cn/direct/3f2348eb2d6946b9a232d94c138ff296.png) 配置vip ![](https://i-blog.csdnimg.cn/direct/be393ba994304d22b39230408030e73a.png) 配置vip ![](https://i-blog.csdnimg.cn/direct/899ca898a02e4a80be563433883c6a46.png) 路由器同nat模式的lvs(双网卡) #### 实验配置 真实路由器设定lo不对外响应 ![](https://i-blog.csdnimg.cn/direct/cf7026f0f3a64993abd36b1655c60d9b.png) ![](https://i-blog.csdnimg.cn/direct/a31c2393527e40ac882541762e1569d8.png) LVS配置策略![](https://i-blog.csdnimg.cn/direct/27aa23059d274bc48b38a4056e717028.png) 172.25.250.254:80 vip:端口 (vip为lo网卡里的) -g 直连路由模式 测试(记得关闭主机的防火墙) ![](https://i-blog.csdnimg.cn/direct/512582162da746e5929363aae90ccd3d.png) #### 防火墙标记解决轮询调度问题 在RS1和RS2中安装mod_ssl并重启apache ![](https://i-blog.csdnimg.cn/direct/a43bfee5308a4f92bcfb6140146cae55.png) 当第一次访问80被轮询到RS1后下次访问443仍然可能会被轮询到RS1上 ![](https://i-blog.csdnimg.cn/direct/0d3dd7be9eec4bc0a49fdb6d53864b35.png) 测试 ![](https://i-blog.csdnimg.cn/direct/754f2e833f9a490fa77335095b1a2eee.png) 解决:在主机上打防火墙标记,主机基于标记定义集群服务并设定调度规则(把IP地址变为防火墙标记) ![](https://i-blog.csdnimg.cn/direct/816379d9fa2c494ca16b1e00c3dd4c75.png) 测试 ![](https://i-blog.csdnimg.cn/direct/6ccf9cdc4a0c4b988d29a9a2b9503d0c.png) #### lvs持久链接 设置超时时间 ![](https://i-blog.csdnimg.cn/direct/9facccf69c46476cbced7ba1bb030f7d.png) ![](https://i-blog.csdnimg.cn/direct/a42c9c90eae84b09910030a591db38a4.png)

相关推荐
十步杀一人_千里不留行17 分钟前
RustDesk 自建中继服务器教程(Mac mini)
运维·服务器·macos
♛暮辞18 分钟前
hadoop(服务器伪分布式搭建)
服务器·hadoop·分布式
水瓶_bxt1 小时前
虚拟机centos服务器安装
linux·服务器·centos
_可乐无糖1 小时前
使用 sudo iftop -i 分析服务器带宽使用情况
运维·服务器·网络
赵思空1 小时前
CentOS7 内网服务器yum修改
linux·运维·服务器
Web极客码1 小时前
如何在服务器上获取Linux目录大小
linux·服务器·javascript
有想法的py工程师1 小时前
Rocky9安装Ansible
linux·运维·ansible
黑屋里的马1 小时前
ssl相关命令生成证书
服务器·网络·ssl·openssl·gmssl
腾讯蓝鲸智云2 小时前
DevOps落地的终极实践:8大关键路径揭秘!
运维·服务器·自动化·云计算·devops
ShuaiLan_hh2 小时前
RHCE第二次作业
运维·服务器