内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。
风哥提示:
本文档详细介绍集群VIP(虚拟IP)资源的配置和验证方法。
Part01-VIP资源创建
1.1 创建基本VIP资源
[root@ha-node1 ~]# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 \
ip=192.168.1.100 cidr_netmask=24 \
op monitor interval=30s timeout=20s
Assumed agent name ‘ocf:heartbeat:IPaddr2’ (deduced from ‘IPaddr2’)
Creating Resource (VirtualIP)…
* Check: VirtualIP-ocf:heartbeat:IPaddr2
* Check: VirtualIP-ip=192.168.1.100
* Check: VirtualIP-cidr_netmask=24
* Check: VirtualIP-op-monitor-interval=30s
Resource ‘VirtualIP’ created
# 验证资源创建
[root@ha-node1 ~]# pcs resource show VirtualIP
Resource: VirtualIP (class=ocf provider=heartbeat type=IPaddr2)
Attributes: cidr_netmask=24 ip=192.168.1.100
Operations: monitor interval=30s timeout=20s (VirtualIP-monitor-interval-30s)
# 查看资源状态
[root@ha-node1 ~]# pcs status resources
* VirtualIP (ocf::heartbeat:IPaddr2): Started ha-node1
1.2 创建高级VIP资源
[root@ha-node1 ~]# pcs resource create ClusterIP ocf:heartbeat:IPaddr2 \
ip=192.168.1.200 cidr_netmask=24 \
nic=ens33 \
send_arp=true \
arp_interval=200 \
arp_count=5 \
op monitor interval=30s timeout=20s \
op start timeout=20s \
op stop timeout=20s
Creating Resource (ClusterIP)…
* Check: ClusterIP-ocf:heartbeat:IPaddr2
* Check: Clus更多学习教程公众号风哥教程itpux_comterIP-ip=192.168.1.200
* Check: ClusterIP-cidr_netmask=24
* Check: ClusterIP-nic=ens33
* Check: ClusterIP-send_arp=true
* Check: ClusterIP-arp_interval=200
* Check: ClusterIP-arp_count=5
Resource ‘ClusterIP’ created
# 验证资源
[root@ha-node1 ~]# pcs resource show ClusterIP
Resource: ClusterIP (class=ocf provider=heartbeat type=IPaddr2)
Attributes: arp_count=5 arp_interval=200 cidr_netmask=24 ip=192.168.1.200 nic=ens33 send_arp=true
Operations: monitor interval=30s timeout=20s (ClusterIP-monitor-interval-30s)
start interval=0s timeout=20s (ClusterIP-start-interval-0s)
stop interval=0s timeout=20s (ClusterIP-stop-interval-0s)
Part02-VIP资源验证
2.1 验证VIP配置
[root@ha-node1 ~]# ip addr show ens33
2: ens33:
link/ether 00:0c:29:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 192.168.1.100/24 brd 192.168.1.255 scope global secondary ens33
valid_lft forever preferred_lft forevfrom PG视频:www.itpux.comer
inet 192.168.1.200/24 brd 192.168.1.255 scope global secondary ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe12:3456/64 scope link
valid_lft forever preferred_lft forever
# 从其他主机ping VIP
[root@client ~]# ping -c 3 192.168.1.100
PING 192.168.1.100 (192.168.1.100) 56(84) bytes of data.
64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=0.421 ms
64 bytes from 192.168.1.100: icmp_seq=2 ttl=64 time=0.389 ms
64 bytes from 192.168.1.100: icmp_seq=3 ttl=64 time=0.412 ms
— 192.168.1.100 ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.389/0.407/0.421/0.013 ms
# 检查ARP表
[root@client ~]# arp -n | grep 192.168.1.100
192.168.1.100 ether 00:0c:29:12:34:56 C ens33
2.2 验证VIP故障转移
[root@ha-node1 ~]# pcs resource move VirtualIP ha-node2
Moving VirtualIP to ha-node2…
* VirtualIP: VirtualIP-move
* VirtualIP: VirtualIP-migrate-from-ha-node1
* VirtualIP: VirtualIP-migrate-to-ha-node2
VirtualIP moved to ha-node2
# 在node2上验证VIP
[root@ha-node2 ~]# ip addr show ens33 | grep 192.168.1.100
inet 192.168.1.100/24 brd 192.168.1.255 scope global secondary ens33
# 在node1上确认VIP已移除
[root@ha-node1 ~]# ip addr show ens33 | grep 192.168.1.100
(no output)
# 清除移动约束
[root@ha-node1 ~]# pcs resource clear VirtualIP
Removing constraint for VirtualIP
VirtualIP constraint removed
# 查看资源状态
[root@ha-node1 ~]# pcs status resources
* VirtualIP (ocf::heartbeat:IPaddr2): Started ha-node2
* ClusterIP (ocf::heartbeat:IPaddr2): Started ha-node1
Part03-VIP资源测试
3.1 测试VIP高可用
[root@ha-node1 ~]# pcs cluster standby ha-node2
# 查看资源状态
[root@ha-node1 ~]# pcs status resources
* VirtualIP (ocf::heartbeat:IPaddr2): Started ha-node1
* ClusterIP (ocf::heartbeat:IPaddr2): Started ha-node1
# 验证VIP已转移到node1
[root@ha-node1 ~]# ip addr show ens33 | grep 192.168.1.100
inet 192.168.1.100/24 brd 192.168.1.255 scope global secondary ens33
# 恢复节点
[root@ha-node1 ~]# pcs cluster unstandby ha-node2
# 查看节点状态
[root@ha-node1 ~]# pcs status nodes
Pacemaker Nodes:
Online: ha-node1 ha-node2
Standby:
Maintenance:
Offline:
# 测试VIP连通性
[root@client ~]# ping -c 3 192.168.1.100
PING 192.168.学习交流加群风哥微信: itpux-com1.100 (192.168.1.100) 56(84) bytes of data.
64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=0.398 ms
64 bytes from 192.168.1.更多视频教程www.fgedu.net.cn100: icmp_seq=2 ttl=64 time=0.412 ms
64 bytes from 192.168.1.100: icmp_seq=3 ttl=64 time=0.401 ms
— 192.168.1.100 ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.398/0.403/0.412/0.006 ms
3.2 测试VIP监控
[root@ha-node1 ~]# pcs status operations VirtualIP
Operations for VirtualIP:
* monitor interval=30s last-rc-change=Fri Apr 4 11:00:00 2026 exec-time=15ms
# 手动停止VIP资源
[root@ha-node1 ~]# pcs resource disable VirtualIP
# 查看资源状态
[root@ha-node1 ~]# pcs status resources
* VirtualIP (ocf::heartbeat:IPaddr2): Stopped (disabled)
* ClusterIP (ocf::heartbeat:IPaddr2): Started ha-node1
# 重新启用资源
[root@ha-node1 ~]# pcs resource enable VirtualIP
# 验证资源启动
[root@ha-node1 ~]# pcs status resources
* VirtualIP (ocf::heartbeat:IPaddr2): Started ha-node1
* ClusterIP (ocf::heartbeat:IPaddr2): Started ha-node1
Part04-VIP资源优化
4.1 优化VIP配置
[root@ha-node1 ~]# pcs resource update VirtualIP \
op monitor interval=15s timeout=10s \
op start timeout=15s \
op stop timeout=15s
# 验证更新
[root@ha-node1 ~]# pcs resource show VirtualIP
Resource: VirtualIP (class=ocf provider=heartbeat type=IPaddr2)
Attributes: cidr_netmask=24 ip=192.168.1.100
Operations: monitor interval=15s timeout=10s (VirtualIP-monitor-interval-15s)
start interval=0s timeout=15s (VirtualIP-start-interval-0s)
stop interval=0s timeout=15s (VirtualIP-stop-interval-0s)
# 设置资源粘性
[root@ha-node1 ~]# pcs resource update VirtualIP meta resource-stickiness=100
# 验证粘性设置
[root@ha-node1 ~]# pcs resource show VirtualIP
Resource: VirtualIP (class=ocf provider=heartbeat type=IPaddr2)
Attributes: cidr_netmask=24 ip=192.168.1.100
Meta Attrs: resource-stickiness=100
Operations: monitor interval=15s timeout=10s (VirtualIP-monitor-interval-15s)
start interval=0s timeout=15s (VirtualIP-start-interval-0s)
stop interval=0s timeout=15s (VirtualIP-stop-interval-0s)
- 使用合适的监控间隔(15-30秒)
- 配置ARP刷新确保快速切换
- 设置资源粘性避免频繁切换
- 定期测试故障转移
- 监控VIP连通性
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
