"LVS.txt 是一个用于安装和配置 LVS (Linux Virtual Server) 的脚本,它包含了启动和停止 LVS Director Server 的命令。LVS 主要用于实现负载均衡,这里的脚本示例展示了 DR (Direct Routing) 模式的配置。"
在 LVS 系统中,DR 模式是一种常用于网络负载均衡的技术,它通过 IP 包的源地址或目标地址修改来实现。在这个脚本中,我们看到以下关键知识点:
1. 虚拟 IP (VIP) 地址:`VIP=192.168.0.233`,这是对外提供服务的 IP 地址,客户端将这个 VIP 当作服务器进行访问。
2. 真实服务器 IP (RIP) 地址:`RIP1=192.168.0.45` 和 `RIP2=192.168.0.82`,这两个是实际处理请求的服务器 IP 地址。在 DR 模式下,真实服务器需要在同一物理网络段内。
3. 启动 LVS Director Server:
- 配置虚拟 IP:`/sbin/ifconfig eth0:1 $VIP broadcast $VIP netmask 255.255.255.255 up`
- 添加路由规则:`/sbin/route add-host $VIP dev eth0:1`
- 清除 IPVS 表:`/sbin/ipvsadm -C`
- 设置 LVS:`/sbin/ipvsadm -A -t $VIP:9000 -s rr`(rr 代表轮询调度算法)
- 添加后端真实服务器:`/sbin/ipvsadm -a -t $VIP:9000 -r $RIP1:9000 -g` 和 `/sbin/ipvsadm -a -t $VIP:9000 -r $RIP2:9000 -g`
4. 停止 LVS Director Server:
- 移除虚拟 IP:`ifconfig eth0:1 down`
- 清除 IPVS 表:`/sbin/ipvsadm -C`
5. Real Server 脚本:
- 配置虚拟 IP 到本地回环接口:`/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up`
- 添加路由规则:`/sbin/route add-host $VIP dev lo:0`
- 配置 ARP 忽略和通告规则以避免 ARP 冲突:`echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore` 等
6. ARP 相关设置:
- 在 Real Server 上,通过修改 `/proc` 文件系统中的 ARP 相关参数,确保服务器只响应其自己的 IP 地址的 ARP 请求,从而防止网络中的其他节点将其视为默认网关。
这个 LVS 脚本展示了如何自动化配置 LVS Director Server 和 Real Server,实现网络层面的负载均衡。在实际环境中,可能需要根据具体需求调整 IP 地址、端口和调度算法等参数。