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

配置vip

配置vip

路由器同nat模式的lvs(双网卡)

实验配置

真实路由器设定lo不对外响应

LVS配置策略

172.25.250.254:80 vip:端口 (vip为lo网卡里的)

-g 直连路由模式

测试(记得关闭主机的防火墙)

防火墙标记解决轮询调度问题

在RS1和RS2中安装mod_ssl并重启apache

当第一次访问80被轮询到RS1后下次访问443仍然可能会被轮询到RS1上

测试

解决:在主机上打防火墙标记,主机基于标记定义集群服务并设定调度规则(把IP地址变为防火墙标记)

测试

lvs持久链接

设置超时时间

相关推荐
Jason_chen27 分钟前
Linux 6.2 音频机制深度解析:AI驱动的低延迟音频与零信任音频安全架构
linux
下午写HelloWorld31 分钟前
Linux系统及Ubuntu常用指令
linux·ubuntu·操作系统
lizhihai_992 小时前
股市学习心得-AI 产业链核心标的梳理清单
大数据·服务器·人工智能·科技·学习
weixin_523185322 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
黄同学real2 小时前
解决 Visual Studio Web Deploy 远程发布报 401 未授权 (ERROR\_USER\_UNAUTHORIZED)
服务器
天天进步20152 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
凡人叶枫3 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
云栖梦泽3 小时前
玩转RK3506SDK
linux·嵌入式硬件
Java面试题总结3 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
●VON3 小时前
AtomGit Flutter鸿蒙客户端:数据模型
android·服务器·安全·flutter·harmonyos·鸿蒙