我们在上一章节知道了 IP 别名是怎么回事了,那么,它有什么用呢?
刚才我们说到,调度器通过修改数据包的目标 MAC 地址,将它转发给实际服务器,注意,它并没有修改目标 IP 地址,那么一旦数据包到了实际服务器后,发现实际服务器的 IP 地址并不是数据包的目标 IP 时,你也许无法想象会发生什么事,我想这大概就跟梦游的人醒来时的感觉一样。
没错,我们要做的,就是给实际服务器添加和调度器 IP 地址相同的 IP 别名,这样才可以让转发到实际服务器的数据包找到归属感。
在此之前,我们先将前面的网络结构进行一番调整,如图 2-17 所示,其中各台服务器的 IP 地址和网关如表 2-8 所示。
可以看到,我们为两台实际服务器配置了外部网络 IP 地址,这些 IP 地址通常需要你从 IDC 那里购买。同时,我们为调度器也配置了 IP 别名,这将为调度器的故障转移提供便利,后面我们会介绍调度器的可用性。
这样一来,我们将通过 125.12.12.77 这个 IP 别名来访问调度器,你可以将站点的域名指向这个 IP 别名。
接下来,我们为实际服务器配置与调度器相同的 IP 别名,这里我们将 IP 别名添加到回环接口 lo 上,并且设置路由规则,让实际服务器不要去寻找其他拥有这个 IP 别名的服务器,命令行操作如下:
ifconfig lo:0 125.12.12.77 broadcast 125.12.12.77 netmask 255.255.255. 255 up route add -host 125.12.12.77 dev lo:0
现在,我们通过 ifconfig 命令来查看网络接口,可以看到以下结果:
lo Link encap:Local Loopback inet addr:127.0.0.1Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNINGMTU:16436Metric:1 RX packets:111299279 errors:0 dropped:0 overruns:0 frame:0 TX packets:111299279 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 lo:0 RX bytes:3748942531 (3575.2 Mb)TX bytes:3748942531 (3575.2Mb) Link encap:Local Loopback inet addr:125.12.12.77Mask:255.255.255.255 UP LOOPBACK RUNNINGMTU:16436Metric:1
另外,还要防止实际服务器响应来自网络中针对 IP 别名的 ARP 广播,为此,执行以下操作即可:
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
好,准备工作一切就绪后,我们就可以使用 ipvsadm 命令来配置 LVS-DR 集群了。
未完待续!
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程