起搏器虚拟IP和IPTables

我试图在Ubuntu Server 10.04上build立一个运行Heartbeat,Pacemaker和Varnish的两个VMware虚拟机的集群,目的是将它们作为主要和备用的装载器平衡器用于进一步的虚拟机。 Varnish工作正常,并且Heartbeat按照以下ha.cfconfiguration按照预期来select这两个虚拟机:

autojoin none bcast eth0 crm respawn deadtime 20 initdead 120 keepalive 2 logfacility syslog node VMViper node VMJester warntime 5 

VPViper的IP为192.168.1.54,VMJester的IP为192.168.1.53。 我已经在/ etc / hosts中设置了这些设置,并在我的物理路由器(使用Tomato 1.28的WRT54GL)上使用了静态的DHCP。 我可以通过这些IP在浏览器中看到后端网站。

IPTables看起来像:

 :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -i eth0 -p udp -m udp --dport 80 -j ACCEPT -A INPUT -i eth0 -p udp -m udp --dport 694 -j ACCEPT 

我现在想在Pacemaker中为服务于该站点的单个虚拟IP。 我还有:

 sudo crm configure property stonith-enabled=false sudo crm configure primitive cluster ocf:heartbeat:IPaddr params ip=192.168.1.61 op monitor interval=10s 

这创build了一个工作集群(迄今为止缺less任何重要的configuration):

 node $id="08a94061-336c-422d-bf72-910662045127" vmviper node $id="d4364751-0307-4a71-a303-5df01cbc919c" vmjester primitive mycluster ocf:heartbeat:IPaddr \ params ip="192.168.1.61" \ op monitor interval="10s" property $id="cib-bootstrap-options" \ dc-version="1.0.8-042548a451fce8400660f6031f4da6f0223dd5dd" \ cluster-infrastructure="Heartbeat" \ stonith-enabled="false" 

取下任一VM将群集的位置(sudo crm资源状态mycluster)移动到工作机器。 到目前为止这么好,但现在我缺乏networking天赋意味着我已经遇到了困难。 所以现在我有很多问题:

我不太了解虚拟IP的概念。 我在Pacemakerconfiguration中添加了192.168.1.61作为我的虚拟IP,但是在其他任何地方都没有引用。 我应该期望在路由器界面中看到一个新的虚拟接口的MAC地址吗? 我需要改变以使其可见?

据推测,我也应该从外部世界隐藏192.168.1.54和192.168.1.53。 我如何去做这件事?

我读过的一篇文章说,我需要在/etc/sysctl.conf中设置net.ipv4.ip_forward = 1。 这是一个必要的步骤?

虚拟IP(VIP)在两个真实IP地址之间浮动。 在主群集节点发生故障的情况下,需要从外部使用一致的IP地址。 它使用持有真实IP地址的接口的MAC地址。

你最终可能要隐藏.53和.54的地址,但我不会担心蝙蝠的权利。

如果您的其他服务器位于冗余负载平衡器后面,则需要ip_forward,因为负载平衡器将充当路由器,因此需要转发stream量。

当您将浏览器指向192.168.1.61地址时,您会得到什么?