欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Windows集群网络配置最佳做法

程序员文章站 2022-07-04 16:28:42
Windows集群网络配置最佳做法...

  摘要

  本文为 microsoft windows 2000 或 windows server 2003 服务器群集的网络基础结构提供了服务器群集要求和最佳做法。若要群集可以正常运行,必须满足这些要求。最佳做法是从部署反馈和现场发现的问题中得来的一些建议。

  群集网络要求

  本节介绍服务器群集对于网络基础结构的要求。若要服务器群集解决方案可以正常运行,必须满足这些要求。

  一般要求

  本节介绍适用于所有服务器群集部署的要求。

  群集的所有硬件配置都必须从“群集硬件兼容性列表”(hcl) 中选择。网络接口控制器 (nic) 以及认证的群集配置中使用的任何其他组件都必须具有 windows 徽标且包含在“microsoft 硬件兼容性列表”中。

  注意: 使用已记录但并未出现在群集 hcl 中的组件来构建的群集配置不是合格的配置。

  两个或多个独立网络必须连接群集多个节点,以便避免单点故障。必须使用两个本地局域网 (lan);不支持使用单一网络的群集配置。

  每个群集网络故障的出现都必须独立于所有其他群集网络。也就是说,两个群集网络不能具有可导致两个网络同时出现故障的共用组件。例如,在大多数情况下,如果使用多端口 nic 将某个节点连接到两个群集网络就不满足这个要求,因为端口不是独立的。同样地,共用一个交换机的两个网络也有可能出现单点故障。确保您的群集满足这一要求的最简单的方法就是使用物理上独立的组件来构建群集网络。

  所有用于将多个节点连接到同一群集网络的适配器都必须使用相同的通信配置,例如相同的“速度”、“双工模式”、“流量控制”和“介质类型”。如果适配器连接到某个交换机,则这个交换机的端点配置必须匹配这些适配器的端点配置。

  每个群集网络必须配置为一个 ip 子网,并且子网号必须与其他群集网络的子网号不同。例如,一个群集可以使用配置为以下子网地址的两个网络:10.1.x.x 和 10.2.x.x,掩码为 255.255.0.0。节点的地址可以由 dhcp 动态指定,但我们推荐人工配置静态地址(参见“群集网络最佳做法”一节)。不支持使用“动态专用 ip 地址”(apipa) 来配置群集网络。并且,apipa 也不能用于连接到多个网络的计算机。

  若要支持群集节点之间的内部通信,则最少必须配置两个群集网络,以避免单点故障。也就是说,这些网络角色的“群集服务”必须配置为“只用于内部群集通信”或“所有通信”。通常,其中会有一个网络专用于连接内部群集通信(参见“群集网络最佳做法”一节)。 //本文来自www.jb51.net

  目前还不支持在所有群集网络上同时使用 nic 组。最少会有一个支持群集节点间的内部通信的群集网络不能成组。通常,这个不能成组的网络就是专用于连接这种类型通信的网络。在其他群集网络上使用 nic 组是可以接受的;但是,如果某个成组网络中出现通信问题,microsoft product support services 可能会要求禁用该组。如果此操作可以解决问题,那么您必须向成组解决方案的提供商寻求更进一步的帮助。

  群集的节点必须属于一个域。域配置必须满足以下要求,以便避免在身份验证过程中出现单点故障:

  这个域必须最少具有两个域控制器,如果使用 dns 解析域中的名称,则最少必须配置两个 dns server。dns 服务器应当支持动态更新,每个域控制器和群集节点必须配置一个主 dns server 和最少一个辅助 dns server。如果域控制器同时也是 dns server,那么对于主 dns 解析,每个域控制器都应当指向本身,对于辅助解析,则应当指向其他 dns server,最少必须有两个域控制器配置为全局编录服务器。

  地理位置分散的群集

  本节讨论对于地理位置分散的群集附加的一些要求:

  群集中的节点可以位于不同的物理网络中;但是群集节点之间专用网络连接和公用网络连接必须是使用类似于虚拟 lan (vlan) 技术的单一、非路由的 lan。

  任何两个群集节点间的往返通信延迟都不能超过 500 毫秒。

  对于 lan,每个 vlan 故障的出现都必须独立于其他所有群集网络。

  由于地理位置分散的群集的复杂性,任何问题都需要得到硬件制造商或硬件供应商的帮助。通常,需要提供一些第三方软件和驱动程序群集才能正常工作。 microsoft product support services 可能不知道这些组件如何与 windows clustering 交互。

  群集网络最佳做法

  本节介绍部署服务器群集的网络最佳做法。

  硬件规划建议

  在所有群集节点中使用相同的 nic;也就是说,每个适配器都具有相同的制造商、型号和固件版本。

  保留一个网络专用于群集节点之间的内部通信。这是专用网络。使用其他网络与客户端通信。这些是公用网络。不要在专用网络上使用 nic 组。

  网络接口控制器配置建议
  
  人工选择每个群集 nic 的速度和双工模式。不要使用自动检测。一些适配器丢失数据包时会自动协商网络设置。一个网络中的所有适配器都必须配置为使用相同的速度和双工模式。如果适配器连接到某个交换机,请确保这个交换机的端点配置与这些适配器的端点配置匹配。

 对于专用网络,请对所有节点使用静态 ip 地址。请从以下一个范围中选择地址:

  10.0.0.0 - 10.255.255.255(a 类网络)

  172.16.0.0 - 172.31.255.255(b 类网络)

  192.168.0.0 - 192.168.255.255(c 类网络)

  对于公用网络,请对所有节点使用静态 ip 地址。不推荐通过 dhcp 进行动态配置。因为无法续订租期会打断群集操作。

  不要在专用 nic 上配置 dns 服务器、wins 服务器或默认网关。

  应当在公用 nic 上配置 wins 或 dns 服务器。如果网络名称资源将会部署在公用网络上,那么 dns 服务器就应当支持动态更新;否则系统就会在故障转移时提示进行名称到 ip 地址映射更新。  如果群集节点使用公用 nic 与远程子网上的客户端或服务通信,则请务必在这些 nic 上配置默认网关。请注意在具有多个公用网络的群集中,配置多个网络中的节点作为一个默认网关可能会导致路由问题。

  在每个群集节点上,请将网络连接顺序设置为:

  公用网络 – 最高优先级

  专用网络

  远程网络连接 – 最低优先级

  更改每个网络连接的默认名称,以便清楚地表明每个网络的用途。例如,您可以将专用网络连接的名称从本地网络连接 (x) 更改为专用群集网络。

  专用 lan 应当是独立的。只有群集节点可以连接到专用子网。如果存在多个群集,请对所有群集的专用网络使用相同的子网。但是,不能将其他网络基础结构(例如域控制器、wins 服务器、dhcp 服务器等)放置到专用子网中。

  若要创建独立的网络分段,您可以使用具有创建 vlan 分段能力的交换机或是使用集线器,如果是 2 节点服务器群集,也可以使用交叉线缆。

  您应当禁用 tcp/ip 的介质探测策略,以便确保如果线缆断开或是介质探测丢失,tcp/ip 配置和相应的群集网络配置不会失效。将以下注册表值添加到每个节点:

  hkey_local_machine\system\currentcontrolset\services\tcpip\parameters

  值名称:disabledhcpmediasense
  
  数据类型:reg_dword

  数据:1

 群集服务配置建议

  将专用网络角色设置为“只用于内部群集通信”。确认每个公用网络的角色被设置为“所有通信”(这是默认值)。

  配置内部群集通信最优先使用专用网络。

  实施最佳做法的过程

  本节介绍实施最佳做法的过程:

  在配置群集服务之前配置网络接口控制器

  按照如下方法配置每个 nic 的速度:

  打开“控制面板”。打开“网络连接”。右键单击相应的连接对象,然后选择“属性”。单击“配置”,然后选择“高级”。

  使用下拉列表,设置所需的网络速度。

  确保其他设置(例如“双工模式”)与网络上的所有适配器相同。

  按照如下方法配置专用 nic 的“internet 协议”设置:

  返回“网络连接”。打开相应连接对象的“属性”。

  确保选中“internet 协议 (tcp/ip)”复选框。

  突出显示“internet 协议”,然后选择“属性”。

  单击“使用以下 ip 地址”单选按钮,然后输入一个静态地址。

  确保没有为专用网络配置任何默认网关。

  请确认“使用以下 dns server 地址”框中没有任何值。单击“高级”。在“dns”选项卡上,确认没有定义任何值。请确保“在 dns 中注册此连接的地址”和“在 dns 注册中使用此连接的 dns 后缀”复选框没有选中。注意,如果群集节点是 dns 服务器,那么 ip 地址 127.0.0.1 将会出现在列表中,并一直位于列表中。

  按照以下方法配置网络连接顺序:

  返回“网络连接”。选择“高级”。选择“高级设置”。在“连接”框中,按照如下方式排列网络连接顺序:

  公用网络

  专用网络

  远程访问连接

  按照以下方法更改网络连接的默认名称:

  返回“网络连接”。右键单击网络连接对象。选择“重命名”。编辑名称值。

  用于代表某个网络(例如专用网络)的连接对象的名称在所有节点上都必须一致。如果连接对象的名称不一致,“群集服务”将会选择一个名称,并更改其他名称以匹配这个名称。  在配置群集服务之后配置群集网络属性

  windows 2000

  在安装群集软件时,每个网络都会出现一个“配置群集网络”对话框(以任意顺序)。对于公用网络,请确保名称和 ip 地址匹配公用网络的网络接口。选中复选框“为群集使用启用这个网络”。选中“所有通信(混合网络)”选项。对于专用网络,请确保名称和 ip 地址匹配专用网络的网络接口。选中复选框“为群集使用启用这个网络”。选中“只用于内部群集通信”选项。

  安装期间的默认配置是将公用网络适配器配置为“所有通信”,将专用(信号)网络适配器配置为“只用于内部群集通信”。microsoft 建议您保留此默认配置。为了您的群集能够正确安装和工作,您必须将最少一个网络配置为“内部群集通信”或“所有通信”。

  windows server 2003

  windows server 2003 群集配置向导在配置期间不提供更改网络设置的方式。所有网络的默认设置都是启用“所有通信”。这将确保群集可以正常工作。为了符合最佳做法,您应当按照以下方法将其中一个网络设置为专用网络,并将专用网络设置为内部群集通信最优先使用的网络:

  按照以下方法将专用网络角色设置为“内部群集通信”:

  在群集管理器中,双击群集名称。您将会看到一个 cluster configuration 文件夹。

  双击 cluster configuration 文件夹,然后双击 networks 文件夹就可以看到所有可用的群集网络。

  选择要为专用群集通信配置的网络,然后选择“属性”。

  在这个网络的“属性”中,您将会看到一些角色(例如“只用于客户端访问”)。对于专用网络,请确保选中“为群集使用启用这个网络”复选框以及“只用于内部通信”角色。

  按照以下方法专用网络配置为内部群集通信最优先使用的网络:

  在“群集管理器”中,选择群集,然后选择“属性”。

  从“网络优先级”选项卡中,确认专用网络处于最顶端。

  如果没有,请使用“向上移动”按钮来提高它的优先级。

  ipsec

  尽管可以对在服务器群集中可实现故障转移的应用程序使用 internet 协议安全 (ipsec),但 ipsec 并非专为故障转移的情况而设计,因此我们推荐您不要对服务器群集中的应用程序使用 ipsec。

  主要的问题就是如果发生故障转移的话,internet 密钥交换 (ike) 安全关联 (sas) 并不会从一台服务器传送到另一台服务器,因为它们是存储在每个节点上的本地数据库中的。

  在受 ipsec 保护的连接中,会在第一阶段协商时创建一个 ike sa。在第二阶段中会创建两个 ipsec sa。一个超时值会与 ike 和 ipsec sa 关联。如果没有使用“主密钥完全向前保密”,则系统就会使用 ike sa 的密钥资料创建 ipsec sa。在这种情况下,客户端必须等待入站 ipsec sa 的默认超时时间或有效期限结束,然后等待与 ike sa 有关的超时时间或有效期限。

  “安全关联空闲计时器”(security association idle timer) 默认超时时间是 5 分钟,在出现故障转移的情况下,客户端至少必须等候 5 分钟,直到所有资源在线后,才可以使用 ipsec 重新建立连接。

  尽管没有为群集环境优化设计 ipsec,但如果安全连接的重要性超过故障转移导致客户端停机时间的威胁,则您也可以使用 ipsec。

  netbios

  在 windows server 2003 中,群集服务不要求使用 netbios;但是如果禁用 netbios 的话,有一些服务就会受到影响。您应当了解以下情况:

  默认情况下,在配置群集时,在群集的“ip 地址”资源中是 启用 netbios 的。一旦群集创建完毕,您就应当通过取消选中“群集 ip 地址”资源属性页的参数页上的复选框来禁用 netbios。

  在您创建其他“ip 地址”资源时,您应当取消选中“netbios”复选框。

  在禁用 netbios 时,您将不能在打开指向某个群集的连接时使用“群集管理器”的“浏览”功能。“群集管理器”使用 netbios 来枚举域中的所有群集//本文来自www.jb51.net 。

  打印和文件服务会被禁用 – 不会有任何虚拟名称被添加为重定向器终结点。

  如果指定群集名称,则“群集管理器”将无法工作。“群集管理器”调用 getnodeclusterstate,后者使用远程注册表 api,注册表 api 则反过来根据虚拟名称使用命名管道。