本文针对验证 Windows Server 2008 故障转移群集时出现重复地址错误的问题提供了解决方法。
重要
本文包含有关如何修改注册表的信息。 在修改注册表之前,请确保已备份注册表。 确保您知道如何在出现问题时还原注册表。 有关如何备份、还原和修改注册表的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:322756 如何在 Windows 中备份和还原注册表
原始 KB 数: 969256
症状
当您为 Windows Server 2008 群集运行群集验证向导时,验证失败。 此外,您可能会收到如下错误消息的错误信息:
验证每对节点之间是否有重复的 IP 地址。
找到在节点
servername.domainname.com
适配器“本地连接 19”和节点server2name.domainname.com
适配器“本地连接 19”上重复的物理地址02-10-18-39-6D-38。在节点
servername.domainname.com
适配器本地连接11和节点server2name.domainname.com
适配器本地连接11上发现重复的IP地址fe80::100:7f:fffe%14。
原因
仅当以下条件之一成立时,才会出现此问题。
- Teredo 过渡技术已在 Windows Server 2008 集群节点上启用。 Teredo 允许 IPv6 通信通过 IPv4 NAT 和 IPv4 服务器。 然而,Teredo为其网络接口提供相同的IPv6地址。 故障转移群集将此标记为错误,因为它需要唯一的IP地址。
- 引用的服务器都是从同一个映像构建的,并在每个节点上自动创建具有相同 MAC 地址的集群 NetFT 适配器。 故障转移群集将其标记为错误,因为它需要唯一的物理地址。
决议
根据您收到的错误信息组合,可能有两种解决方案。
问题 1
如果错误消息不包含对“重复物理地址”的引用,那么很可能是由 Teredo 引起的问题。 要解决此问题,请通过以下两种方法之一禁用 Teredo。
注释
故障转移群集验证测试已在 Windows Server 2008 SP2 及更高版本和 Windows Server 2008 R2 中更改,以便 Teredo 地址不会导致测试发出失败或警告。
方法 1:使用 Netsh 命令关闭 Teredo
依次单击“ 开始”、“ 所有程序”、“ 附件”、“ 命令提示符”,然后单击“ 以管理员身份运行”。
注释
如果出现 “用户帐户控制 ”对话框,请确认对话框显示的作是所需作,然后单击“ 继续”。
在命令提示符中,输入以下几行(每行后按下回车键):
netsh interface teredo set state disabled
关闭命令提示符。
方法 2:通过在 Windows Server 2008 中指定注册表设置来关闭 Teredo
重要
本节、方法或任务包含指导您如何修改注册表的步骤。 如果您错误地修改注册表,可能会出现严重问题。 因此,请仔细遵循这些步骤。 为了增加保护,在修改注册表之前备份它。 然后,如果出现问题,您可以恢复注册表。 有关如何备份和还原注册表的更多信息,请单击以下文章编号以查看微软知识库中的文章:322756 如何在 Windows 中备份和还原注册表。
为了获得最佳结果,请关闭正在更改注册表设置的计算机上的所有程序。
依次单击“ 开始”、“ 所有程序”、“ 附件”、“ 命令提示符”,然后单击“ 以管理员身份运行”。
注释
如果出现 “用户帐户控制 ”对话框,请确认对话框显示的作是所需作,然后单击“ 继续”。
请在命令行输入
regedit
。请定位到以下注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6
右键单击 “参数”,单击 新建,单击 “DWORD”,然后键入新值的名称“DisabledComponents”。 确保您输入的名称与显示的一模一样,包括大小写。 然后单击 Enter。
双击 DisabledComponents。
在编辑 DWORD 值对话框中,在基数字段下单击十六进制,然后在数值数据字段中输入8。
单击 “确定” 。
重启电脑
注释
您也可以通过使用设备管理器来禁用Teredo。 然而,这仅仅禁用了 Teredo 适配器,因此系统不再显示该适配器。 这不会禁用 Teredo 的底层逻辑。 这可能会在之后引发问题。 因此,我们建议您通过命令行或注册表项来禁用 Teredo。
问题 2
如果错误消息包含对“重复物理地址”的引用,则问题很可能是因为引用的服务器基于同一映像。 为了解决此问题,请卸载并重新安装故障转移群集功能。 要做到这一点,请按照以下步骤操作:
移除故障转移群集功能。 要做到这一点,请按照以下步骤操作:
- 打开服务器管理器。
- 在导航窗格中,点击功能,然后点击移除功能.
- 单击以取消选中 Failover Clustering 复选框。
- 请检查警告对话框,确保您已准备好继续。 单击是,然后单击下一步。
- 验证要删除的选项,单击“ 删除”,然后单击“ 关闭”。
重新安装故障转移群集功能。 要做到这一点,请按照以下步骤操作:
- 打开服务器管理器。
- 在导航窗格中,单击功能,然后单击添加功能。
- 单击以选择 故障转移群集 复选框,然后单击 下一步。
- 确认您所需的选项已被添加,然后点击Install,接着点击Close。
注释
在添加故障转移群集功能后捕获映像时,不支持使用 Sysprep 命令。 如果安装故障转移群集功能,然后在映像上运行 sysprep 命令,则所有节点的虚拟适配器将具有相同的 MAC 地址。 安装故障转移群集功能时,虚拟网络适配器(NetFT)从物理网络接口卡(NIC)的地址之一获取 MAC 地址。
状态
微软已确认,在本文的“适用于”部分中列出的微软产品存在此问题。
有关 Teredo 转换技术的详细信息,请访问以下网站:
Internet协议版本6、Teredo和Windows Vista中的相关技术
有关如何在 Windows Server 2008 中运行故障转移群集的群集验证向导的详细信息,请访问以下网站: