12.3.1 环境准备与依赖检查
在部署 Keepalived 前,需要完成主备节点的基础环境准备与依赖检查,确保系统一致性与网络可用性,为后续安装与切换验证打好基础。下文包含环境检查命令、示例输出、常见排错与练习。
原理草图(环境与网络关系)
1. 操作系统与内核要求(示例检查)
- 建议使用稳定的企业发行版(CentOS 7/8、Rocky/AlmaLinux、Ubuntu LTS 等)
- 内核需支持 VRRP 与 IPVS(常见发行版默认满足)
- 主备节点系统版本、内核版本尽量保持一致
检查命令与说明:
# 查看系统版本
cat /etc/os-release
# 查看内核版本
uname -r
# 检查是否支持 IPVS(LVS 场景必须)
lsmod | grep -E 'ip_vs|nf_conntrack'
# 预期:能看到 ip_vs 模块,示例输出
# ip_vs 164864 0
# nf_conntrack 148480 2 ip_vs,nf_conntrack_netlink
2. 网络与主机规划(示例规划与验证)
- 规划主备节点的物理 IP、管理网段与虚拟 IP(VIP)
- 确保 VIP 不与现有地址冲突,网关、DNS 设置正确
- 主备节点之间网络互通(同网段更易部署)
示例规划(仅示例):
- node1:192.168.10.11/24
- node2:192.168.10.12/24
- VIP:192.168.10.100/24
检查连通性与ARP冲突:
# 基本连通性检查
ping -c 3 192.168.10.12
# ARP 冲突检查(VIP 应未被占用)
arping -D -I eth0 192.168.10.100
# 预期:arping -D 返回 0 表示未发现冲突
3. 账号与权限(示例检查)
- 以 root 或具备 sudo 权限的运维账号执行安装与配置
# 检查当前用户与sudo权限
whoami
sudo -l
# 预期:sudo -l 可列出允许命令
4. 依赖软件与包检查(示例安装)
- Keepalived 运行依赖:openssl、libnl、iproute、gcc(源码安装时)
- 常用工具:curl、net-tools、psmisc、lsof 便于验证与排查
- LVS 场景需检查 ipvsadm 是否可用(或内核已启用 IPVS)
CentOS/Rocky/AlmaLinux:
# 安装基础依赖
yum -y install openssl openssl-devel libnl3 libnl3-devel \
iproute net-tools psmisc lsof curl gcc make
# LVS 管理工具
yum -y install ipvsadm
Ubuntu/Debian:
apt update
apt -y install openssl libssl-dev libnl-3-200 libnl-3-dev \
iproute2 net-tools psmisc lsof curl gcc make ipvsadm
5. 系统服务与防火墙(示例放行 VRRP)
- VRRP 使用协议号 112(不是 TCP/UDP 端口)
- firewalld/iptables 需放行 VRRP;SELinux 建议 permissive 或配置例外
firewalld 放行 VRRP:
# 允许 VRRP 协议
firewall-cmd --permanent --add-protocol=vrrp
firewall-cmd --reload
firewall-cmd --list-all | grep -i vrrp
iptables 放行 VRRP(如使用传统iptables):
iptables -I INPUT -p vrrp -j ACCEPT
service iptables save
SELinux 调整(临时/持久):
# 临时设置
setenforce 0
# 持久设置:将 SELINUX=permissive
sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
6. 时间同步与主机名(示例配置)
- 配置 NTP/chrony 保证时间同步
- 设置清晰的主机名与 /etc/hosts 解析,便于运维管理
# 设置主机名
hostnamectl set-hostname node1
# /etc/hosts 示例
cat >> /etc/hosts <<'EOF'
192.168.10.11 node1
192.168.10.12 node2
EOF
# 启用 chrony 并同步时间
systemctl enable --now chronyd
chronyc tracking
7. 关键排错思路(示例)
- VRRP 不通:检查防火墙协议 112、网卡是否在同一广播域
- VIP 冲突:使用 arping -D 检测,避免与现有IP重复
- ip_vs 模块未加载:尝试 modprobe ip_vs 并检查内核支持
排错命令:
# 检查 VRRP 报文(需要 tcpdump)
tcpdump -i eth0 vrrp
# 加载 IPVS 模块
modprobe ip_vs
lsmod | grep ip_vs
8. 练习(动手验证)
1. 在两台虚机上完成系统版本、内核、网络连通性检查,并记录输出。
2. 使用 arping -D 验证 VIP 是否冲突。
3. 放行 VRRP 协议并用 tcpdump 验证 VRRP 报文是否可见(稍后安装 Keepalived 后验证更直观)。
4. 完成依赖包安装,确保 ipvsadm -L 能正常执行。
完成以上准备后,即可进入安装方式选择与具体部署配置流程。