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)

相关推荐
翻斗花园牛姥姥几秒前
嵌入式系统与51单片机全解析
linux
金色天际线-7 分钟前
Linux 文本处理四剑客:cut, sort, uniq, tr
linux·运维·服务器
kebeiovo1 小时前
Linux 环境配置 Boost 库详细步骤
linux·运维·服务器
MicrosoftReactor2 小时前
技术速递|构建你的第一个 MCP 服务器:如何使用自定义功能扩展 AI 工具
运维·服务器·人工智能
mljy.2 小时前
Linux《进程信号(上)》
linux
泽虞2 小时前
《LINUX系统编程》笔记p8
linux·运维·服务器·c语言·笔记·面试
正在努力的小河5 小时前
Linux并发与竞争
linux·运维·服务器
三坛海会大神5555 小时前
正则表达式与grep文本过滤详解
linux·运维·正则表达式
fuyongliang1235 小时前
Linux 正则表达式与grep命令
服务器·数据库·mysql
码农hbk7 小时前
Linux signal 图文详解(二)信号发送
linux·服务器