服务器群集是一组协同工作并运行Microsoft群集服务(Microsoft Cluster Service,MSCS)的独立服务器。服务器群集为资源和应用程序提供高可用性、故障恢复、可伸缩性和可管理性。
服务器群集允许客户端在出现故障和计划中的暂停时,依然能够访问应用程序和资源。如果群集中的某一台服务器由于故障或维护需要而无法使用,资源和应用程序将转移到可用的群集节点上。
Windows群集(Windows Clustering)解决方案使用了名词“高可用性”而非“容错”。容错技术提供更高层次的弹性和恢复能力。容错服务器通常使用深层硬件冗余,加上专门的软件,几乎可以即时地恢复任何单一的硬件或软件错误。这些解决方案要比Windows群集(Windows Clustering)解决方案昂贵得多,因为组织必须为处于空闲状态等待错误的冗余硬件支付费用。
服务器群集无法保证无间断运作,但是确实能够为多数关键任务应用程序提供足够的可用性。群集服务可以对应用程序和资源进行监控,并能够自动识别和恢复众多故障状况。这为在群集中管理工作负荷提供了灵活性。另外,还提高了整个系统的可用性。
群集服务(Cluster service)的优点包括:
· 高可用性:通过服务器群集,资源(例如:磁盘驱动器和Internet协议(IP)地址)的所有权会自动从故障服务器转移到可用的服务器。当群集中的某个系统或应用程序发生故障时,群集软件会在可用的服务器上重新启动故障应用程序,或者将工作从故障节点分散到剩下的节点上。由此,用户只在瞬间感觉到服务的暂停。
· 故障恢复:当故障服务器重新回到其预定的首选所有者的联机状态时,群集服务将自动在群集中重新分配工作负荷。该特性可配置,但默认禁用。
· 可管理性:您可以使用“群集管理器”工具(CluAdmin.exe),将群集作为一个单一的系统进行管理,并对犹如运行于一个单一服务器的应用程序实施管理。您可以将应用程序转移到群集中的其它服务器。“群集管理器”可用于手动平衡服务器的工作负荷,并针对计划维护释放服务器。您还可以监控群集的状态、所有节点以及来自网络任何地方的资源。
· 可伸缩性:群集服务可扩展以满足需求的增长。当群集监督应用程序的总体负荷超出了群集的能力范围时,可以添加附加的节点。
本文档提供有关针对连接到共享群集存储设备并运行Server 2003 Enterprise Edition或Windows Server 2003的服务器创建和配置服务器群集的指导。本文档的目的是为了指引您完成安装典型群集的步骤,并未解释如何安装群集应用程序。而对于实施非传统仲裁模型,如:多数节点集(Majority Node Set,MNS),的Windows群集(Windows Clustering)解决方案和地理位置分散的群集也不予以讨论。关于服务器群集概念以及安装和配置步骤的附加信息,请参见“Windows Server 2003在线帮助”。
服务器群集配置清单:本清单帮助您进行安装准备,其后接具体的步骤指导。
软件要求· 群集中的所有计算机均安装了Microsoft Windows Server 2003 Enterprise Edition或Windows Server 2003 Datacenter Edition。
· 一个名称解析法,比如:域名系统(Domain Name System,DNS)、DNS动态更新协议、Windows Internet名称服务(Windows Internet Name Service,WINS)、HOSTS等等。
· 一个现有的域模型。
· 所有的节点必须是同一个域的成员。
· 一个域级帐户,必须是每个节点上的本地管理员组的成员。建议采用专用帐户。
硬件要求· 群集硬件必须属于群集服务硬件兼容性列表(Hardware Compatibility List,HCL)。要查找最新的群集服务硬件兼容性列表,请登陆位于http://www.microsoft.com/hcl/的Windows硬件兼容性列表(Windows Hardware Compatibility List),然后搜索“cluster”(群集)。整个解决方案必须得到HCL认证,而不仅仅是个别组件。附件信息,请在Microsoft知识库(Microsoft Knowledge Base)中参阅下方文章:
309395 Microsoft对于服务器群集和硬件的支持策略(The Microsoft Support Policy for Server Clusters and the Hardware)
注意:如果您正在存储区域网络(SAN)上安装该群集,并计划让多个设备和群集与之共享SAN,那么该解决方案也必须服从“群级/多群集设备(Cluster/Multi-Cluster Device)”硬件兼容性列表。附加信息,请在Microsoft知识库中参阅下方文章:
304415 针对附加到相同SAN设备的多群集的支持(Support for Multiple Clusters Attached to the Same SAN Device)
· 两个超大存储设备控制器——小型计算机系统接口(Small Computer System Interface,SCSI)或光纤通道(Fibre Channel);一个用于在其中一个域控制器上安装操作系统(OS)的本地系统磁盘;一个面向共享磁盘的独立的外围组件互连( PCI)存储控制器。
· 群集中的每个节点拥有两个PCI网络适配器。
· 将共享存储设备附加到所有计算机的存储电缆。参考关于配置存储设备的制造商指南。参见本文后面的附录,了解有关使用SCSI或光纤通道(Fibre Channel)所需的特定配置。
· 对于所有的节点,一切硬件都必须是可识别的,对应正确的插槽、设备卡、BIOS、固件修订版等等。这将使配置变得更加简单,同时消除兼容性问题。
网络要求· 一个唯一的NetBIOS名称。
· 每个节点上的所有网络界面均拥有静态IP地址。
注意:服务器群集(Server Clustering)不支持使用由动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)服务器分配的地址。
· 接入一个域控制器。如果群集服务无法验证用于启动服务的用户帐户,可能导致群集发生故障。建议您在群集所在的相同的局域网(LAN)上拥有一个域控制器,以便确保其可用性。
· 每个节点至少必须拥有两个网络适配器——一个用于连接客户端公用网络,另一个用于连接节点对节点专用群集网络。HCL认证要求一个专用网络适配器。
· 所有节点都必须拥有两个面向公用和专用通信的物理独立的局域网(LAN)或虚拟局域网(LAN)。
· 如果您正在使用容错网卡或网络适配器组合,确认您正在使用最新的固件和驱动程序。向您的网络适配器制造商核实群集兼容性。
共享磁盘要求· 一个经HCL认可的连接到所有计算机的外部磁盘存储单元。其将用作群集共享磁盘。建议采用某种类型的硬件独立磁盘冗余阵列( RAID)。
· 所有共享磁盘,包括仲裁磁盘,必须在物理上附加到一个共享总线。
注意:以上要求并不适用于多数节点集( Majority Node Set,MNS)群集。这类群集本指南不予讨论。
· 共享磁盘必须位于系统驱动器所用的控制器以外的另一个控制器上。
· 建议在RAID配置中创建多个硬件级别的逻辑驱动器,而不是使用一个单一的逻辑磁盘,然后将其分成多个操作系统级别的分区。这不同于独立服务器通常所采用的配置。但是,它使您可以在群集中拥有多个磁盘资源,并跨节点执行“活动/活动(Active/Active)”配置和手动负载平衡。
· 最小50兆字节(MB)的专用磁盘用作仲裁设备。为了得到最佳的NTFS文件系统性能,建议采用最小500 MB的磁盘分区。
· 确认可以从所有的节点看到附加到共享总线的磁盘。这可以在主适配器安装中进行查看。请参考制造商的文档,了解适配器指定的指导说明。
· 必须根据制造商的指导说明,对SCSI设备分配唯一的SCSI标识号,并正确地将其端接。参见本文附录,了解有关安装和端接SCSI设备的信息。
· 所有共享磁盘必须配置为基本磁盘。附加信息,请在Microsoft知识库中参阅下方文章:
237853 服务器群集磁盘资源不可用的动态磁盘配置(Dynamic Disk Configuration Unavailable for Server Cluster Disk Resources)
· 群集共享磁盘不支持软件容错。
· 在运行64位版本的Windows Server 2003的系统上,所有共享磁盘必须配置为主引导记录(MBR)。
· 群集磁盘上的所有分区必须格式化为NTFS。
· 建议所有磁盘均采用硬件容错RAID配置。
· 建议最少采用两个逻辑共享驱动器。
群集安装 安装概述在安装过程中,安装某些节点时将关闭其它节点。这个步骤有助于保证附加到共享总线的磁盘上的数据不会丢失或遭到破坏。当多个节点同时尝试写入一个未受到群集软件保护的磁盘时,可以出现数据丢失或遭到破坏的情况。与 Microsoft® Windows® 2000系统不同,Windows 2003 Server中新磁盘的默认装载方式有所变化。在Windows 2003中,将不会对与引导分区不在同一总线的逻辑磁盘进行自动装载和分配驱动器号。这有助于确保在复杂的SAN环境中,服务器不会装载可能属于另一台服务器的驱动器。尽管驱动器不会被自动装载,但是仍然建议您按照下列步骤,确认共享磁盘不会遭到破坏。
使用下表确定在每一个步骤必须关闭的节点和存储设备。
本指南中的步骤面向双节点群集。而如果您正在安装拥有两个以上节点的群集,那么“节点2”一栏将列出其它所有节点所要求的状态。
1. 步骤
2. 节点1
3. 节点2
4. 存储
5. 备注
设置网络
开启
开启
关闭
确认共享总线上的所有存储设备均已关闭。开启所有节点。
设置共享磁盘
开启
关闭
开启
关闭所有节点。开启共享存储,再开启第一个节点。
验证磁盘配置
关闭
开启
开启
开启第一个节点,开启第二个节点。如果需要,可以针对第三和第四个节点重复相同的步骤。
配置第一个节点
开启
关闭
开启
关闭所有节点;开启第一个节点。
配置第二个节点
开启
开启
开启
顺利配置完第一个节点后,开启第二个节点。如果需要,可以针对第三和第四个节点重复相同的步骤。
安装后
开启
开启
开启
所有节点均必须开启。
在配置群集(Cluster)服务软件前,必须先执行几个步骤。这些步骤是:
· 在每个节点上安装Windows Server 2003 Enterprise Edition或Windows Server 2003 Datacenter Edition操作系统。
· 设置网络。
· 设置磁盘。
在第一个节点上开始安装群集服务前,在每一个群集节点上执行这些步骤。
要配置群集服务,您必须登录一个拥有所有节点管理许可的帐户。每个节点都必须是同一个域的成员。如果您选择将其中一个节点作为域控制器,那么在相同的子网上再设置一个域控制器,以便消除单点故障,并对该节点进行维护。
安装Windows Server 2003操作系统参考您从Windows Server 2003操作系统软件包中得到的文档,以便在群集中的每个节点上安装该系统。
配置群集服务之前,您必须在本地登录一个属于本地管理员组成员的域帐户。
注意:如果您试图将一个节点加入一个具有空白的本地管理员帐户密码的群集,安装将会失败。基于安全原因,Windows Server 2003禁止使用空白的管理员密码。
设置网络每个群集节点至少需要包含两个网络适配器的两个或两个以上的独立网络,以便避免单点故障。其中一个网络适配器用于连接到公用网络,而另一个则用于连接到仅由群集节点组成的专用网络。拥有多个网络适配器的服务器被称为“多宿主”。由于多宿主服务器可能存在问题,因此遵照本文档中所描述的网络配置建议,对您来说至关重要。
Microsoft要求您在每个节点上拥有两个经硬件兼容性列表(Hardware Compatibility List,HCL)许可并得到Microsoft产品支持服务(Microsoft Product Support Services)支持的PCI(Peripheral Component Interconnect,外围组件互连)网络适配器。通过一个静态IP地址,在您的生产网络上配置其中一个网络适配器,并在另一个用于进行专用群集通信的子网上,通过另一个静态IP地址,在一个独立的网络上配置另一个网络适配器。
服务器群集节点间的通信对于群集的顺畅运转至关重要。因此,您必须对用于群集通信的网络执行最佳配置,并遵照硬件兼容性列表上的所有要求。
专用网络适配器用于执行节点对节点的通信、群集状态信息和群集管理。每个节点的公用网络适配器都将群集连接到客户端所在的公用网络,并应配置为内部群集通信的后备路由。要实现这些操作,应该将群集服务的这些网络角色配置为“只用于内部群集通信”或“所有通信”。
此外,每个群集网络必须独立于其它所有群集网络之外发生故障。这意味着,两个群集网络不能拥有可能同时导致其出现故障的组件。例如:在多数情况中,使用多端口网络适配器将一个节点附加到两个群集网络,将无法满足该要求,因为其端口不是独立的。
要消除可能的通信问题,从网络适配器删除所有不必要网络流量,即设置为“只用于内部群集通信”(该适配器也被称为心跳或专用网络适配器)。
要验证所有的网络连接均准确无误,专用网络适配器必须位于另一个来自公用网络适配器的逻辑网络上的网络。这可以通过在双节点配置中使用跨接电缆,或者在两个以上的节点配置中使用专门的哑集线器来实现。不要针对核心网络使用交换机、智能集线器或其它任何路由选择设备。
注意:群集心跳不能通过路由选择设备进行转移,因为它们的生存时间(Time to Live,TTL)被设定为1。公共网络适配器只能连接到公用网络。如果您拥有一个虚拟局域网(LAN),那么节点间的等待时间必须少于500毫秒(ms)。另外,在Windows Server 2003中,服务器群集(Server Clustering)中的心跳被改为多播的形式;所以,您可能需要提供一台Madcap服务器,以便分配多播地址。附加信息,请在Microsoft知识库中参阅下方文章:
307962 针对群集心跳启用多播支持(Multicast Support Enabled for the Cluster Heartbeat)
· 下方的图 1简要描绘了一个四节点群集的配置。
图1. 四节点群集的连接。
常规网络配置:注意:本指南假定您正在运行默认的“开始”菜单。如果您使用传统的“开始”菜单,那么具体步骤可能稍有不同。在本白皮书中,第一个网络适配器(本地连接)被连接到公用网络,而第二个网络适配器(本地连接2)则被连接到专用群集网络。您的网络可能有所不同。
重命名局域网图标建议您更改网络连接的名称,以便清楚地进行识别。例如:您可能想把“本地连接2”的名称更改为“Private”(专用网络)。重命名将有助于您识别网络并对其正确地分配角色。
1. 单击“开始”,指向“控制面板”,右击“网络连接”,然后单击“打开”。
2. 右击“本地连接2”图标。
3. 单击“重命名”。
4. 在文本框中键入“ Private”(专用网络),然后按“ENTER”键。
5. 重复步骤1至3,然后将公用网络适配器重命名为“Public”(公用网络)。
图 2. “网络连接”窗口中被重新命名的图标。
6. 重命名的图标如上方图2所示。关闭“网络连接”窗口。新的连接名称将出现在“群集管理器”中,并将在联机时自动复制到其它所有的群集节点。
在所有节点上配置绑定顺序网络1. 单击“开始”,指向“控制面板”,右击“网络连接”,然后单击“打开”。
2. 在“高级”菜单上,单击“高级设置”。
3. 在“连接”窗口中,确认您的绑定顺序如下所示,然后单击“确定”:
a) 公用网络
b) 专用网络
c) 远程访问连接
配置专用网络适配器1. 右击您的心跳适配器对应的网络连接,然后单击“属性”。
2. 在“常规”选项卡上,确认仅选定了“Internet协议(TCP/IP)”复选框,如下方图2所示。点击清除所有其它客户端、服务和协议的复选框。
图 3. 在“专用网络属性”对话框中,仅点击选定“Internet协议”复选框。
3. 如果您拥有一个能够以不同速度进行传输的网络适配器,那么您应该手动指定一个速度及双工模式。不要对传输速度应用自动选择设置,因为某些适配器在确定速度时可能丢掉一些数据包。必须根据设备卡制造商的规格说明,将所有节点上的网络适配器的速度硬性设定(手动设定)为相同的值。如果您不能确定您的设备卡和连接设备所支持的速度,Microsoft建议您将同一路径上的所有设备设定为“10兆字节每秒”(Mbps)和“半双工”,如下方图4所示。虽然通过心跳网络的信息量较小,但是等待时间对于通信至关重要。该配置将为可靠的通信提供充足的带宽。群集中附加到相同网络的所有网络适配器必须统一设定为使用相同的“双工模式”、“连接速度”、“流控制”等等。联系您的适配器制造商,了解有关您的网络适配器的正确的速度和双工设置的特定信息。
图 4. 为所有适配器设置速度和双工。
注意:Microsoft不推荐您针对心跳使用任何类型的容错适配器或“Teaming”(组合)。如果您需要冗余的心跳连接,可以使用多个设定为“只用于内部通信”的网络适配器,并在“群集”配置中定义它们网络优先级。早期多端口网络适配器常常存在问题,如果您使用该技术,请确认您的固件和驱动程序都属于最新的版本。
联系您的网络适配器制造商,了解有关服务器群集上兼容性的信息。如需获得更多信息,请在Microsoft知识库中参阅下方文章:
254101 网络适配器组合与服务器群集(Network Adapter Teaming and Server Clustering)
4. 单击“Internet协议(TCP/IP)”,然后单击“属性”。
5. 在“常规”选项卡上,确认您所选择的静态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地址的范例是:将节点1的地址设为10.10.10.10,将节点2的地址设为10.10.10.11,同时将子网掩码设为255.0.0.0,如下方图5所示。确认该IP地址方案与应用于公用网络的IP地址方案完全不同。
注意:有关专用网络的有效IP寻址的附加信息,请在Microsoft知识库中参阅下方文章:
142863 专用网络的有效IP寻址(Valid IP Addressing for a Private Network)
图 5.应用于专用适配器的IP地址示例。
6. 确认未在“默认网关”方框中,或者在“使用下列DNS服务器地址”下方,定义了任何值。
7. 单击“高级”按钮。
8. 在“ DNS”选项卡上,确认未定义任何值。同时确认清除了“在DNS中注册此连接的地址”和“在DNS注册中使用此连接的DNS后缀”复选框。
9. 在“WINS”选项卡上,确认未定义任何值。单击“禁用TCP/IP上的NetBIOS”,如下方图6所示。
图 6. 确认未在“WINS”选项卡上定义任何值。
10. 当关闭了该对话框,您可能接收到如下提示:“此连接拥有一个空白的主WINS地址。您想继续吗?”如果您收到了该提示,单击“是”。
11. 在群集中的所有其它节点上,通过不同静态IP地址完成步骤1至10。
配置公用网络适配器注意:如果IP地址是通过DHCP获取的,那么如果不能访问DHCP服务器,则可能无法接入群集节点。由于这个原因,服务器群集上的所有接口均要求静态IP地址。记住:群集服务只能识别每个子网上的一个网络接口。如果您需要Windows Server 2003中TCP/IP寻址的协助,请参见“联机帮助”。
验证连通性和名称解析要验证专用和公用网络正确地进行通信,查验来自每个节点的所有IP地址。您必须可以在本地和远程节点上查验所有的IP地址。
要验证名称解析,使用节点的机器名称而非IP地址,从客户端查验每一个节点。应该仅对公用网络返回IP地址。您也许还想尝试通过“PING –a”命令,反向查找IP地址。
验证域成员群集中的所有节点必须是同一个域的成员,并可以访问域控制器和DNS服务器。不能将其设定为成员服务器或域控制器。与群集一样,您至少应该在相同的网络区域拥有一个域控制器。基于高可用性,另一个域控制器也应该可用于消除单点故障。在本指南中,所有的节点都被设定为成员服务器。
在某些实例中,节点可能部署于并未预先存在Microsoft® Windows NT® 4.0域控制器或Windows Server 2003域控制器的环境中。这种情景至少要求其中有一个群集节点被设定为域控制器。但是,在双节点服务器群集中,如果其中有一个节点是域控制器,那么另一个节点也必须是一个域控制器。在四节点群集实施过程中,没有必要将全部四个节点都设定为域控制器。然而,当遵照一个“最佳实践”模型并至少拥有一个后备域控制器时,余下的三个节点中至少应该有一个被设定为域控制器。在设定群集服务之前,必须使用DCPromo工具将其中一个节点提升为域控制器。
在Windows Server 2003中位于DNS上的依赖性进一步要求,如果另一个支持动态更新和/或SRV记录的DNS服务器不可用,每一个是域控制器的节点也必须是DNS服务器(建议采用活动目录集成区域)。
在将群集节点部署为域控制器时,应该考虑以下问题:
· 如果双节点群集中有一个群集节点是域控制器,另一个节点也必须是域控制器。
· 运行域控制器需要一定的开销。一个空闲的域控制器在任何地方都会使用130到140 MB的RAM,包括维持群集服务运行所需的内存。复制也会增加网络流量,因为这些域控制器必须在域中和域间同其它域控制器进行复制。
· 如果群集节点是唯一的域控制器,那么每个节点必须同时是DNS服务器。对于主DNS解析,它们必须相互指向对方,而对于备用解析,则必须指向自身。
· 森林/域中的第一个域控制器将承担所有的操作主控角色(Operations Master Roles)。您可以将这些角色重新分配给任何节点。但是,如果有一个节点出了故障,该节点所承担的操作主控角色(Operations Master Roles)将不可用。因此,建议您不要在任何群集节点上运行操作主控角色(Operations Master Roles),其中包括架构主控(Scheme Master)、域命名主控(Domain Naming Master)、相关 ID主控(Relative ID Master)、 PDC仿真主控(PDC Emulator)和基础结构主控(Infrastructure Master)。这些功能不能进行群集以便通过故障转移实现高可用性。
· 由于资源限制,在节点同时是域控制器的情况下,对Microsoft® SQL Server ™或Microsoft® Exchange Server等其它应用程序进行群集处理可能无法达到最佳效果。在部署前,该配置必须在实验室环境中进行全面的测试。
由于制作群集节点域控制器所涉及的复杂性和开销,建议所有节点都应该是成员服务器。
设置群集用户帐户群集服务需要一个属于可运行群集服务的每个节点上的本地管理员(Local Administrators)组成员的域用户帐户。因为安装需要用户名和密码,所以该用户帐户必须在配置群集服务前予以创建。该用户帐户只能专门用于运行群集服务,而不能属于个人。
注意:群集服务帐户不需要一定是域管理员(Domain Administrators)组的成员。基于安全原因,建议不要授予群集服务帐户域管理员权利。
群集服务帐户需要下列权利以便在群集的所有节点上正确地发挥作用。“群集配置向导”(Cluster Configuration Wizard)自动授予以下权利:
· 充当操作系统的一部分
· 调整某个过程的内存配额
· 备份文件和目录
· 增加计划优先级
· 作为服务登录
· 还原文件和目录
附加信息,请在Microsoft知识库中参阅下方文章:
269229 如何手动重新创建群集服务帐户(How to Manually Re-Create the Cluster Service Account)
设置群集用户帐户1. 单击“开始”,指向“所有程序”,指向“管理工具”,然后单击“活动目录用户和计算机”。
2. 如果域还未展开,单击加号(+)将其展开。
3. 右击“用户”,指向“新建”,然后单击“用户”。
4. 键入群集名称,如下方图7所示,然后单击“下一步”。
图 7. 键入群集名称。
5. 将密码设置设定为“用户不能更改密码”和“密码永不过期”。单击“下一步”,然后单击“完成”创建该用户。
注意:如果您的管理安全策略不允许使用永不过期的密码,您必须在密码到期前,在每个节点上重续密码并更新群集服务配置。附加信息,请在Microsoft知识库中参阅下方文章:
305813 如何更改群集服务帐户密码(How to Change the Cluster Service Account Password)
6. 在“活动目录用户和计算机”插件的左窗格中,右击“群集”,然后在快捷菜单上单击“属性”。
7. 单击“将成员添加到组”。
8. 单击“管理员”,然后单击“确定”。这将给予新用户帐户在该计算机上的管理特权。
9. 退出“活动目录用户和计算机”插件。
设置共享磁盘警告:为了避免破坏群集磁盘,在其它节点上启动操作系统前,确认至少在一个节点上安装、配置和运行了Windows Server 2003。在完成群集服务配置之前,所开启的节点数不要超过一个,这一点至关重要。
要继续的话,关闭所有节点。开启共享存储设备,然后开启节点1。
关于仲裁磁盘仲裁磁盘(quorum disk)用于存储群集配置数据库检查点以及协助管理群集和维持一致性的日志文件。建议遵照以下仲裁磁盘设置步骤:
· 创建一个最小50 MB的逻辑驱动器用作仲裁磁盘。对于NTFS,最佳的大小为500 MB。
· 专门划出一个单独的磁盘作为仲裁资源。
重要:仲裁磁盘故障可能导致整个群集失效;所以,强烈建议您使用硬件RAID阵列上的一个卷。除了进行群集管理外,不要使用仲裁磁盘执行其它任务。
仲裁资源在群集运作中扮演着关键的角色。在每个群集中,一个单一的资源被分配作为仲裁资源。仲裁资源可以是具备下列功能的任何物理磁盘(Physical Disk)资源:
· 将群集注册表复制到服务器群集中的其它节点上。在每个节点上,群集注册表默认保存在:%SystemRoot%\Cluster\Clusdb。而后,群集注册表被复制到仲裁驱动器的MSCS\Chkxxx.tmp文件中。这些文件互为副本。MSCS\Quolog.log文件是一个维持记录所有针对检查点文件的更改的事务日志。这意味着,脱机的节点可以在重新加入群集时追加这些更改。
· 如果群集节点间失去了通信,质询响应协议将启动以防止出现“裂脑”状况。在这种情况中,仲裁磁盘资源的所有者变成群集及所有资源的唯一所有者。所有者随之为客户端提供资源。当拥有仲裁磁盘的节点不正确地运作时,正常的节点将通过仲裁获得设备的所有权。更多信息,请在Microsoft知识库中参阅以下文章:
309186 群集服务如何在共享总线上获得磁盘的所有权(How the Cluster Service Takes Ownership of a Disk on the Shared Bus)
在群集服务安装过程中,您必须为仲裁磁盘提供驱动器盘符。常用的标准盘符为“Q”,本例中亦采用“Q”盘符。
配置共享磁盘1. 确认仅开启了一个节点。
2. 右击“我的电脑”,单击“管理”,然后展开“存储”。
3. 双击“磁盘管理”。
4. 如果您连接了一个新的驱动器,将自动开启“写入签名和更新磁盘向导”。如果出现该向导,单击“下一步”,完成向导的各个步骤。
注意:该向导自动将磁盘设为动态。要将磁盘复位到基本状态,右击“磁盘n”(n在此处指您正在设定的磁盘),然后单击“还原基本磁盘”。
5. 右击“未分配的磁盘空间”。
6. 单击“新分区”。
7. 将启动“新建分区向导”,单击“下一步”。
8. 选择“主分区”的分区类型,单击“下一步”。
9. 默认将分区设为最小。单击“下一步”。(建议采用多个逻辑磁盘,而不是在一个磁盘上采用多个分区。)
10. 使用下拉框更改驱动器盘符。使用在字母表上比默认列举的字母更靠后的驱动器盘符。通常,驱动器盘符“Q”可以用于仲裁磁盘,而“R”、“S”等字母则用于数据磁盘。更多信息,请在Microsoft知识库中参阅下方文章:
318534 关于在服务器群集上分配驱动器号的最佳实践(Best Practices for Drive-Letter Assignments on a Server Cluster)
注意:如果您正在计划使用卷装载点,不要对磁盘分配驱动器号。更多信息,请在Microsoft知识库中参阅下方文章:
280297 如何在群集服务器上配置卷装载点(How to Configure Volume Mount Points on a Clustered Server)
11. 使用NTFS格式化分区。在“卷标”方框中,键入该磁盘的名称。例如:“驱动器Q”,如下方图8所示。关键是要对共享磁盘分配驱动器标签,因为在还原磁盘时这会大大减少故障排除时间。
图 8. 对共享磁盘分配驱动器标签至关重要。
如果您正在安装64位版本的Windows Server 2003,确认所有的磁盘均格式化为MBR。全局分区表(Global Partition Table,GPT)磁盘不能作为群集磁盘得到支持。更多信息,请在Microsoft知识库中参阅下方文章:
284134 服务器群集不支持GPT共享磁盘(Server Clusters Do Not Support GPT Shared Disks)
确认所有的共享磁盘均格式化为NTFS并指派为MBR Basic。
1. 启动“Windows Explorer”。
2. 右击一个共享磁盘(比如:“驱动器Q:\”),单击“新建”,然后单击“文本文档”。
3. 确认您可以顺利写入磁盘,并创建了文件。
4. 选择所创建的文件,然后按“Del”键,将其从群集磁盘删除。
5. 对所有群集磁盘重复步骤1至4,确认可以从第一个节点正确地访问它们。
6. 关闭第一个节点,开启第二个节点,并重复步骤1至4,验证磁盘访问和功能。分配驱动器号,以便与相对应的驱动器标签相匹配。对任何附加节点重复相同的步骤。确认所有节点都可以从磁盘读取和写入,关闭除第一个节点以外的所有节点,然后继续阅读本白皮书。
配置群集服务您必须在安装的第一个阶段提供所有初始配置信息。该步骤是通过使用“群集配置向导”来完成的。
如下方流程图所示,“Form(形成)”(创建一个新群集)和“Join(加入)”(添加节点)所采取的路径有所不同,但是它们共有一些相同的设置页面,即“凭证登录”、“分析”以及“重新分析并启动服务”。而在下列页面上则有少许不同:“欢迎”、“选择计算机”和“群集服务帐户”。在本课的下面两个部分中,您将执行反映所有这些配置路径的向导页面。当您完成了所有的步骤,本白皮书将在第三部分中详细描述“分析”和“重新分析并启动服务”页面,以及这些屏幕所提供的信息的具体意思。
注意:在节点1上进行群集服务配置的过程中,您必须关闭所有其它节点,并开启所有共享存储设备。
配置第一个节点1. 依次单击“开始”、“所有程序”和“管理工具”,然后单击“群集管理器”。
2. 当出现“打开群集连接向导”提示时,在“执行”下拉列表中,单击“创建新群集”,如下方图9所示。
图 9. “执行”下拉列表。
3. 确认您具有配置群集所必需的前提条件,如下方图10所示。单击“下一步”。
图 10. 前提条件列表属于“新建服务器群集向导欢迎”页面的一部分。
4. 键入群集的唯一NetBIOS名称(最多15个字符),然后单击“下一步”。(在下方图11所示的例子中,群集被命名为“MyCluster(我的群集)”)建议遵守DNS命名规则。更多信息,请在Microsoft知识库中参阅下列文章:
163409 NetBIOS后缀(NetBIOS名称的第16个字符)“NetBIOS Suffixes (16th Character of the NetBIOS Name)”
254680 DNS名称空间规划(DNS Namespace Planning)
图 11. 建议在命名群集时遵守DNS命名规则。
5. 如果您在本地登录一个不属于“具有本地管理特权的域帐户”的帐户,向导将提示您指定一个帐户。群集服务不会使用该帐户进行启动。
注意:如果您拥有正确的凭证,步骤5所提到的提示,如图12所示,可能不会出现。
图 12. “新建服务器群集向导”提示您指定一个帐户。
6. 由于可能对群集进行远程配置,因此您必须确认或键入将要作为第一个节点创建群集的服务器的名称,如下方图13所示。单击“下一步”。
图 13. 选择将要作为群集中第一个节点的计算机名称。
注意:“安装”向导可以验证所有的节点是否都可以看到共享磁盘。在复杂的存储区域网络中,磁盘的目标识别符(TID)有时可能有所不同,而且“安装”程序可能错误地检测到磁盘配置对其无效。要解决这个问题,您可以单击“高级”按钮,然后单击“高级(最小)配置”。附加信息,请在Microsoft知识库中参阅下方文章:
331801 群集安装程序在您添加节点时可能不工作(Cluster Setup May Not Work When You Add Nodes)
7. 下方图 14显示“安装”程序现在将分析节点,查找可能导致安装出现问题的硬件或软件问题。检查所有警告或错误信息。您还可以单击“详细信息”按钮,了解有关每个警告或提示的详细信息。
图 14. “安装”程序分析节点,查找可能存在的硬件或软件问题。
8. 键入唯一的群集IP地址(本例为:172.26.204.10),然后单击“下一步”。
如下方图15所示,“新建服务器群集向导”通过使用子网掩码选择正确的网络,自动与其中一个公用网络关联群集IP地址。群集IP地址只能用于管理,而不能用于客户端连接。
图 15. “新建服务器群集向导”自动与其中一个公用网络关联群集IP地址。
9. 键入在预安装时创建的群集服务帐户的“用户名”和“密码”。(在下方图16的例子中,用户名为:“Cluster(群集)”)在“域”下拉列表中选择域名,然后单击“下一步”。
这时,“群集配置向导”将验证用户帐户和密码。
图 16. 向导提示您提供在预安装时所创建的帐户。
10. 检查“摘要”页面,如下方图17所示,确认所有将用于创建群集的信息均准确无误。如果需要,您可以使用仲裁按钮,更改由默认自动选择的磁盘指派的仲裁磁盘。
本屏幕上所显示的摘要信息可用于在出现灾难恢复状况时,重新配置群集。建议您保存并打印一份硬拷贝,与服务器上的更改管理日志保持一致。
注意:“仲裁”按钮也可用于指定一个多数节点集(Majority Node Set,MNS)仲裁模型。在您创建MNS群集时,这是主要的配置区别之一。
图 17. 建议采用的“群集配置”页面。
11. 检查所有在群集创建过程中遇到的警告或错误。具体操作是单击加号查看更多信息,然后单击“下一步”。出现在“创建群集”页面的警告和错误如图18所示。
图 18. 出现在“创建群集”页面上的警告和错误。
12. 单击“完成”,结束安装。下方图19显示最终的步骤。
图 19. 设置一个新的服务器群集的最终步骤。
注意:要查看详细的摘要,单击“查看日志”按钮,或者查看保存在该位置:%SystemRoot%\System32\LogFiles\Cluster\ClCfgSrv.Log的文本文件。
验证群集安装使用“群集管理器”(CluAdmin.exe),在节点1上验证群集服务安装。
验证群集安装1. 依次单击“开始”、“所有程序”和“管理工具”,然后单击“群集管理器”。
2. 确认所有的资源均顺利地实现了联机,如下方图20所示。
图 20. “群集管理器”验证所有的资源均顺利地实现联机。
注意 原则上,不要将任何东西放到群集组中,不要从群集组中取出任何东西,也不要使用群集组中的任何东西执行群集管理以外的操作。
配置第二个节点在另一个节点上安装群集服务所需的时间要比花在第一个节点上的时间少。“安装”程序基于第一个节点的配置,在第二个节点上配置群集服务网络设置。与此同时,您还可以通过远程操作为群集添加多个节点。
注意:对于本部分,开启节点1和所有的共享磁盘,然后开启所有其它节点。这时,群集服务将控制对于共享磁盘的访问,以便杜绝任何可能破坏卷的机会。
1. 在节点1上打开“群集管理器”。
2. 单击“文件”,单击“新建”,然后单击“节点”。
3. 将启动“添加群集计算机向导”,单击“下一步”。
4. 如果您没有通过正确的凭证进行登录,将要求您指定一个对群集中所有节点具有管理权利的域帐户。
5. 输入您要将其添加到群集的节点的机器名称,单击“添加”。重复该步骤,如下方图21所示,添加您想要的其它节点。当您添加完了所有的节点,单击“下一步”。
图 21. 对群集添加节点。
6. “安装”向导将对所有节点执行分析,以便确认它们得到了正确的配置。
7. 键入用于启动群集服务的帐户密码。
8. 检查所显示的用于确认的摘要信息。摘要信息将用于在其它节点加入群集时对其进行配置。
9. 检查群集创建过程中遇到的所有警告或错误,然后单击“下一步”。
10. 单击“完成”,结束安装。
安装后的配置 心跳配置
现在,每个节点上的网络都已得到了正确的配置,而且群集服务也已配置完毕,这时您需要配置网络角色,以便定义各个网络在群集中的功能。这里有一份“群集管理器”中网络配置选项的列表:
· 针对群集应用启用: 如果选定了该复选框,群集服务将使用该网络。默认对所有网络选定该复选框。
· 仅用于客户端访问(公用网络):如果您想让群集服务仅使用该网络适配器与其它客户端进行外部通信,那么选择该选项。该网络适配器将不进行节点对节点通信。
· 仅用于内部群集通信(专用网络):如果您想让群集仅使用该网络进行节点对节点通信,那么选择该选项。
· 所有通信(混合网络):如果您想让群集服务使用该网络适配器进行节点对节点通信和外部客户端通信,那么选择该选项。默认对所有网络选定该复选框。
本白皮书假定仅使用两个网络,并解释如何将这两个网络分别作为混合网络和专用网络进行配置。这是最常见的配置。如果您拥有可用的资源,建议使用两个专门的冗余网络用于内部群集通信。
配置心跳1. 启动“群集管理器”。
2. 在左窗格中,单击“群集配置”,单击“网络”,右击“专用”,然后单击“属性”。
3. 单击“仅用于内部群集通信(专用网络)”,如下方图22所示。
图 22. 使用“群集管理器”配置心跳。
4. 单击“确定”。
5. 右击“公用”,然后单击“属性”(如下方图23所示)。
6. 单击选定“针对群集应用启用该网络”复选框。
7. 单击“所有通信(混合网络)”,然后单击“确定”。
图 23. “公用属性”对话框。
心跳适配器优先化配置完群集服务如何应用网络适配器的角色后,下一步是对内部群集通信应用进行优先排序。这仅适用于两个或两个以上被配置为节点对节点通信的网络。屏幕右边的优先级箭头指定了群集服务使用各个网络适配器在节点间进行通信的先后顺序。群集服务总是尝试使用列于首位的网络适配器进行节点间的远程过程调用(RPC)通信。只有当群集服务无法使用第一个网络适配器进行通信时,才会使用列表上的下一个网络适配器。
1. 启动“群集管理器”。
2. 在左窗格中,右击群集名称(位于左上角),然后单击“属性”
3. 单击“网络优先级”选项卡,如下方图24所示。
图 24. “群集管理器”中的“网络优先级”选项卡。
4. 确认“专用”网络列于最顶部。使用“上移”或“下移”按钮,更改优先顺序。
5. 单击“确定”。
配置群集磁盘· 启动“群集管理器”,右击您想从群集删除的任何磁盘,然后单击“删除”。
注意:默认状态下,所有磁盘并不在相同的总线上,因为系统磁盘将为它们创建物理磁盘资源(Physical Disk Resources),并对其进行群集。因此,如果节点拥有多条总线,可能列出的某些磁盘将无法用作共享存储,例如:内部SCSI驱动器。应该从群集配置删除这些磁盘。如果您计划对某些磁盘实施“卷装载”(Volume Mount)点,您可能要删除这些磁盘的当前磁盘资源,删除驱动器号,然后创建一个未分配驱动器号的新的磁盘资源。
仲裁磁盘配置“群集配置向导”自动选择将作为仲裁设备的驱动器,并将使用50 MB以上的最小分区。您可能要把自动选择的磁盘更改为您自己专门指派的仲裁磁盘。
配置仲裁磁盘1. 启动“群集管理器”(CluAdmin.exe)。
2. 右击位于左上角的群集名称,然后单击“属性”。
3. 单击“仲裁”选项卡。
4. 在“仲裁资源”列表框中,选择一个不同的磁盘资源。在下方图25中,“仲裁资源”列表框中所选定的是“磁盘Q”。
图 25. “仲裁资源”列表框。
5. 如果磁盘拥有的分区不止一个,单击您要在其中保存群集指定数据的分区,然后单击“确定”。
附加信息,请在Microsoft知识库中参阅下方文章:
Q280353 如何更改仲裁磁盘指定(How to Change Quorum Disk Designation)
创建一个启动延迟当出现所有的群集节点均同时启动并尝试附加到仲裁资源的情况时,群集服务可能无法启动。例如:在发生电源故障后,同时对所有节点恢复电力时,可能出现这种情况。要避免这类情况的发生,增加或减少“显示操作系统列表用时”设置。要找到该设置,单击“开始”,指向“我的电脑”并右击鼠标,然后单击“属性”。单击“高级”选项卡,然后在“启动与恢复”下方,单击“设置”。
测试安装在“安装”程序结束后,有好几种验证群集服务安装的方法。其中包括:
· 群集管理器:如果仅完成了节点1的安装,启动“群集管理器”,然后尝试连接到群集。如果已安装了第二个节点2,在任意一个节点上启动“群集管理器”,然后确认第二个群集显示在列表上。
· “服务”小程序:使用“服务”小程序确认群集服务已显示在列表上并已启动。
· 事件日志:使用“事件查看器”检查系统日志中的“ClusSvc”条目。您会看到有关确认群集服务已经顺利形成或加入一个群集的条目。
· 群集服务注册表项:确认群集服务安装程序将正确的项写入注册表。您可以在HKEY_LOCAL_MACHINE\Cluster下找到许多注册表设置。
· 单击“开始”,单击“运行”,然后键入“虚拟服务”名称。确认您可以连接并看到资源。
测试故障转移 验证资源将执行故障转移1. 依次单击“开始”、“程序”和“管理工具”,然后单击“群集管理器”,如下方图26所示。
图 26. “群集管理器”窗口。
2. 右击“磁盘组1”组,然后单击“移动组”。该组及其所有资源将转移到另一个节点。稍后,“磁盘F:、G:”将在第二个节点上实现联机。在窗口中观察该转移。退出“群集管理器”。
恭喜!您已经完成了所有节点上的群集服务配置。服务器群集已经完成可以运作了。您现在可以准备安装群集资源,比如:文件共享、打印机卷筒、诸如分布式事务协调器(Distributed Transaction Coordinator)、DHCP、WINS等群集识别服务、或者诸如Exchange Server或SQL Server等群集识别程序。
附录 高级测试现在,您已经配置好了您的群集并验证了基本的功能和故障转移,您可能想执行一系列的故障情境测试,来演示预期的结果,并确保群集在发生故障时会正确地进行响应。并不是在每一次实施时都需要进行这种程度的测试,但是如果您刚开始接触群集技术,而且不熟悉群集的响应方式,或者您正在自己的环境中实施一个新的硬件平台,这将有助于进行深入的了解。所列出的预期结果是针对结合默认设置的干净群集配置,并未考虑任何用户自定义的故障转移逻辑。这不是一个包含所有测试的完整列表,而顺利完成这些测试并不能认为已经得到了“许可”或准备好进行生产运作。这只是一个关于某些可执行的测试的示范列表。附加信息,请在Microsoft知识库中参阅下方文章:
197047 Microsoft群集服务器上的故障转移/故障恢复策略(Failover/Failback Policies on Microsoft Cluster Server)
测试:启动“群集管理器”,右击一个资源,然后单击“启动故障”。该资源将进入故障状态,然后将重新启动并在同一节点上回到联机状态。
预期结果:资源将在相同的节点上返回联机状态
测试:在相同的资源上,再执行上方“启动故障”测试三次。在第四次故障时,资源将对群集中的另一个节点执行故障转移。
预期结果:资源将针对群集中的另一个节点实施故障转移
测试:将所有资源转移到一个节点上。启动“计算机管理”,然后单击“服务与应用程序”下方的“服务”,停止群集服务。在另一个节点上启动“群集管理器”,确认所有资源均在该节点上正确地执行了故障转移并返回联机状态。
预期结果:资源将针对群集中的另一个节点实施故障转移
测试:将所有资源转移到一个节点上。在该节点上,单击“启动”,然后单击“关闭”。这将关闭该节点。在另一个节点上启动“群集管理器”,然后确认所有资源均在该节点上正确地执行了故障转移并返回联机状态。
预期结果:资源将针对群集中的另一个节点实施故障转移
测试:将所有资源转移到一个节点上,然后按服务器前方的电源按钮将其关闭。如果您有一台符合ACPI(高级配置和电源接口)标准的服务器,该服务器将执行“紧急关闭”功能进行关闭。在另一个节点上启动“群集管理器”,确认所有资源均在该节点上正确地执行了故障转移并返回联机状态。有关“紧急关闭”的附加信息,请在Microsoft知识库中参阅下列文章:
325343 教学文章:在Windows Server 2003中执行紧急关闭(HOW TO: Perform an Emergency Shutdown in Windows Server 2003)
297150 ACPI计算机上的电源按钮可能强制执行紧急关闭(Power Button on ACPI Computer May Force an Emergency Shutdown)
预期结果:资源将针对群集中的另一个节点实施故障转移
警告:执行“紧急关闭”测试可能导致数据遭破坏和丢失。不要在生产服务器上执行该测试。
测试:将所有资源转移到一个节点上,然后拔掉服务器的电源线模仿一个硬故障。在另一个节点上启动“群集管理器”,然后确认所有资源均在该节点上正确地执行了故障转移并返回联机状态。
预期结果:资源将针对群集中的另一个节点实施故障转移
警告:执行硬故障测试测试可能导致数据遭破坏和丢失。这是一个极端测试。确认您已备份了所有关键数据,然后在您自己的磁盘上执行该测试。不要在生产服务器上执行该测试。
测试: 将所有资源转移到一个节点上,然后拔掉该节点的公用网络电缆。IP地址资源将失效,组将针对群集中的另一个节点执行故障转移附加信息,请在Microsoft知识库中参阅下方文章:
286342 Windows Server 2003群集中的网络故障检测与恢复(Network Failure Detection and Recovery in Windows Server 2003 Clusters)
预期结果:资源将针对群集中的另一个节点实施故障转移
测试:拔掉专用心跳网络的网络电缆。心跳流量将针对公用网络执行故障转移,同时不会执行其它故障转移。如果发生了其它故障转移,请参见本文档前面有关“配置专用网络适配器”的部分。
预期结果:不会进行其它任何故障转移或资源故障转移
SCSI驱动器安装本附录提供一套针对SCSI驱动器安装的一般性指导说明。如果SCSI硬盘供应商的指导说明与此处的指导说明相冲突,请遵照供应商所提供的指导说明。
硬件要求中所列的SCSI总线必须在安装群集服务器之前予以配置。配置涉及:
· SCSI设备。
· SCSI控制器和硬盘,以便其可以正确地运行于共享SCSI总线。
· 正确端接总线。共享SCSI总线必须在总线的每个终端上均拥有一个端接器。群集的各个节点间可能拥有多条共享SCSI总线。
除了以下几页信息外,请参考您的SCSI设备制造商的文档,或者可以向美国国家标准协会(American National Standards Institute,ANSI)索取SCSI规格说明。ANSI网站包含一个可用于搜索SCSI规格说明的目录。
配置SCSI设备共享SCSI总线上的每个设备都必须有一个唯一的SCSI标识号(ID)。由于多数SCSI控制器默认为SCSI ID 7,因此配置共享SCSI总线包括将控制器上的SCSI ID号码更改为另一个号码,比如:SCSI ID 6。如果共享SCSI总线上的磁盘不止一个,每个磁盘都必须拥有一个唯一的SCSI ID号码。
端接共享SCSI总线有几种端接共享SCSI总线的方法,其中包括:
· SCSI控制器
SCSI控制器具有可用于端接总线的内部软端接,但是不推荐对群集服务器使用该方法。如果通过该配置关闭一个节点,SCSI总线将被不正确地端接,而且不能正常地运作。
· 存储盒
存储盒也具有内部端接。如果存储盒位于SCSI总线的末端,其内部端接可用于端接SCSI总线。应该将其关闭。
· Y电缆
Y电缆可用于连接位于SCSI总线末端的设备。外部活动端接器随后可以附加到Y电缆的一个分支,以便端接SCSI总线。该端接方法要求禁用或移除设备可能拥有的任何内部端接器。
图 27 描绘应该如何对SCSI群集进行物理连接。
图 27. SCSI群集硬件配置示意图。
注意:对于任何位于共享总线末端的设备,都必须禁用其内部端接。Y电缆和活动端接连接器均是推荐的端接方法,因为即使节点未联机时,它们也能提供端接。
存储区域网络的考虑事项在Windows Server 2003服务器群集中,有两种基于光纤通道的存储支持方法:仲裁环和交换架构。
重要:在对这两类光纤通道实施进行评估时,阅读供应商的文档,并确定您了解每种实施的指定特性和限制。
虽然 “Fibre Channel”(光纤通道)这一术语暗示了光纤技术的应用,但是也允许使用铜制同轴电缆进行互连。
仲裁环(FC-AL)光纤通道仲裁环(Fibre Channel arbitrated loop,FC-AL)是一套相互连接形成一个单一环路的节点和设备集。FC-AL提供了一个能将多达126个设备连接形为一个单一网络的经济的方法。通过SCSI,结合集线器配置的FC-AL服务器群集最多可支持两个节点。FC-AL如图 错误!未找到引用源。.1所示。
图 错误!未找到引用源。.1 FC-AL连接
FC-AL以相对静态的配置为双节点和少量设备提供解决方案。环路上的所有设备共享介质,而且从一个设备传输到另一个设备的任何数据包都必须通过所有中间设备。
如果一个双节点服务器群集可以满足您对可用性的需求,那么FC-AL部署就具有以下几个优势:
· 成本费用相对较低。
· 环路可得到扩展以增加存储(虽然不能添加节点)。
· 环路易于光纤通道供应商进行开发。
环路的劣势是难以在组织中进行部署。由于环路上的每个设备均共享同一个介质,因此群集中的整体带宽变窄了。有些组织还可能受到126个设备上限的限制。
交换架构(FC-SW)对于任何超过两个节点的群集,光纤通道交换架构(Fibre Channel switched fabric,FC-SW)是唯一受支持的存储技术。在FC-SW中,设备在使用光纤通道交换器的多对多拓扑结构中进行连接(如图 错误!未找到引用源。.3所示)。
图 错误!未找到引用源。.3 FC-SW连接
当一个节点或设备同FC-SW中的另一个节点或设备进行通信时,通信源和通信对象建立起一个点对点连接(类似一个虚拟电路),并直接进行相互通信。架构本身路由选择从通信源到通信对象的数据。在FC-SW中,并不对介质进行共享。任何设备都可以同其它任何设备进行通信,并以最高总线速度实现通讯。这是一个完全可伸缩的企业解决方案,因此强烈建议同服务器群集进行部署。
FC-SW是SAN中所采用的主要技术。FC-SW的其它优势包括:易于部署,可支持数百万个设备,以及提供故障隔离和改换路由的交换机。另外,不存在像FC-AL中的共享介质,允许更快地进行通信。但是,要知道FC-SW对于供应商来说难以开发,而且交换机的价格昂贵。供应商还必须考虑来自不同供应商或制造商的组件间的互操作性问题。
结合服务器群集使用SAN对于任何大型群集部署,建议您使用存储区域网络(SAN)进行数据存储。虽然较小的SCSI和独立光纤通道存储设备可以随服务器群集一起运作,但是SAN提供高级容错能力。
SAN是一套连接到常规通信和数据传输基础结构(在Windows Server 2003群集中为FC-SW)的相互连接的设备(比如:磁盘和磁带)和服务器。SAN允许多个服务器接入存储池,同时任何服务器都可以在其中潜在地访问任何存储单元。
本部分中的信息对配合您的Windows Server 2003群集使用SAN技术进行了概述。有关在上部署服务器群集的附加信息,请参见Windows群集:位于http://www.microsoft.com/windows/reskits/webresources的<A HREF="http://go.microsoft.com/fwlink/?LinkId=291" TARGET="_blank">Web资源页面</A>上的“存储区域网络”链接。
注意:提供SAN架构组件和软件管理工具的供应商拥有针对构建、配置、监控和管理SAN架构的广泛的工具。联系您的SAN供应商,了解有关针对您的特殊SAN解决方案的详细信息。
SCSI复位Windows服务器群集的早期版本假定对于共享磁盘的所有通信应作为一个独立的SCSI总线。该做法略具破坏性,并且没有利用光纤通道的更高级的特性来提高仲裁性能和减少通信中断。
Windows Server 2003中的一个关键改进是群集服务发出一个命令用以打断一个RESERVATION,而StorPort驱动程序可以针对光纤通道拓扑结构上的磁盘执行目标或设备复位。在Windows 2000服务器群集中,整个总线范围的SCSI RESET(复位)得到了发布。这导致总线上的所有设备被断开连接。当SCSI RESET被发布时,很多时间被花在复位可能无需进行复位的设备上,比如:CHALLENGER节点可能已经拥有的磁盘。
Windows 2003中的复位按照以下顺序进行:
1. 目标逻辑单元号码( LUN)
2. 目标SCSI ID
3. 整个总线范围的SCSI RESET
注意
目标复位需要主机总线适配器(HBA)驱动程序中的功能。驱动程序必须是针对StorPort而不是SCSIPort编写的。使用SCSIPort的驱动程序将如同在Windows 2000中使用Challenge和Defense一样。联系HBA制造商,确定其是否支持StorPort。
SCSI命令群集服务使用下列SCSI命令:
相同的控制代码也用于光纤通道。这些参数在下列伴随文章中予以定义:
309186 群集服务如何获得共享总线上磁盘的所有权(How the Cluster Service Takes Ownership of a Disk on the Shared Bus)
317162 支持的光纤通道配置(Supported Fibre Channel Configurations)
以下部分概述一些直接影响服务器群集部署的SAN概念。
HBA主机总线适配器(HBA)是将群集节点连接到SAN的接口卡,其连接方法类似于网络适配器将服务器连接到典型的Ethernet网络的方式。但是,HBA并网络适配器更加不容易配置(除非HBA由SAN供应商预配置)。所有节点中的HBA必须是完全一致的,而且必须采用相同的驱动程序和固件版本。
分区和LUN屏蔽分区和LUN屏蔽是SAN部署的基础,尤其是它们涉及Windows Server 2003群集部署。
分区许多设备和节点都可以附加到SAN。由于数据保存在一个单一的“cloud”(存储云)或存储实体中,控制哪些主机可以接入特定设备是很重要的。区域划分允许管理员在逻辑卷中对设备进行分区,从而将设备保留在一个卷中以便为服务器群集所用。这意味着,逻辑存储卷中群集节点和设备间的所有交互具备隔离在区域边界内;而其它SAN的非群集成员则不会受群集行为的影响。
图 错误!未找到引用源。.5对两个SAN区域进行逻辑描述(A区域和B区域),每个区域均包含一个存储控制器(分别为S1和S2)
图 错误!未找到引用源。.5 分区
在该部署中,节点Node A和节点B可从存储控制器S1访问数据,但节点节点C不可以。节点C可以从存储控制器S2访问数据。
分区需要在硬件层次进行实施(结合控制器或交换机),而不能通过软件来实现。主要的原因是:分区也是一个针对基于SAN的群集的安全机制,因为未经授权的服务器无法访问区域内的设备(访问控制由架构中德交换机来执行,因此主机适配器无法访问未经配置的设备)。如果通过软件形式进行分区,如果软件组件出现故障,群集将无法得到安全保障。
除了提供群集安全性外,分区还对给定SAN环境中的流量进行了限制。端口间的流量只被路由选择到位于相同区域的架构段中。
LUN屏蔽LUN是SAN中所定义的逻辑磁盘。服务器群集看到LUN并将其认作物理磁盘。LUN屏蔽是在控制器层面执行的,允许您定义LUN与群集节点间的关系。存储控制器通常提供创建LUN层次的访问控制的方法,用以允许给定LUN接入一个或更多的主机。 通过在存储控制器上提供该访问控制,控制器本身可以对设备强加访问策略。
LUN屏蔽提供了比分区更加细微的安全性,因为LUN提供了端口层面的分区方法。例如:许多SAN交换机允许重叠的区域,从而可以使一个存储控制器位于多个区域中。多个区域中的多个群集可以共享这些区域中的控制器上的数据。图 错误!未找到引用源。.7描述了这类情景。
图 错误!未找到引用源。.7 多个区域中的存储控制器
A群集所用的LUN可以从B群集屏蔽或隐藏,从而只有授权用户才可以访问共享存储控制器上的数据。
Windows Server 2003群集和SAN的综合部署要求下方列表重点列出了在综合部署服务器群集和SAN存储解决方案时,需要遵守的一些部署要求。有一份白皮书提供了有关结合服务器群集使用SAN的更完整的信息,请参见Windows群集:位于http://www.microsoft.com/windows/reskits/webresources的Web资源页面 Resources page</A> 上的存储区域网络(Storage Area Networks)链接””””。
SAN上的每个群集都必须在其自己的区域中进行部署。群集用以保护磁盘访问的机制可对相同区域内的其它群集造成负面影响。通过使用分区将群集流量从其它节点或非节点流量孤立出来,就不存在相互干扰的机会。
位于一个单一节点中的所有HBA必须是同一种类型,并且具有相同的固件版本。许多存储和交换机供应商要求相同区域上——有时必须是在相同架构中——的所有HBA共享这些特性。
群集中的所有存储设备的驱动程序和HBA设备的驱动程序必须具有相同的软件版本。
从来不要允许多个节点接入相同的存储设备,除非它们位于相同的群集中。
从来不要将磁带设备放在群集磁盘存储设备所在的同一个区域。磁带设备可能会误解总线休眠,并在不恰当的时候(如在大型备份过程中)进行倒带。
针对结合Windows Server 2003服务器群集部署SAN的指导方针除了上一部分所讨论的SAN要求外,强烈建议在服务器群集部署中遵照下列实践:
在一个高度可用的存储架构中,您需要通过多个HBA部署群集的服务器。在这些情况中,始终载入多路径驱动程序软件。如果I/O子系统看到两个HBA,会将其假定为不同的总线,并列举所有的设备,好像它们是每条总线上的不同设备。同时,主机看到针对相同磁盘的多条路经。载入多路径驱动程序的失败将禁用第二个设备,因为操作系统将其所看到的认为是具有相同签名的两个独立磁盘。
不要将群集磁盘的硬件快照暴露回相同群集中的节点。硬件快照必须进入服务器群集以外的服务器。许多控制器提供控制器层面的快照,其可作为完全孤立的LUN暴露于群集。当多个设备拥有相同的签名时,群集性能会下滑。如果快照通过原始磁盘联机暴露回节点,I/O子系统会尝试重写签名。然而,如果快照暴露于群集中的另一个节点,群集服务不会将其识别为一个不同的磁盘,而后果可能是数据遭破坏。虽然这不是一个特定的SAN问题,但是提供该功能的控制器通常被部署于SAN环境中。
更多信息,请在Microsoft知识库中参阅下列文章:
301647 针对存储区域网络的群集服务改进(Cluster Service Improvements for Storage Area Networks)
304415 对于附属于相同SAN设备的多个群集的支持(Support for Multiple Clusters Attached to the Same SAN Device)
280743 Windows群集与地理位置分散的站点(Windows Clustering and Geographically Separate Sites)
相关链接参见下列资源,了解更多信息:
· Microsoft群集服务安装资源
位于http://support.microsoft.com/?id=259267
· 仲裁驱动器配置信息
位于http://support.microsoft.com/?id=280345
· 群集服务器上推荐的专用“Heartbeat(心跳)”配置
位于http://support.microsoft.com/?id=258750
· 服务器群集中的网络故障检测与恢复
位于http://support.microsoft.com/?id=242600
· 如何更改仲裁磁盘指定
位于http://support.microsoft.com/?id=280353
· Microsoft Windows群集:存储区域网络(SAN)
位于http://www.microsoft.com/windows.netserver/techinfo/overview/san.mspx
· Windows Server 2003中地理位置分散的群集
位于http://www.microsoft.com/windows.netserver/techinfo/overview/clustergeo.mspx
· 服务器群集的网络要求和最佳实践
位于http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsserver2003/maintain/operate/clstntbp.asp
有关Windows Server 2003的最新信息,请参见Windows 2003 Server网站: http://www.microsoft.com/windowsserver2003/default.mspx