我希望通过直接路由交换技术设置负载平衡器。我通过以下方式安装了 ipvsadm
$ sudo apt-get install ipvsadm
设置
Virtual IP is 172.17.10.173 subnet mask 255.255.240.0
linux director IP is 172.17.6.111
Real Server1 is 172.17.2.210
Real Server2 is 172.17.14.11
我已遵循这由于我没有安装任何补丁,因此除了真实服务器中的 /etc/sysctl.conf 中的设置之外,没有其他用于直接路由的页面。
我在连接 VIP 时遇到了问题。
curl 172.17.10.173
没有给出任何回应。
答案1
您是否还配置了 heartbeat,或者您此时仅配置了 ipvsadm?您可以运行以下命令
ipvsadm -ln
这将列出您当前的配置,您可以将其添加到您的帖子中。
使用 DR 最常见的错误是人们错误地配置了真实服务器上的环回适配器。
运行命令
ipvsadm -lnc
将显示 ipvs 当前已接收的连接。
尝试连接到您的 VIP,然后运行上述命令。您首先要寻找从测试客户端到真实服务器的连接。然后注意连接状态(末尾的位)是已建立,还是 SYN_RECV?如果是 SYN_RECV,则安装了 ipvsadm 的设备尚未从真实服务器收到 syn_recv 数据包,这表明您的环回适配器存在问题。
另外,您从哪里运行 CURL 命令?它是在您网络上的单独客户端上吗?