在心跳和保持不变的情况下,我一直使用的冗余选项是通过将虚拟IP地址移动到新机器(第3层解决方案)来工作的。新机器发送一个免费的arp来告诉网络上的机器它的MAC地址是那个IP的新MAC地址。
是否有任何当前的网络冗余选项使用虚拟MAC地址(第二层)在计算机和虚拟IP之间移动?这对于某些不理解GARP请求的操作系统是有用的。我确实找到了这个备存线程 (来自一个Server ),但它是从2005年回来的。有人知道Linux中虚拟mac故障转移的当前状态吗?
发布于 2012-01-10 23:07:46
VRRP (RFC2338 for VRRPv2,RFC5798 for VRRPv3,其中添加了IPv6支持)为每个实例的虚拟路由器使用虚拟MAC地址,但在切换时仍然发送免费的IPv6地址。
而被保留的VRRP实现忽略了规范的这一部分,只使用了接口MAC,而VRRPd能够使用虚拟MAC。
但是,虚拟MAC的概念与的概念不太一致;VRRPd进程必须在接口接管时将接口的MAC地址更改为虚拟MAC地址,从而防止在给定的接口上运行多个VRRP虚拟路由器。
发布于 2012-01-10 14:28:04
当然,HP的各种“VirtualConnect”产品允许您使用预先配置的MAC或范围的MAC,然后根据需要映射到特定的服务器。我已经广泛地使用了这个方法,虽然我们使用它在物理服务器到达现场之前预先定义了新服务器的以太网和FC环境,但是它可以以您描述的方式使用。
这完全是与操作系统无关的,顺便说一句,这是一个虚拟硬件问题,除了通过某种形式的脚本编写之外,我不知道有一种特定于Linux的方法可以做到这一点。
发布于 2012-01-10 14:36:00
鲤鱼对每个IP冗余组使用虚拟MAC地址(类似于VRRP,但不使用专利担保)。组中的主主机使用虚拟MAC进行响应。当故障转移发生时,MAC不会改变。我在Linux上使用了乌卡普,并且对它非常满意。
编辑:
这不会对你有帮助的(大家,投反对票吧!)我链接到的Linux实现,ucarp实际上并不使用虚拟MAC地址。最初的OpenBSD实现有,但Linux实现没有。在我的部署中,一切都按我的要求工作,所以我从未深入研究过它(直到今天早上),以确保它在第二层没有为凯尔的需求做任何有用的事情。
我在Linux列表上看到了一些关于在故障转移时间使用ifconfig
为接口分配虚拟MAC地址的讨论。这听起来并不是一个非常糟糕的选择,特别是如果你使用虚拟硬件,并且能够“花费”一个虚拟网卡在上面。
https://serverfault.com/questions/348484
复制相似问题