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持久链接

设置超时时间

相关推荐
hj28625129 分钟前
Linux 网络服务综合笔记(概念 + 命令 + 实操案例)2
linux·运维·网络
what_201830 分钟前
Linux 磁盘 (查看、划分、inode)
linux·运维·服务器
2739920291 小时前
GDB调试(Linux)
linux
凡人叶枫1 小时前
Effective C++ 条款23:宁以 non-member、non-friend 替换 member 函数
linux·开发语言·c++·嵌入式开发
不会C语言的男孩1 小时前
Linux 系统编程 · 第 4 章:文件属性与元数据
linux·c语言·开发语言
小生不才yz2 小时前
Shell脚本精读 · S02-03 | 词拆分、通配符与未加引号的变量
linux
2601_961845422 小时前
法考真题及答案解析|历年真题|资料已整理
linux·windows·ubuntu·macos·centos·gnu
A_humble_scholar2 小时前
Linux(七)调度器:从硬件矛盾到进程切换的底层逻辑
linux·服务器·网络
AOwhisky2 小时前
Redis 学习笔记(第四期):高可用与集群(哨兵 + Cluster + 容器化)
linux·运维·数据库·redis·笔记·学习·缓存
零陵上将军_xdr2 小时前
Shell脚本入门:从Hello World到变量的灵活运用
linux