基础介绍
http://t.csdnimg.cn/Lv5Byhttp://t.csdnimg.cn/Lv5By
部署NAT模式集群案例
实验环境
主机名
| IP |
vip
|
角色
|
node1
|
192.168.0.100
|
172.25.254.100
|
调度器(
VS
)
|
node1
|
192.168.0.101
,
GW 192.168.0.100
| \ |
真实服务器(
RS
)
|
node1
|
192.168.0.102
,
GW 192.168.0.100
| \ |
真实服务器(
RS
)
|
node1
|
172.25.254.104
| \ |
测试机
|
配置命令
1.在node1中启用内核路由功能
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/ip_forward.conf
sysctl --system
yum install ipvsadm -y
ipvsadm -A -t 172.25.254.100:80 -s rr
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.101:80
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.101:80 -m
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.102:80 -m
4.查看策略
ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.254.100:80 rr
-> 192.168.0.101:80 Masq 1 0 3
-> 192.168.0.102:80 Masq 1 0 3
cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP AC19FE64:0050 rr
-> C0A80066:0050 Masq 1 0 3
-> C0A80065:0050 Masq 1 0 3
cat /proc/net/ip_vs_conn
Pro FromIP FPrt ToIP TPrt DestIP DPrt State Expires PEName PEData
TCP AC19FE01 D82F AC19FE64 0050 C0A80066 0050 TIME_WAIT 117
TCP AC19FE01 D830 AC19FE64 0050 C0A80065 0050 TIME_WAIT 117
TCP AC19FE01 D832 AC19FE64 0050 C0A80065 0050 TIME_WAIT 117
TCP AC19FE01 D834 AC19FE64 0050 C0A80065 0050 TIME_WAIT 117
TCP AC19FE01 D831 AC19FE64 0050 C0A80066 0050 TIME_WAIT 117
TCP AC19FE01 D833 AC19FE64 0050 C0A80066 0050 TIME_WAIT 117
5.保存规则
ipvsadm -Sn
-A -t 172.25.254.100:80 -s rr
-a -t 172.25.254.100:80 -r 192.168.0.101:80 -m -w 1
-a -t 172.25.254.100:80 -r 192.168.0.102:80 -m -w 1
ipvsadm -Sn > /etc/sysconfig/ipvsadm-config
6.删除所有规则
ipvsadm -C
ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
7.重载规则
ipvsadm -R < /etc/sysconfig/ipvsadm-config
ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.254.100:80 rr
-> 192.168.0.101:80 Masq 1 0 0
-> 192.168.0.102:80 Masq 1 0 0
8.测试
for N in {1..6};do curl 172.25.254.100;done
RS2 server - 192.168.0.102
RS1 server - 192.168.0.101
RS2 server - 192.168.0.102
RS1 server - 192.168.0.101
RS2 server - 192.168.0.102
RS1 server - 192.168.0.101
9.修改权重
ipvsadm -E -t 172.25.254.100:80 -s wrr
ipvsadm -e -t 172.25.254.100:80 -r 192.168.0.101:80 -m -w 2
ipvsadm -e -t 172.25.254.100:80 -r 192.168.0.102:80 -m -w 1
测试效果
for N in {1..6};do curl 172.25.254.100;done
RS2 server - 192.168.0.102
RS1 server - 192.168.0.101
RS1 server - 192.168.0.101
RS2 server - 192.168.0.102
RS1 server - 192.168.0.101
RS1 server - 192.168.0.101
部署DR模式集群案例
一、配置网络和基本设置
- 分配 IP 地址:
- LVS 调度设备的 VIP(虚拟 IP)和 DIP(数据 IP)。
- Webserver 的 RIP(真实 IP)。
setenforce 0
systemctl disable --now firewalld
二、安装并配置 LVS
yum install ipvsadm -y
ipvsadm -A -t <VIP>:80 -s rr
其中 <VIP>
是调度设备的 VIP 地址,80
是服务端口,rr
表示轮询算法。
ipvsadm -a -t <DIP>:80 -r <RIP> -g
其中 <DIP>
是 webserver 的数据 IP 地址,<RIP>
是 webserver 的真实 IP 地址。
三、配置 webserver
vi /etc/httpd/conf/httpd.conf
添加如下内容以确保请求直接返回给客户端:
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName <VIP>
ErrorLog logshttpd error log
CustomLog logshttpd access log common
<IfModule ipvs module>
VirtualServer <VIP> 80 {
Server <RIP> 80;
Server <RIP2> 80;
}
</IfModule>
</VirtualHost>
systemctl restart httpd
四、测试和验证
在客户机上使用浏览器访问 <VIP>
安装和配置 ipvsadm:
- 安装 ipvsadm:
在大多数 Linux 发行版中,ipvsadm 通常已经预装。如果未安装,可以通过包管理器进行安装。对于 rhel9,可以使用以下命令:
yum install -y ipvsadm
这一步骤基于 中的信息。
- 验证安装:
安装完成后,可以通过执行以下命令来验证 ipvsadm 是否正确安装并可用:
ipvsadm -L --timeout
如果输出结果中第三个数字是 10,则说明 IPVS 类型集群的 UDP 超时时间变更成功。这一步骤同样基于 中的信息。
保存及重载规则:
在对 ipvsadm 规则进行修改后,为了确保重启电脑服务不会丢失这些规则,需要将规则保存到文件中,并在重启后重新导入这些规则。
清理当前的 ipvsadm 规则(如果需要):
systemctl stop ipvsadm
ipvsadm -C
将 ipvsadm 规则保存到文件中:
ipvsadm -save > /data/ipvs.log
在重启后,将规则导入到
ipvsadm -r /data/ipvs.log