| 本文如何组织? | |
| 最常见的问题是什么? | |
| 服务器群集简介 | |
| 可用性 | |
| 可管理性和部署 | |
| 可伸缩性 | |
| 服务器群集概念 | |
| 服务器要求 | |
| 互连 | |
| 存储 | |
| 存储区域网络 (SAN) 问题 | |
| 网络附加存储 (NAS) 问题 | |
| 高可用性文件服务器 | |
| 高可用性打印服务器 | |
| 排除所有单一故障点 | |
| Active Directory、DNS 和域控制器 | |
| 安全方面的注意事项 | |
| 内置的 HA 服务 | |
| 地理位置分散的群集 | |
| 仲裁 | |
| 支持群集的应用程序 | |
| 其他主题 |
| 问: | 本文如何组织? | ||||||||||||||||||||||||||||||||||||
| 答: | 以下各部分涉及服务器群集的各个方面,从概念到部署再到操作过程:
| ||||||||||||||||||||||||||||||||||||
| 问: | 最常见的问题是什么? | ||||||||||||||||||||||||
| 答: |
| ||||||||||||||||||||||||
| 问: | 什么是服务器群集? | ||||||||
| 答: | 服务器群集是一组各自独立的服务器,它们组合在一起提供了一个用于承载应用程序的高可用性平台。 | ||||||||
| 问: | 服务器群集有何优点? | ||||||||
| 答: | 服务器群集的主要优点是:可用性、可管理性和可伸缩性:
| ||||||||
| 问: | 群集服务器有什么用途? | ||||||||
| 答: | 群集服务器为任务关键型行业应用程序提供了一个高可用性平台。这些应用程序通常包括数据库服务器(例如 Microsoft SQL Server)、邮件和协作服务器(例如 Exchange Server)以及基础结构服务器(例如文件服务器和打印服务器)。 | ||||||||
| 问: | 服务器群集的名称是 Microsoft Cluster Server (MSCS) 和/或 Wolfpack 吗? | ||||||||
| 答: | 原始服务器群集项目的代码名称是 Wolfpack。但当该产品作为 Microsoft Windows NT 4.0 Enterprise Edition 的一部分发行时,它的名称是 Microsoft Cluster Server 或 MSCS。在 Microsoft Windows 2000 中,该产品的正式名称是服务器群集。 | ||||||||
| 问: | 服务器群集如何融入更大型的 Windows 高可用性环境中? | ||||||||
| 答: | 服务器群集是运行在 Windows 平台上的更大型的高可用性应用程序环境的一部分。Windows 具有三种不同的群集技术:服务器群集、网络负载平衡 (NLB) 和组件负载平衡 (CLB)。在出现故障时,服务器群集通过将应用程序从一台服务器上故障转移到另一台服务器,从而确保了诸如数据库(例如 SQL Server )这样的有状态应用程序的高可用性。NLB 用于将客户端请求分配给一组相同的服务器。在负载增加时,NLB 可通过增加额外的服务器,从而确保了诸如 web 服务器(例如 IIS )这样的无状态应用程序高度可用并且可以扩散。CLB 是一种用于确保 COM+ 应用程序高度可用并且可以扩散的技术。Windows 平台中的其他基础结构使用其他技术来确保高可用性和可伸缩性。例如,Active Directory 的高可用性是通过将目录内容复制到一组域控制器中来实现的。 | ||||||||
| 问: | 扩增与扩散的区别是什么? | ||||||||
| 答: | 扩增是用于描述大型的对称多处理 (SMP) 系统提供的可伸缩性的术语。随着负载的增加,可以在服务器中增加更多的处理器和更多的内存,从而增加可用于应用程序的处理能力和内存。Windows 2000 Datacenter Server 和 Windows Server 2003 Datacenter Edition 支持利用更多的 CPU 和更大的物理内存来扩增为大型计算机。在扩散环境中,部署服务器群集的目的是为了确保服务器故障不会导致应用程序或服务失败。扩增通常是为了承载不能分区的大型应用程序,或是为了将一组应用程序合并到一台服务器中(或者,对于服务器群集来说,也可以是几台小型服务器)。 扩散是用于描述以下想法的术语:可以通过分区工作负载,并将其分配给一组相互协作的服务器,从而实现对应用程序的缩放。如果负载增加,可以将其他服务器添加到组中,以便提供更多的处理能力和内存。 通过故障转移从而使得可扩散解决方案的片断或分区具有高可用性,服务器群集能够增强被扩散到一组节点中的应用程序的可用性。 | ||||||||
| 问: | 服务器群集是所有 Windows OS 操作系统产品的标准功能吗? | ||||||||
| 答: | 并不是所有 Windows OS 产品都提供服务器群集功能。以下操作系统提供服务器群集功能:
Server Appliance Kit 中也提供了服务器群集,用于帮助 OEM 构建基于 Windows 操作系统的嵌入式解决方案。 | ||||||||
| 问: | 我如何知道我的服务器群集配置是否受支持? | ||||||||
| 答: | 所有服务器群集都必须经过资格认定才受 Microsoft 支持。合格的配置都经过了广泛的试验(利用 Microsoft 提供的硬件兼容性测试)。所有合格的解决方案都会在位于以下网址的 Microsoft 硬件兼容性列表 (HCL) 中列出:http://www.microsoft.com/whdc/hcl/default.mspx. Microsoft 仅支持 HCL 上列出的群集解决方案。 完整的群集解决方案必须在群集 HCL 列表中列出。完整的解决方案包括服务器、存储适配器、互连类型、存储控制器固件以及驱动程序版本。合格的解决方案的所有组件都必须完全匹配,包括任何软件、驱动程序或固件版本。 HCL 包含一组合格的群集组件。一个由合格的组件构建的解决方案并不一定是合格的解决方案。 在过去,群集组件列表成为混淆的根源,因此我们将从 Windows Server 2003 的 HCL 中删除群集组件列表(例如 Cluster/RAID)。 | ||||||||
| 问: | 受支持配置会在什么地方列出? | ||||||||
| 答: | 所有合格的解决方案都会在位于以下网址的 Microsoft 硬件兼容性列表 (HCL) 中列出:http://www.microsoft.com/whdc/hcl/default.mspx. Microsoft 仅支持 HCL 上列出的群集解决方案。 | ||||||||
| 问: | 什么地方可以找到有关服务器群集的更多说明? | ||||||||
| 答: | 在 Windows 2000 和 Windows Server 2003 中的联机帮助中广泛讨论了服务器群集。更多信息则可以通过以下 Microsoft web 站点获得: | ||||||||
| 问: | 服务器群集可以为应用程序提供零停机时间吗? | ||||||||
| 答: |
Microsoft 建议客户将群集用作他们提供高度集成和高度可用的任务关键型服务器数据和应用程序的整体计划中的一个元素。 | ||||||||
| 问: | 服务器群集有益于何种类型的应用程序和服务? | ||||||||
| 答: | 服务器群集有益于三种类型的服务器应用程序
| ||||||||
| 问: | 服务器群集可以为管理提供单一映像视图吗? | ||||||||
| 答: | 是的,服务器群集为管理员提供了一个图形界面(群集管理器)和一个命令行工具(Cluster.exe,在 Windows 2000 和 Windows Server 2003 中提供),通过它们管理员可以监视和管理群集中的所有资源,就好像它是一个系统。管理员可以:
在短暂的服务停顿(通常小于一分钟)中将工作负载从一台服务器迁移到另一台服务器,这意味着管理员可以在规划的维护期间轻松地解除服务器的负载,而不用让重要的数据和应用程序长时间处于脱机状态。 | ||||||||
| 问: | 可以远程管理服务器群集吗? | ||||||||
| 答: | 可以,授权的群集管理员可以通过网络上的任何 Windows NT 或 Windows 2000 Workstation 或 Server、任何 Windows XP 计算机或任何 Windows Server 2003 运行“群集管理器”。cluster.exe 命令行工具可以通过网络上的任何 Windows NT 或 Windows 2000 Workstation 或 Server、任何 Windows XP 计算机或任何 Windows Server 2003 远程运行。 | ||||||||
| 问: | 可以远程设置和配置服务器群集吗? | ||||||||
| 答: | 可以,使用 Windows Server 2003 时,“群集管理器”还可用于远程设置和配置服务器群集(例如创建新群集、在现有群集中添加新服务器或是从某个群集中删除服务器)。 | ||||||||
| 问: | 服务器群集软件是默认安装的吗? | ||||||||
| 答: | 对于 Windows NT 和 Windows 2000,服务器群集软件不是默认安装的。对于 Windows NT,必须安装 Enterprise Edition CD。对于 Windows 2000,您必须使用可选的组件管理工具来安装服务器群集软件。 对于 Windows Server 2003,服务器群集软件会默认安装在 Enterprise Edition 和 Datacenter Edition 上。默认不会配置群集软件,并且也不会启动群集软件,除非该服务器用于创建一个新群集或是该服务器被添加到现有群集中。在 Windows Server 2003 中,您必须使用“群集管理器”或 Cluster.exe 命令行工具来配置群集。 | ||||||||
| 问: | 可以使用无人参与安装的方式安装和配置服务器群集吗? | ||||||||
| 答: | 可以,若要利用 Uttend.txt 文件执行“Windows 2000 群集”的无人参与安装,请参阅位于 Windows 2000 CD-ROM 上以下位置的“Windows 2000 部署指南”:%CDROM%\SUPPORT\TOOLS\DEPLOY.CAB\Unattend.doc 其他信息可以从 KB 文章 176507MSCS 服务的无人参与安装 | ||||||||
| 问: | 必须在所有群集服务器上分别安装应用程序吗? | ||||||||
| 答: | 这取决于应用程序。可以在群集的多台服务器之间进行故障切换的应用程序在群集的所有服务器上一定都可用。以前,应用程序安装程序不支持群集,因此必须分别在每台服务器上安装应用程序。 在最近的一些应用程序版本中(例如 SQL Server 2000),应用程序安装程序已经可以支持服务器群集。对于 Microsoft SQL Server 2000 安装程序来说,相应的文件会被复制到所有服务器,注册表设置和其他 SQL Server 配置也仅执行一次操作。 | ||||||||
| 问: | 可以如何利用 ISA Server 的扩展功能? | ||||||||
| 答: | 很多第三方供应商提供了很多解决方案,例如病毒检测、内容过滤、站点分类、报告和管理等。有关第三方解决方案的更多信息,请访问http://www.microsoft.com/technet/prodtechnol/isa/websites/default.asp. 客户和开发人员也可以创建他们自己的 ISA Server 扩展。ISA Server 提供了一个综合的软件开发工具包,用于开发构建于 ISA Server 防火墙、缓存和管理功能之上的工具。 | ||||||||
| 问: | 可以编写脚本来执行群集管理操作吗? | ||||||||
| 答: | 可以,有一些脚本管理操作可供选择:
| ||||||||
| 问: | 命令行工具可以用于管理群集吗? | ||||||||
| 答: | 可以,服务器群集有一个命令行工具 cluster.exe,它可以用于管理群集。在 Windows Server 2003 中,此命令行工具还可以用于创建新群集,向现有服务器中添加群集以及从群集中删除服务器。几乎“群集管理器”提供的所有功能 Windows Server 2003 中的 cluster.exe 都可以提供。 | ||||||||
| 问: | 支持 WMI 用于管理群集吗? | ||||||||
| 答: | 是的,在 Windows Server 2003 中有一个 WMI 提供程序可以对服务器群集进行管理。此外,所有服务器群集事件(例如服务器启动和服务器关闭,资源联机、脱机、故障,等等)都可以通过 WMI 事件获得。 | ||||||||
| 问: | 服务器群集支持 WMI 事件记录吗? | ||||||||
| 答: | 是的,在 Windows Server 2003 中,所有服务器群集事件(例如服务器启动和服务器关闭,资源联机、脱机、故障,等等)都可以通过 WMI 事件获得。 | ||||||||
| 问: | 可以对群集服务器使用组策略吗? | ||||||||
| 答: | 可以对群集服务器应用组策略。但有一些事情要记住。相同的策略通常会对从群集中的一台服务器故障切换到另一台服务器的应用程序有效,不管这些应用程序位于哪里。您应当确保对所有群集服务器应用相同的组策略。 对于 Windows Server 2003 以及之前的 Windows 2000 SP3,可以在 active directory 中发布虚拟服务器。您不应对虚拟服务器计算机对象应用组策略。该策略仅适用于当前承载虚拟服务器的服务器,并且如果应用程序进行了故障切换,所有策略设置可能都会丢失。 | ||||||||
| 问: | 支持 Systems Management Server (SMS) 在服务器群集中部署应用程序吗? | ||||||||
| 答: | 不支持,现在还不支持 SMS 在群集中部署应用程序。 | ||||||||
| 问: | 服务器群集上支持 Application Center 2000 吗? | ||||||||
| 答: | 不支持,Application Center 2000 提供了一组功能,这些功能用于管理承载 web 服务器前端和中间层业务逻辑的服务器。但部署服务器群集的目的通常是为了确保后端数据库引擎的高可用性。 | ||||||||
| 问: | 可以使用 MOM 管理包来监视服务器群集吗? | ||||||||
| 答: | 不可以,现在还没有支持服务器的 MOM 管理包。 | ||||||||
| 问: | 服务器群集如何帮助管理员进行滚动升级? | ||||||||
| 答: | 借助于服务器群集,服务器管理员不再需要在没有用户联机时(这种机会很少)执行所有维护。相反的,他们可以等到一个方便的非高峰时间,这时可以将群集中的某台服务器删除以便进行维护,并将其工作负载分配给其他群集服务器。通过点击“群集管理器”(或使用脚本)并将某台服务器的所有工作负载移给其他服务器,就可以对群集中的一台服务器进行升级。在完成并测试升级之后,可以重新启动这台服务器,这时它会自动重新加入群集,并随时可以进行工作。管理员可以在方便的时候重复这个过程,以便对群集中的其他服务器进行维护。这种在进行服务器维护时保持应用程序和数据联机的能力通常被称为对您的服务器进行“滚动升级”。 服务器群集允许对新版本和以前版本进行滚动升级。 | ||||||||
| 问: | 哪些 Windows 版本支持滚动升级? | ||||||||
| 答: | 服务器群集允许对新版本和以前版本进行滚动升级。它支持以下滚动升级:
| ||||||||
| 问: | 可以从一个“群集管理器”工具中对不同版本的服务器群集进行管理吗? | ||||||||
| 答: | 可以,服务器群集工具可以从一点上对混合版本的群集进行管理。在滚动升级期间,群集可能包含不同版本的操作系统。例如 Windows 2000 和 Windows Server 2003 可以共存于相同的群集中。随 Windows Server 2003 提供的管理工具可以对这种混合版本的群集进行管理。 | ||||||||
| 问: | 服务器群集有其他可管理性优点吗? | ||||||||
| 答: | 服务器群集允许管理员快速检查所有群集资源的状态,并将工作负载转移给群集中的其他服务器。对于人工负载平衡以及不令重要的数据和应用程序脱机的情况下在服务器上执行“滚动更新”来说,这会非常有用。 | ||||||||
| 问: | 服务器群集是否增强了服务器的可伸缩性? |
| 答: | 服务器群集的主要目标是为应用程序提供高可用性平台。 有一些类型的应用程序可以进行扩散以便利用一组机器。可以将更多的机器添加到组中,以增加可用于应用程序的 CPU 或内存。这种类型的应用程序通常采用对数据集分区的方式进行扩散。例如,可以通过将数据库分区为多个片断的方式来扩散 SQL Server 数据库,然后利用数据库视图给客户端应用程序造成一个数据库的假象。 服务器群集并不提供用来分区或扩散应用程序的工具;但是,服务器群集允许在高可用性环境中对这类应用程序进行扩散。每个分区都可以独立在一组机器内部进行故障切换(也可以故障切换到其他空闲节点),这样在出现故障的时候应用程序的分区仍然可以保持可用。 |
| 问: | 服务器群集是否提供应用程序的负载平衡? |
| 答: | 服务器应用程序提供人工负载平衡机制。应用程序可以被转移给群集中的多台服务器,以便分布负载。 操作系统不提供自动工具来自动实现应用程序的负载平衡,也不提供增强的故障切换策略,以便利用负载来确定应用程序的最佳放置位置。 |
| 问: | 要构建服务器群集需要什么硬件? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 服务器群集硬件的最重要的条件是它必须包含在 Microsoft 硬件兼容性列表 (HCL) 上的已验证的群集配置中,这表明它通过了 Microsoft 群集硬件兼容性测试。所有合格的解决方案都会出现在以下 Microsoft HCL 站点中:http://www.microsoft.com/whdc/hcl/default.mspx. Microsoft 仅支持 HCL 上列出的群集解决方案。 一般说来,构建服务器群集的条件包含以下事项:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 什么是群集资源? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 群集资源是服务器群集中最底层的管理单元。一个资源代表一个物理对象或是当前正在运行的代码的一个实例。例如,一个物理磁盘、一个 IP 地址、一个 MSMQ 队列或是一个 COM 对象,所有这些都可以视为是资源。从管理的角度来讲,资源可以独立启动和停止,并可以独立进行监视以确保其运行状况良好。 服务器群集可以监视任意类型的资源。之所以能够做到这点,是因为服务器群集定义了一个资源插件模型。每种资源类型都具有一个相关的资源插件或资源 dll,它用于启动和停止资源,以及提供特定于资源类型的运行状况信息。例如,启动和停止 SQL Server 不同于启动和停止物理磁盘。资源 dll 会考虑到这些不同。应用程序开发人员和系统管理员可以为他们的应用程序构建新的资源 dll,并可以在群集服务中注册这些资源 dll。 服务器群集提供了一些通用的插件,可用于让现有的应用程序快速支持群集,这些插件也称为一般服务和一般应用程序。使用 Windows Server 2003 时,一个一般脚本资源插件就会被添加进来,从而允许在 Windows 操作系统支持的任何脚本语言中编写资源 dll。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 什么是资源相关性? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 一个完整的应用程序实际上是由多个片断和多种资源组成的,其中一些片断是代码,其他的则是应用程序要求的物理资源。这些资源以不同方式发生关联;例如除非磁盘联机,否则写到磁盘上的应用程序就无法联机。如果磁盘出现故障,那么,根据定义,应用程序就无法继续运行,因为它是写在磁盘上的。应用程序开发人员和系统管理员可以定义资源相关性来捕获这些关系。资源相关性定义了资源返回联机状态的顺序,并控制着故障传播到应用程序的不同片断的方式。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 什么是资源组? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 资源组是被作为一个单元管理和监视的一种或多种资源的集合。资源组可以被启动或停止。如果资源组处于启动状态,则其中的所有资源都将处于启动状态(请考虑组中各资源之间的相关性所定义的启动顺序)。如果资源组被停止,则其中的所有资源都会被停止。资源之间的相关性不能跨越组。换句话说,资源组都是自治的单元,可以独立于任何其他组启动和停止。在任何时间点上,一个组就是服务器群集中的服务器上承载的一个不可分割的单元,它是故障转移的单元。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 不同组中的资源可以具有相关性吗? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 不能,资源相关性仅限于一个组内。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 什么是虚拟服务器? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 虚拟服务器是包含一个 IP 地址资源和一个网络名称资源的资源组。当在虚拟服务器中承载应用程序时,客户端可以使用该资源组中的 IP 地址或网络名称来访问应用程序。当资源组在群集中故障切换时,其 IP 地址和网络名称不会改变,因此当群集中的某台服务器出现故障时,应用程序不用知道应用程序的物理位置也可以继续工作。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 可以如何利用 ISA Server 的扩展功能? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 很多第三方供应商提供了很多解决方案,例如病毒检测、内容过滤、站点分类、报告和管理等。有关第三方解决方案的更多信息,请访问http://www.microsoft.com/technet/prodtechnol/isa/websites/default.asp. 客户和开发人员也可以创建他们自己的 ISA Server 扩展。ISA Server 提供了一个综合的软件开发工具包,用于开发构建于 ISA Server 防火墙、缓存和管理功能之上的工具。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 什么是故障切换? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 服务器群集监视群集中节点和资源的健康情况。在出现服务器故障的情况下,群集软件会在一台或多台仍在运行的其他服务器上重新启动出现故障的服务器的工作负载。如果个别资源或应用程序出现故障(但服务器没有),服务器群集通常会尝试在同一服务器上重新启动该应用程序;如果这种尝试失败,它会将应用程序的资源移到其他服务器上,并在该服务器上重新启动应用程序。这种检测故障并在群集中的其他服务器上重新启动应用程序的过程称为故障转移。 群集管理员可以设置不同的恢复策略,例如是否在相同服务器上重新启动应用程序,以及是否在出现故障的服务器重新联机时自动将工作负载“切换回”(重新平衡)该服务器。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 故障切换对于用户来说是透明的吗? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 服务器群集不要求客户端计算机上具有任何特定的软件,因此用户在故障切换期间的体验取决于用户的客户端-服务器应用程序的客户端属性。客户端重新连接可以是透明的,因为服务器群集软件会在相同的 IP 地址重新启动应用程序、文件共享,等等。 如果客户端使用“无状态”连接(例如标准的浏览器连接),并且故障切换发生在服务器请求之间,那么客户端就不会知道发生了故障切换。如果客户端连接到出现故障的资源从而出现错误,那么在服务器端不可用时,客户端将会收到应用程序的客户端提供的标准通知。例如,如果在您使用“Windows 资源管理器”下载文件时服务器或网络出现故障,则可能会出现标准的“中止,重试或取消?”提示。在这种情况下,客户端重新连接并不是自动进行的(用户必须选择“重试”),用户完全了解发生了什么事情,并且使用了一个简单和容易理解的方法来重新建立与服务器的连接。当然,同时群集服务也正在忙于重新启动服务或应用程序,因此当用户选择“重试”时,它会再次出现,就好像没有停止过一样。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 什么是故障回复? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 在群集中的服务器出现故障时,应用程序和资源会被故障切换到群集中的其他节点。当出现故障的节点重新加入群集时(比如说在重新启动后),现在应用程序就可以使用该节点。群集管理员可以设置资源和资源组策略,以便让应用程序可以在出现故障的节点可用时自动转移回该节点,从而自动利用重新加入群集的节点。这些策略称为故障回复策略。在定义自动故障回复时,您应当格外当心,因为根据应用程序的不同,自动转移(工作状态良好的)应用程序可能会对应用程序的客户端造成意外的后果。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 当在故障切换之后重新启动某个应用程序时,应用程序是否会恢复为出现故障时的状态? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 不会,服务器群集提供了一个快速的崩溃重新启动机制。当应用程序被故障切换并重新启动时,应用程序会从头开始重新启动。应用程序可以使用之前写入到数据库或文件的所有永久数据,但故障切换之前应用程序在内存中的所有状态都将丢失。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 什么是故障切换的精度? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 故障切换的精度就是资源组。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 什么是仲裁资源以及仲裁资源如何有助于服务器群集提供高可用性? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 服务器群集要求提供仲裁资源才能工作。与任何其他资源一样,仲裁资源是一种资源,在一个时间点上只能有一台服务器拥有这种资源,对于这种资源,服务器可以协商来取得它的所有权。仲裁资源的协商使得服务器群集避免了出现“裂脑”(split-brain) 的情况,在这种情况下,有多台服务器处于活动状态,这些服务器认为其他服务器处于关闭状态。比如说,在群集互连丢失并且网络响应时间成为问题时,就有可能出现这种情况。仲裁资源用于存储群集配置的最后副本,这样无论故障出现的顺序如何,群集配置总是能够保持一致。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 什么是主动/主动以及主动/被动? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 主动/主动以及主动/被动是用于描述群集中应用程序的部署方式的术语。遗憾的是,它们对于不同的人来说意味着不同的含义,因此这些术语总是会引起混淆。 对于单个应用程序或数据库来说:
对于应用程序或服务器的一组实例来说:
对于群集来说:
服务器群集支持所有这些不同的组合。这些术语实际上描述的是特定应用程序或应用程序组的部署方式。 随着超过两台服务器的群集的出现,从 Windows 2000 Datacenter 开始,术语主动/主动变得令人困惑起来,因为可能有四台服务器。在具有多台服务器的情况下,部署的选择变得更加灵活,从而支持进行多种不同的配置(例如 N+I)。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 群集中的节点超过两个有何好处? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 通常,故障转移是单实例应用程序和分区应用程序的多个分区所使用的机制,用来提供高可用性(术语“数据包” (Pack) 用于描述具有高可用性的单实例应用程序或分区)。 在 2 节点群集中,定义故障转移策略没有什么价值。因为如果一个节点出现故障,唯一的选择就是故障转移到另外一个节点。随着群集大小的增加,使用不同的故障转移策略随之成为可能,并且每个策略都具有不同的特点。 故障转移对 在大型的群集中,可以对故障转移策略进行定义,使得每个应用程序都可以在两个节点之间实现故障转移。以下这个简单的示例显示了一个 4 节点群集中的应用程序 App1 和 App2。 配置的优缺点:
使用所有 Windows 版本的服务器群集通过将每个资源的可能的所有者列表限定给指定节点对,都可以支持故障转移对。 热备用服务器 为了降低故障转移对的开销,可以将每个故障转移对中空闲的节点合并为一个节点,从而形成一个可以在出现故障的情况下承担工作的热备用服务器。 配置的优缺点:
目前,服务器群集可以通过结合使用可能的所有者列表和优先的所有者列表,从而支持备用服务器。优先节点应设为应用程序默认会在其上运行的节点,而给定资源的可能的所有者则应设为优先节点和空闲节点。 N+I 备用服务器在一些配置情况下可以很好地用于 4 节点群集,但是它处理多个故障的能力比较有限。N+I 配置是备用服务器概念的延伸,其中 N 个节点承载应用程序,I 个节点空闲。 配置的优缺点:
在 Windows Server 2003 版本下,服务器群集可利用群集组公用属性 AntiAffinityClassNames,从而支持 N+I 方案。这个属性可以包含由多个字符组成的任意字符串。在发生故障转移时,如果被故障转移的某个组的 AntiAffinityClassNames 属性中含有非空字符串,那么故障转移管理器就会检查所有其他节点。如果在资源的可能的所有者列表中有哪些节点没有承载与 AntiAffinityClassNames 具有相同值的组,那么这些节点就会被认为是合适的故障转移目标。如果群集中的所有节点都承载了含有与 AntiAffinityClassNames 属性相同值的组,那么就会使用优先节点列表来选择故障转移目标。 故障转移环 故障转移环允许群集中的每个节点运行一个应用程序实例。在出现故障时,故障节点上的应用程序会移到序列中的下一个节点。 配置的优缺点:
在 Windows Server 2003 版本下,服务器群集支持故障转移环。这是通过使用优先的所有者列表来定义给定组的故障转移顺序而实现的。应当先选择节点顺序,然后对优先的节点列表进行设置,使得每个组都从不同的节点启动。 随机 在大型群集——甚至是运行多个应用程序的 4 节点群集中,为每个应用程序定义具体的故障转移目标或策略会非常繁琐,同时也易于出错。 在一些情况下,最好的办法就是让系统随机选择目标,这种办法可保证在统计可能性的前提下,出现故障时负载会分布到群集中。 这种配置具有以下优缺点:
Windows Server 2003 版的服务器群集在出现故障时会随机安排故障转移目标。在承载资源组的节点出现故障的情况下,每个具有空的优先所有者列表的资源组都会被故障转移到群集中的随机节点。 自定义控制 在一些情况下,某个给定的应用程序实例可能会优先选择特定节点。 这种配置具有以下优缺点:
服务器群集可以利用优先的节点列表功能,完全控制故障转移的顺序。优先的节点列表的全部语义可以定义如下:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 一个群集中可以承载多少种资源? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 答: | 理论上说来,一个群集中最多可以承载的资源数量为 1,674;但是您应当知道,群集服务会定期选举资源以确保它们处于活动状态。随着资源数量的增加,这种轮询的开销也会增加。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 问: | 可以群集多少服务器? | ||||||||||||
| 答: | 服务器群集中服务器的数量取决于 Windows 产品和 Windows 的版本。下表列出了服务器的数量:
| ||||||||||||
| 问: | 服务器群集中的服务器是否必须一样? | ||||||||||||
| 答: | 群集兼容性测试并不要求合格的群集中的所有服务器都相同。随着群集规模的扩大,在硬件方面的投资也会增加,因此在一个群集中就可能会出现不同类型的服务器。 我们正在改进资格认定过程和列出过程,以便使不同解决方案的定义和认定更为方便。这对于 OEM 来说尤其重要,在 OEM 处服务器系列的更改相对频繁,因此使用目前的过程会大大增加额外要求的资格认定过程。在资格认定过程中服务器本身不会是什么问题,它通常是存储子系统的 HBA 或其他片断,因此没有什么理由要求在某个合格的解决方案中一定要使用相同的服务器。 | ||||||||||||
| 问: | 可以在同一服务器群集中混合使用 32 位服务器和 64 位服务器吗? | ||||||||||||
| 答: | 不能,一个服务器群集中包含的所有服务器必须都是 32 位服务器或 64 位服务器。 | ||||||||||||
| 问: | 任何服务器都可以用来创建群集吗? | ||||||||||||
| 答: | 所有合格的解决方案都会在位于以下网址的 Microsoft 硬件兼容性列表 (HCL) 中列出:http://www.microsoft.com/whdc/hcl/default.mspx. Microsoft 仅支持 HCL 上列出的群集解决方案。您可以使用配置中列出的任何服务器来构建一个完整的解决方案。 | ||||||||||||
| 问: | 群集互连要求什么类型的网络? | ||||||||||
| 答: | 网络接口控制器 (NIC) 以及认证的群集配置中使用的任何其他组件都必须具有 Windows 徽标且包含在“Microsoft 硬件兼容性列表”中。互连本身必须支持 TCP/IP 和 UDP 流量,并且必须作为一个非路由 LAN 段或子网出现。 | ||||||||||
| 问: | 服务器群集支持直接通过 WinSock 实现的高带宽低延迟互连吗? | ||||||||||
| 答: | 服务器群集代码本身不使用 WinSock 直接路径来实现群集内部通信。群集节点间的所有通信都通过 TCP/IP 或 UDP 实现。群集服务器可以在具备标准 NDIS 网络适配器 (NIC) 的节点之间使用高带宽低延迟连接(但可能无法利用高带宽低延迟的特点)。 | ||||||||||
| 问: | 一台群集服务器应配备多少个网络适配器? | ||||||||||
| 答: | 群集节点必须与两个或多个独立的网络相连,以避免出现单一故障点。因此需要使用局域网 (LAN)。仅具有一个网络的群集配置是不受支持的。为进行群集通信,至少必须配置两个网络。通常,其中一个网络是专用网络,仅用于群集通信,另一个网络则是公共网络配置用于客户端访问和群集通信。 | ||||||||||
| 问: | 一个群集支持配置多块公共网络适配卡吗? | ||||||||||
| 答: | 支持,但是有两个注意事项:
在群集技术的未来版本中,我们正在对某个功能进行设计,以便可以实现更加灵活的相关性,例如:资源可以依赖于 A 或者 B 来实现其自身的联机。 | ||||||||||
| 问: | 一个群集可以支持多个专用网络吗? | ||||||||||
| 答: | 可以。 | ||||||||||
| 问: | 为什么我看到网络上的心跳信号包被标记为“仅客户端”? | ||||||||||
| 答: | 在 Windows 2000 及更高版本中,不管公共网络的配置如何,服务器群集软件的心跳信号都会通过公共网络和专用网络。这是为了确保群集服务可以检测到公共网络适配器的故障,并可以在当前承载应用程序的节点无法与外部通信时故障切换应用程序。 | ||||||||||
| 问: | 如何配置不同的网络? | ||||||||||
| 答: | 群集节点必须与两个或多个独立的网络相连,以避免出现单一故障点。通常使用两个局域网 (LAN)。不支持节点仅连接一个网络的群集配置。 您应当将专用网络配置为“只用于内部群集通信”,将公共网络配置为“所有通信”。 | ||||||||||
| 问: | 群集网络上传送什么类型的信息? | ||||||||||
| 答: | 群集服务对以下群集内部流量使用群集网络:
| ||||||||||
| 问: | 服务器群集中的应用程序支持什么类型的协议? | ||||||||||
| 答: | 支持群集的应用程序必须使用基于 TCP/IP 的协议。群集软件仅支持在故障转移时使用 TCP/IP 协议。 | ||||||||||
| 问: | 如果某台服务器上的公共网络出现故障,是否会发生故障转移? | ||||||||||
| 答: | 是的,在 Windows 2000 及更高版本中,会在公共网络中发送额外的心跳信号,以检测公共网络和/或 NIC 故障,并在当前承载应用程序的节点不能与其他节点进行通信时,进行应用程序故障转移。 | ||||||||||
| 问: | 服务器群集中是否支持 NIC 组? | ||||||||||
| 答: | 是的,但是有一些注意事项。不支持同时在所有群集网络上使用 NIC 组。最少会有一个支持群集节点间的内部通信的群集网络不能成组。通常,这个不能成组的网络就是专用于连接这类通信的网络。在其他群集网络上使用 NIC 组是可以接受的;但是,如果某个成组网络中出现通信问题,Microsoft Product Support Services 可能会要求禁用该组。如果此操作可以解决问题,那么您必须向成组解决方案的提供商寻求更进一步的帮助。 | ||||||||||
| 问: | 服务器群集虚拟服务器支持 DHCP 吗? | ||||||||||
| 答: | 不支持,虚拟服务器必须具有静态 IP 地址。 | ||||||||||
| 问: | 服务器群集节点支持 DHCP 吗? | ||||||||||
| 答: | 支持,可以通过 DHCP 向物理节点动态分配地址,但我们建议人工配置静态地址。 | ||||||||||
| 问: | 运行服务器群集要求使用 NetBIOS 吗? | ||||||||||
| 答: | 在 Windows NT 和 Windows 2000 中,为使服务器群集正常工作,需要使用 NetBIOS。 在 Windows Server 2003 中,群集服务不要求使用 NetBIOS,但是如果禁用 NetBIOS,一些服务将会受到影响。您应当知道:
| ||||||||||
| 问: | 服务器群集中是否支持 IPSec? | ||||||||||
| 答: | 尽管可以对能够在服务器群集中进行故障转移的应用程序使用 Internet 协议安全 (IPSec),但 IPSec 并非专为故障转移而设计,因此我们推荐您不要对服务器群集中的应用程序使用 IPSec。 | ||||||||||
| 问: | 服务器群集如何在进行 IP 故障转移时更新路由表? | ||||||||||
| 答: | 作为自动恢复过程的一部分,群集服务会向路由器发出 IETF 标准 ARP“刷新”命令来刷新与正在被迁移到其他服务器的 IP 地址关联的机器地址 (MAC)。 | ||||||||||
| 问: | “地址解析协议”(ARP) 如何导致 LAN 上的系统更新它们的将 IP 地址转换为物理机器 (MAC) 地址的表? | ||||||||||
| 答: | ARP 规范规定所有收到 ARP 请求的系统都必须更新请求源的物理地址映射。请求中包含源 IP 地址和物理网络地址。作为 IP 地址注册过程的一部分,Windows TCP/IP 驱动程序会在相应的 LAN 上广播几次 ARP 请求。这种请求要求指定 IP 地址的所有者以其物理网络地址作为响应。通过向正在注册的 IP 地址发出请求,Windows 可以检测到 IP 地址冲突;如果可以收到响应,那么就不能安全地使用这个地址。可是,在它发出这个请求时,Windows 会将这个正在注册的 IP 地址指定为请求的源。因此,网络上的所有系统都会将它们的 ARP 缓存项更新为指定地址,从而使得正在注册的系统成为这个地址的新的所有者。 请注意,如果发生地址冲突,响应系统可能会针对相同的地址发出另一个 ARP 请求,从而再次强制子网上的其他系统更新它们的缓存。当 Windows 检测到一个已成功注册的地址存在地址冲突时,它就会执行上述操作。 | ||||||||||
| 问: | 服务器群集使用 ARP 广播来重新设置 MAC 地址,但是 ARP 广播不能通过路由器。那么如果客户端位于路由器后面又会怎样呢? | ||||||||||
| 答: | 如果客户端位于路由器后面,它们会使用路由器来访问群集服务器所在的子网。相应地,客户端会使用它们的路由器(网关)通过指定的任何路由(OSPF、RIP,等等)将数据包传递到路由器。最终结果就是它们的数据包被转发给与群集同在相同子网上的路由器。这个路由器的 ARP 缓存与故障转移期间修改过的 MAC 地址一致。因而数据包能够到达正确的虚拟服务器,远程客户端甚至看不到原来的 ARP 广播。 | ||||||||||
有很多存储问题,这些问题被分为一般问题、有关在存储区域网络 (SAN) 上部署服务器群集的问题以及网络附加存储 (NAS) 问题。
一般存储问题
| 问: | 服务器群集支持什么存储互连? | ||||||||||||||||||
| 答: | 群集服务器不限制所支持的存储互连类型;但是,从实际的角度看来,有一些对存储子系统的要求会限制所支持的存储互连类型。例如,所有群集节点都应该能够访问存储设备。通常这会影响互连,因为只能使用支持多个发起人(比如说节点)的互连。目前 HCL 上的合格配置中包含的互连有:SCSI(多种不同的 flavor)、光纤通道仲裁回路以及光纤通道交换结构。 请记住,Microsoft 仅支持所有配置都出现在“群集 HCL”上的群集。 | ||||||||||||||||||
| 问: | 如何配置 SCSI 群集上的节点和存储? | ||||||||||||||||||
| 答: | 您必须确保所有在 SCSI 总线上的设备都具有不同的 SCSI Id。默认情况下,SCSI 适配器会具有 Id 7。您应当确保每个节点中的适配器都具有不同的 Id。同样地,也应当在总线上为磁盘分配唯一的 SCSI Id。 为了使 SCSI 总线能够正常工作,必须中止它。有很多方法可以终止总线,使用内部方法(在主机适配器)和外部方法(使用 Y 线缆)都可以。为确保群集可以在不同类型的故障情况下存活(具体说来就是可以关闭其中一个节点),必须使用被动组件(例如 Y 线缆)来终止 SCSI 总线。内部终止,要求启动适配器,不推荐使用这种方法。 注意:使用 SCSI 存储互连时,Microsoft 仅允许构建 2 节点群集。 | ||||||||||||||||||
| 问: | 服务器群集支持光纤通道仲裁回路 (FC-AL) 吗? | ||||||||||||||||||
| 答: | 支持,使用 FC-AL 存储互连时,Microsoft 仅允许构建 2 节点群集。不支持多个群集位于一个光纤通道回路上。 | ||||||||||||||||||
| 问: | 多个群集可以连接到相同的存储控制器吗? | ||||||||||||||||||
| 答: | 可以,如果有多个群集连接到相同控制器的话,会有一些专门针对存储控制器的设备规范测试,用于确保它们可以正确响应。为了使多个群集可以连接到相同控制器,该存储控制器必须出现在多群集设备“硬件兼容性列表”(HCL) 中,并且每个端到端群集解决方案都必须出现在“群集硬件兼容性列表”中。例如:EMC Symmetrix 5.0 就位于多群集设备 HCL 列表中。只要 Dell PowerEdge + EMC Symmetrix AND Compaq Proliant + EMC Symmetrix 都位于群集 HCL 中,多个群集(假设是一个 Dell PowerEdge 群集和一个 Compaq Proliant 群集)就可以连接到 EMC Symmetrix 存储控制器。 | ||||||||||||||||||
| 问: | 如果从主机总线适配器 (HBA) 上拔下存储电缆,会不会发生故障转移? | ||||||||||||||||||
| 答: | 如果从主机总线适配器 (HBA) 上拔下存储电缆,在适配器对连接丢失作出反应之前可能会有一个停顿,但是,一旦 HBA 检测到通信失败,那么群集内使用这个 HBA 的磁盘资源也会失败。这将会触发一次故障转移,从而在群集中的其他节点上重新使资源联机。 如果重新连接存储电缆,Windows 操作系统可能无法自动重新扫描新硬件(取决于适配器的驱动程序)。您可能需要人工重新扫描新设备。在执行重新扫描之后,该节点就可以承载任何物理磁盘资源了。如果设置了故障回复策略,则拔下电缆时被故障转移的任何资源都会在重新连接电缆时故障回复到该节点。 注意:HBA 是部署在服务器中的存储接口。通常这是一个将服务器连接到存储结构的 PCI 卡。 | ||||||||||||||||||
| 问: | 服务器群集能保护我的磁盘免于出现硬件故障吗? | ||||||||||||||||||
| 答: | 不能,群集服务器可以在服务器故障、操作系统或应用程序故障以及系统停机期间(由于维护)提供保护。Microsoft 强烈建议使用硬件或软件中提供的冗余技术(例如镜像、RAID 或复制)来防止应用程序和用户数据由于磁盘故障而丢失。 | ||||||||||||||||||
| 问: | 服务器群集支持 RAID 或镜像磁盘吗? | ||||||||||||||||||
| 答: | 是的,Microsoft 强烈建议使用硬件或软件中提供的冗余技术(例如镜像、RAID 或复制)来防止应用程序和用户数据由于磁盘故障而丢失。 | ||||||||||||||||||
| 问: | 群集中支持动态磁盘吗? | ||||||||||||||||||
| 答: | Microsoft 的 Windows 服务器产品不支持在服务器群集环境中使用动态磁盘。Veritas 的 Volume Manager for Windows 2000 加载项产品可用于在服务器群集中增加动态磁盘功能。如果在群集中安装了 Veritas Volume Manager 产品,则 Veritas 应成为群集问题的首个支持点。 | ||||||||||||||||||
| 问: | 可以在不重新启动的情况下扩展群集磁盘吗? | ||||||||||||||||||
| 答: | 可以,如果存储控制器支持基础物理磁盘的动态扩展,那么就可以在不重新启动的情况下扩展群集磁盘。很多新的存储控制器虚拟了向操作系统呈现的逻辑单元 (LUN),这些控制器允许从存储控制器管理控制台中联机增大 LUN。Microsoft 提供了一种称为 DiskPart 的工具,使用它可以在不中断正在使用磁盘的应用程序或用户的情况下联机增大卷或分区,以便利用磁盘上新创建的空间。Windows 2000 和 Windows Server 2003 分别使用不同版本的 DiskPart。Windows 2000 版 DiskPart 可以通过 web 免费下载,而 Windows Server 2003 版 DiskPart 则是随分发媒体一起提供。 注意:LUN 等同于可以在“磁盘管理器”中看见的一个磁盘设备。 | ||||||||||||||||||
| 问: | 在不重新启动的情况下其他磁盘可以添加到群集中吗? | ||||||||||||||||||
| 答: | 可以,您可以插入一个新磁盘或是创建一个新 LUN,并使群集节点可以看到该磁盘或 LUN。您应当只让群集中的一个节点可以看到该磁盘,然后再创建群集资源来保护这个磁盘。一旦磁盘获得保护,您就可以让群集中的其他节点可以看到该 LUN。在某些情况下,您可能需要在设备管理器中执行一次重新扫描,以便发现新设备。在另外一些情况下(尤其是使用光纤通道时),系统可能会自动检测到磁盘。 | ||||||||||||||||||
| 问: | 在不重新启动的情况下可以从群集中移除磁盘吗? | ||||||||||||||||||
| 答: | 可以 | ||||||||||||||||||
| 问: | 什么类型的磁盘可以用作群集磁盘? | ||||||||||||||||||
| 答: | Microsoft 建议将群集磁盘上的所有分区都格式化为 NTFS 文件系统。有两个原因。首先,NTFS 提供了访问控制,可以用来保护磁盘上的数据。其次,NTFS 可以从被强行卸载的卷中恢复;而如果强行卸载其他文件系统,这些文件系统可能会遭到破坏。 服务器群集仅支持“主引导记录”(MBR) 格式磁盘。群集磁盘的格式不能是 GPT。 | ||||||||||||||||||
| 问: | 可以将磁盘设备或其他非磁盘设备作为“群集磁盘”连接到同一存储总线吗? | ||||||||||||||||||
| 答: | 这取决于存储互连。服务器群集使用 SCSI 来保留和重新设置群集磁盘的仲裁。在 Windows NT 和 Windows 2000 中,群集服务器执行一种无目标的总线重设。在 Windows Server 2003 中,有可能确定重设,但是,它可能会故障回复到无目标的重设。如果磁带设备收到重设,这通常会触发磁带倒带。 服务器群集没有为对多台服务器可见的磁带设备提供任何仲裁机制,因此磁带设备无法防止多台服务器的并发访问。 在使用 SCSI 群集或回路以及光纤通道仲裁回路时,Microsoft 不支持将磁带设备连接到包含群集磁盘的 SCSI 总线。 只要磁带设备对于群集磁盘的适配器不可见,就可以将它们连接到交换结构。这可以通过将磁带放到群集磁盘的不同区域或是通过 LUN 屏蔽技术来实现。 | ||||||||||||||||||
| 问: | 服务器群集中支持软件容错磁盘(软件 RAID 或镜像)吗? | ||||||||||||||||||
| 答: | Microsoft 的 Windows 服务器产品不支持软件 RAID 或镜像,但是有一些第 3 方产品可以在群集环境中提供此功能。 | ||||||||||||||||||
| 问: | 服务器群集中支持“虚拟快照服务”(VSS) 吗? | ||||||||||||||||||
| 答: | 是的,“虚拟快照服务”是 Windows Server 2003 中的新功能,它提供了基本的快照功能,备份应用程序可以使用这些功能来创建连续的单个时点备份。群集服务具有一个 VSS 提供程序,使用这个提供程序可以拍摄群集服务配置,然后这些备份程序会将所拍摄的快照作为系统状态的一部分存储。 | ||||||||||||||||||
| 问: | 服务器群集中支持 Timewarp 快照吗? | ||||||||||||||||||
| 答: | 不支持,Timewarp 是 Windows Server 2003 中提供的一项新功能,使用这项功能可以拍摄连续的快照,并将这些快照公开给客户端。TImewarp 可以利用不支持群集的功能,但目前还不支持在群集中使用 TImewarp。 | ||||||||||||||||||
| 问: | 服务器群集支持硬件快照或事务恢复卷吗? | ||||||||||||||||||
| 答: | 支持,您可以使用最新的存储控制器中的一些工具来创建现有卷的快照。但是请注意,在您创建磁盘快照时,不应将该快照公开给原始磁盘所在的群集。群集服务使用磁盘签名来唯一标识磁盘。使用快照时,磁盘和快照具有相同的磁盘签名。 如果您创建了群集磁盘的硬件快照或事务恢复卷,则应当将此快照公开给其他服务器或群集(通常是专用的备份服务器)。 | ||||||||||||||||||
| 问: | 在创建群集磁盘时还应考虑什么事项? | ||||||||||||||||||
| 答: | 现代的存储控制器本身都提供一个虚拟的存储视图。一个物理 RAID 组可以被划分成多个逻辑单元,并以单个磁盘或 LUN 的形式公开给操作系统。如果您想要按此方法划分物理磁盘,并以单个 LUN 的形式向主机公开它们,您就应当谨慎考虑 IO 特点和故障特点 请记住,对于每个心轴只有固定的带宽。 Microsoft 建议您不要创建 LUN,并将其用作与将要用于应用程序的基础物理磁盘相同的仲裁磁盘。仲裁磁盘的可用性直接关系到群集的可用性。如果到仲裁磁盘的 I/O 花费太长时间,群集服务器将会认为仲裁磁盘已失败,并启动仲裁设备的故障转移。此时,与群集有关的所有其他活动都将被挂起,直到仲裁设备重新联机为止。 | ||||||||||||||||||
| 问: | 如何替换群集中出现故障的磁盘? | ||||||||||||||||||
| 答: | 替换办法取决于 Windows 的版本:
| ||||||||||||||||||
| 问: | 什么是存储区域网络 (SAN)? | ||||||
| 答: | 存储区域网络 (SAN) 被定义为是连接到公共通信和数据传输基础结构(如光纤通道)的一组互连的设备(例如磁盘和磁带)和服务器。给定部署的公共通信和数据传输机制通常被称为存储结构。SAN 的作用是允许多台服务器访问存储池,在存储池中,任何服务器都可以访问任何存储单元。显然,在这种环境中管理发挥着重大的作用,它需要提供安全保证(谁有权访问什么设备)以及顺序或序列保证(谁在什么时候可以访问什么设备)。 | ||||||
| 问: | 为什么要使用 SAN? | ||||||
| 答: | 与本地连接的设备相比,存储区域网络具有广泛的优点。使用存储区域网络,就可以从存储单元中剥离计算单元,从而可以实现灵活部署,并可以动态重新设定这两台服务器和存储的用途,以适应您当前的业务需要,而不用关心为给定服务器购买正确设备的问题,也无需使用电缆重新连接数据中心,以便将存储连接到给定服务器。 | ||||||
| 问: | 可以将群集连接到 SAN 吗? | ||||||
| 答: | 可以,Microsoft 完全支持将存储区域网络作为基础 Windows 平台的一部分以及完整的“Windows 群集”高可用性解决方案的一部分。 | ||||||
| 问: | 群集可以在 SAN 中与其他服务器共存吗? | ||||||
| 答: | 一个或多个服务器群集可以和多台独立的 Windows 服务器和/或其他非 Windows 平台一起部署在一个 SAN 环境中。 | ||||||
| 问: | 要将群集放置在共享的 SAN 中还需要什么 SAN 配置? | ||||||
| 答: |
注意:HBA 是部署在服务器中的存储接口。通常这是一个将服务器连接到存储结构的 PCI 卡。 | ||||||
| 问: | 什么是 LUN 屏蔽或选择性表示? | ||||||
| 答: | LUN 屏蔽(也称为选择性表示)使得用户可以在控制器级别表示 LUN 和主机之间的特定关系。只有配置为访问该 LUN 的主机才能够看到它。 | ||||||
| 问: | 什么是硬件分区以及软件分区? | ||||||
| 答: | 分区可以在控制器上的硬件/固件中或主机的软件上实现。Microsoft 建议使用基本(或硬件)分区,因为使用这种分区可以实现不会受到节点破坏或软件组件故障的干扰或影响的统一的访问策略。 | ||||||
| 问: | 为什么在 SAN 中孤立服务器群集需要使用分区? | ||||||
| 答: | 群集使用多种机制来保护对磁盘的访问,这种访问可能会对位于相同分区中的其他群集产生不利影响。通过使用分区来分离群集流量与其他群集或非群集流量,就不会有这种冲突。 图表显示了两个群集共享一个存储控制器。每个群集都位于自己的分区中。存储控制器代表的 LUN 必须使用存储控制器提供的微粒安全性分配给单个群集。必须对 LUN 进行设置,以使特定群集的每个 LUN 都可以通过该群集的所有节点看到和访问到。一个 LUN 一次仅应对一个群集可见。群集软件本身会确保尽管 LUN 对所有群集节点都可见,但在任何时候群集中只有一个节点可以访问和装载磁盘。 当多个群集以这种方式连接到一个存储控制器时,用于确保存储配置符合多群集 HCL 列表的多群集设备测试会测试孤立担保。 | ||||||
| 问: | 可以通过 SAN 启动群集服务器吗? | ||||||
| 答: | 可以,但是关于如何通过存储区域网络来启动 Windows 有一组配置限制。KB 文章305547. 服务器群集要求引导磁盘、页面文件磁盘和系统磁盘位于连接到群集服务器磁盘的不同存储总线上。若要通过 SAN 启动,您必须分别为引导磁盘、系统磁盘和页面文件磁盘(而不是群集磁盘)配备 HBA。您必须通过将群集磁盘分区到它们自己的区域中,从而确保将群集磁盘与引导磁盘、系统磁盘和页面文件磁盘分隔开来。 | ||||||
| 问: | 可以使用多个指向 SAN 存储的路径获得高可用性吗? | ||||||
| 答: | Microsoft 不提供可利用指向存储基础结构的多个路径来获得高可用性的通用驱动程序;但是有一些供应商已构建了自己的驱动程序,这些驱动程序允许利用多个 HBA 和 SAN 结构作为高可用性存储基础结构。如果您希望具有多路径驱动程序的服务器群集能够受到支持,多路径驱动程序必须作为完整群集解决方案的一部分出现在“群集硬件兼容性列表”(HCL) 中。注意:驱动程序的版本非常重要,它必须匹配 HCL 上的合格版本。 | ||||||
| 问: | 引导磁盘、页面文件磁盘和群集磁盘可以位于同一 SAN 结构上吗? | ||||||
| 答: | 不能,在 Windows Server 2003 中,有一个注册表开关可以允许引导磁盘、页面文件磁盘和群集磁盘可以位于相同总线上。可以通过设置以下注册表键启用此功能: HKLM\SYSTEM\CurrentControlSet\Services\ClusSvc\Parameters\ManageDisksOnSystemBuses 0x01 通过注册表键启用此功能可以防止不了解此配置意义的客户意外启用此功能。其目的是为了让 OEM 提供合格和经过测试的配置,而不是让终端用户或管理员以特定的方式进行设置。 | ||||||
| 问: | 可以对群集磁盘进行无服务器备份吗? | ||||||
| 答: | 不能,群集磁盘仲裁机制使用 SCSI 保留和版本操作。一旦服务器裁定某个群集磁盘,存储网络上的任何其他服务器就不能访问该磁盘。 | ||||||
| 问: | 什么是网络附加存储 (NAS)? |
| 答: | 网络附加存储 (NAS) 是一种将存储连接到使用标准网络组件(例如 Ethernet 或其他 LAN 技术)组建的服务器的替代方法。应用程序服务器通过文件系统功能(例如打开文件、读取文件、写入文件、关闭文件,等等)来访问存储。这些高级功能被封装在一些协议中(例如 CIFS、NFS 或 AppleShare),并运行在标准的基于 IP 的连接上。 |
| 问: | 服务器群集可以将 NAS 用作共享存储吗? |
| 答: | 可以,由于应用程序可以在文件共享上存储数据,并且在群集中进行故障转移时,应用程序可以访问文件共享,因此 NAS 可以用作群集中的存储解决方案。 目前 Windows 还不支持将 NAS 用作仲裁资源。 在 Windows Server 2003 中,我们提供了一种新的仲裁资源“多数节点集”,从而取消了将共享磁盘作为仲裁资源的需要。如果结合使用 NAS 存储和“多数节点集”仲裁,您就可以构建一个不要求使用传统意义的 SCSI 或 SAN 共享磁盘的故障转移群集。 |
| 问: | 我可以具有一个主动/主动文件服务器吗? | ||||||
| 答: | “Windows 2000 资源工具包”中含有一个工具 ClusTool,这个工具可以用于将一个节点中的文件共享设置迁移到群集环境中。 | ||||||
| 问: | 可以使用 FRS 来复制群集的文件共享吗? | ||||||
| 答: | 不能,Windows 提供的文件复制服务 (FRS) 不能用于复制群集的文件共享。这意味着群集的文件共享不能作为 DFS 树中的冗余链接的源或目标。有关详细信息,请参见 DFS 的联机文档。 | ||||||
| 问: | 群集中支持什么文件系统类型? | ||||||
| 答: | 群集磁盘上的所有分区都应格式化为 NTFS。 | ||||||
| 问: | 客户端缓存(脱机文件夹)可以在服务器群集中工作吗? | ||||||
| 答: | 可以,在 Windows Server 2003 中,您可以为群集文件共享选择客户端缓存(也称为脱机文件夹)。 | ||||||
| 问: | 群集磁盘支持“加密文件系统”(EFS) 吗? | ||||||
| 答: | 使用 Windows Server 2003 时,群集文件共享上支持加密文件系统 (EFS)。若要在群集文件共享上启用 EFS,您必须执行一些任务以便正确配置环境:
在创建群集文件共享并执行上述配置步骤之后,就可以使用加密文件来存储用户数据以获取增加的安全性了。 | ||||||
| 问: | 一个群集上可以承载多少文件共享? | ||||||
| 答: | 群集中文件共享的数量取决于群集中节点的数量以及您试图在哪些故障情况下提供保护。一台服务器可以支持的文件共享的数量会有一定限度,因此在规划群集时您需要考虑到这点。 在一个 2 节点群集中,如果一个节点出现故障,那么剩下的节点就必须承担起所有的文件共享。因此,为了确保高可用性,群集应当承载一个节点可以承载的最大数量的共享。 注意:2 节点服务器群集强调的是高可用性而不是可扩散性,因此您不应认为 2 节点群集会比一个节点承载更多的共享。 在 4 节点群集中,根据您希望防止的故障类型,您可以有其他更为合适的选择。例如,如果您希望在任何时候一个节点出现故障时群集都可以存活,那么您可以对共享进行配置,使得在一个节点出现故障的时候,它的工作可以分配给其余的三个节点。这意味着每个节点可以加载到最大共享数量的 66%,这样在出现一个故障的时候就不会超出单个节点的最大限制。在这种情况下,群集可以承载三倍于单台服务器可以承载的共享数量。如果您希望在两个节点出现故障时群集仍可以存活,那么一个 4 节点群集可以承载的共享数量就是单个节点最大限制的两倍(因为如果两个节点出现故障,其余的两个节点就需要承担这两个故障节点的负载)。 一般说来,随着群集中节点数量的增加,您就具有越多的选择,也越可以使用服务器群集来扩散高可用性基础结构。 | ||||||
| 问: | 群集磁盘的最大容量是多少? | ||||||
| 答: | 服务器群集对于所支持的卷大小没有任何限制。 | ||||||
| 问: | 服务器群集可以支持多少个磁盘? | ||||||
| 答: | 在 Windows 2000 中,必须为每个群集磁盘分配驱动器号,因此一个群集中最多可以有 23 个卷(26 个字母中扣除 A 和 B [软盘驱动器] 和 C [系统/启动驱动器])。 在 Windows Server 2003 中,不再要求为群集磁盘分配驱动器号,因此磁盘的数量由可以物理连接的磁盘数量以及基础操作系统支持的磁盘数量限制。 注意:应用程序可以采用以下两种方式之一访问没有驱动器号的磁盘 a) 直接使用与磁盘关联或可能与磁盘关联的对象名称 b) 通过使用装入点将多个磁盘链接在一起,这样就可以使用一个驱动器号来访问这些磁盘。 | ||||||
| 问: | 群集如何支持比驱动器号更多的磁盘? | ||||||
| 答: | 使用文件系统装入点。有关对群集磁盘使用装入点的更多信息,请参见 Windows Server 2003 联机帮助。 | ||||||
| 问: | 为什么我能够浏览不同的虚拟驱动器拥有的共享? | ||||||
| 答: | 文件共享并不包括在承载它们的虚拟服务器名称内。如果您使用浏览工具(例如 NET VIEW 命令),您将会看到当前该物理节点上承载的所有共享。 | ||||||
| 问: | 如何在群集中连接一台打印机? |
| 答: | 可以使用 Print Spooler 群集资源在群集中连接打印机。Windows 2000 和 Windows Server 2003 联机帮助都提供了用以创建高可用性打印服务器的特定示例和步骤。 |
| 问: | 我可以具有一个主动/主动打印服务器吗? |
| 答: | 可以,您可以在一个服务器群集中承载多个后台打印程序。后台打印程序可以独立进行故障转移,并且可以并发运行在群集中的多个节点上。 |
| 问: | 如何将打印机设置从服务器上迁移到群集中? |
| 答: | Microsoft 提供了 ResKit,其中含有一个工具 (Print Migrator),这个工具可以用于将打印机设置从一个节点迁移到另一个节点,或是从一个节点迁移到一个服务器群集中。 |
| 问: | 一个群集中可以承载多少个打印机资源? |
| 答: | 打印机数量受群集可以支持的资源数量的限制,但是随着打印机数量的增加,故障转移的时间也会增加。 |
| 问: | 服务器群集还依赖什么服务? | ||||||||
| 答: | 群集服务本身依赖于可以对群集节点之间的通信流量进行验证和签字接受。它使用域基础结构来验证对于群集服务帐户的使用。在安装了服务器群集的环境中,您必须确保域基础结构的高可用性;对于基础结构的任何中断都会造成群集不可用。 | ||||||||
| 问: | 我还需要考虑什么服务? | ||||||||
| 答: | 为了使群集环境中的应用程序保持高可用性,应用程序要求的群集之外的任何服务也必须具有高可用性。很多这样的服务具有一些机制(例如复制或支持群集),以便在出现故障的情况下提供保护。例如,您应当考虑的一些服务包括:WINS、DNS、DHCP、域基础结构、防火墙,等等。 | ||||||||
| 问: | 我还应当防止其他什么单一故障点? | ||||||||
| 答: | 服务器群集是一种在硬件、OS 和应用程序出现故障时保护应用程序的机制。有一些类型的硬件故障您应当考虑:
| ||||||||
| 问: | 可以对群集中承载的服务使用 Kerberos 验证吗? | ||||||||||||||||||
| 答: | 可以,在 Windows 2000 SP3 和更高版本以及 Windows Server 2003 中,群集服务在 Active Directory 发布了一个计算机对象。这为基础结构提供了足够的状态,从而可以对虚拟服务器中承载的应用程序和服务使用 Kerberos 验证。 有关 Kerberos 及其工作原理的更多信息,请访问 TechNet web 站点:http://www.microsoft.com/technet/prodtechnol/windows2000serv/deploy/confeat/kerberos.mspx | ||||||||||||||||||
| 问: | 群集服务器也可以是域控制器吗? | ||||||||||||||||||
| 答: | 是的,但是在使用这个方法之前,您应当知道一些注意事项。我们建议您不要将服务器群集用作域控制器,并将域控制器与服务器群集公共放置在相同子网中。 如果您必须将群集节点用作域控制器,请考虑以下几点:
| ||||||||||||||||||
| 问: | 虚拟服务器是在 Active Directory 中发布的吗? | ||||||||||||||||||
| 答: | 是的,在 Windows 2000 SP3 和更高版本以及 Windows Server 2003 中,每个虚拟服务器都可以选择在 Active Directory 中发布。 尽管网络名称服务器群集资源在 Active Directory 中发布了计算机对象,但您不应将该计算机对象用于管理任务(例如应用组策略)。Windows 2000 和 Windows Server 2003 中的虚拟服务器计算机对象的唯一作用是允许进行 Kerberos 验证和委派,以及允许支持群集和 Active Directory 的服务(例如 MSMQ)发布服务提供程序信息。 | ||||||||||||||||||
| 问: | 群集配置是存储在 Active Directory 中吗? | ||||||||||||||||||
| 答: | 不是,除了在 Active directory 中发布的虚拟服务器的计算机对象外,此时还没有任何群集信息。 | ||||||||||||||||||
| 问: | 服务器群集可以使得域控制器具有高可用性吗? | ||||||||||||||||||
| 答: | 不能,域控制器利用在一组服务器中进行复制来获得高可用性。 | ||||||||||||||||||
| 问: | 如何配置 DNS 服务器才能与服务器群集协同工作? | ||||||||||||||||||
| 答: | 群集服务帐户需要能够发布记录。在一个安全的、支持 DNS 的区域中,DNS 管理员可以选择限制用户的访问权限。必须授予群集服务帐户创建记录的权限,或者,也可以预先创建记录。如果记录是预先创建的,您就不应将区域设置为动态更新。 | ||||||||||||||||||
| 问: | 如何更新群集服务帐户密码? | ||||||||
| 答: | 群集中所有节点上的群集服务帐户必须匹配,以确保可以成功验证群集内部通信。在一些情况下,群集服务本身会在群集节点之间发送消息,如果这种通信失败,那么这个群集节点就将被从群集中删除(比如说群集服务被停止)。由于无法确定群集服务什么时候会建立通信,因此没有一个明确的窗口可以允许在确保群集服务保持运行的同时,以可靠的方式更改群集服务帐户。 Windows 2000 在 Windows 2000 中,只有使用以下步骤才能可靠地更改群集帐户密码:
Windows Server 2003 Windows Server 2003 中的 cluster.exe 命令可以动态更改群集帐户密码,而不用关闭任何节点上的群集服务。cluster.exe 命令可以更改域帐户密码和更新群集中所有节点上的服务控制管理程序帐户信息。 Cluster /cluster:cluster_name1[,cluster_name2,] /changepassword[:new_password[,old_password]] [/skipdc] [/force] [/options] 有关更多信息,请参见 Windows Server 2003 的联机帮助。 | ||||||||
| 问: | 对于服务器群集还需要考虑什么安全注意事项和最佳操作? | ||||||||
| 答: | 对于安全最佳操作,请参见 Windows Server 2003 的联机帮助。 | ||||||||
| 问: | Windows 版本中提供了什么高可用性 OS 服务? | ||||||||||||||||||
| 答: | 服务器群集默认继承 Windows 操作系统中的高可用性服务:
*在 Windows Server 2003 中,通过使用一般脚本资源和所提供的脚本使得 IIS 支持群集。没有特定的 IIS 资源类型。 | ||||||||||||||||||
| 问: | 服务器群集中支持 MSMQ 触发器吗? | ||||||||||||||||||
| 答: | 支持,在 Windows Server 2003 中,可以利用服务器群集使 MSMQ 触发器服务具有高可用性。 | ||||||||||||||||||
| 问: | IIS 支持群集吗? | ||||||||||||||||||
| 答: | 支持,在 Windows 2000 中,可以利用 IIS Server Instance 资源类型使 IIS web 站点和 FTP 服务具有高可用性。在 Windows Server 2003 中,IIS Server Instance 资源类型被 Windows Server 2003 版本中提供的一组一般脚本所替代(有关将 IIS web 服务器和 FTP 服务器从 Windows 2000 转换为 Windows Server 2003 的更多信息,请参见联机帮助)。 尽管利用服务器群集可使 IIS web 服务器具有高可用性(通过故障转移),但是 Microsoft 建议您使用一个负载平衡群集【例如由“网络负载平衡”(NLB) 提供的群集】,这是 Windows 操作系统提供的另外一种群集机制,它使 IIS 具有高可用性,并且可以用于扩散 web 服务或 web 场。 取决于访问特征,您可以选择使用服务器群集或使用“网络负载平衡”群集来提供高可用性 FTP 服务器。服务器群集非常适合于具有高更新率的 FTP 站点或需要具有一个 FTP 内容副本的环境。“网络负载平衡”主要适合于只读的 FTP 服务器。 | ||||||||||||||||||
| 问: | IIS 元数据库如何在整个群集中保持一致? | ||||||||||||||||||
| 答: | Windows 操作系统随带了一个工具 (IISSync),使用此工具可以在整个群集的所有节点中使 IIS 元数据库保持同步。有关更多详细信息,请参见联机帮助。 | ||||||||||||||||||
| 问: | 服务器群集可以分布在多个站点中吗? | ||||||||||
| 答: | 可以,服务器群集支持一个群集分布在多个站点中。这种群集被称为地理位置分散的群集。所有合格的地理位置分散群集的解决方案都会在位于以下网址的 Microsoft 硬件兼容性列表 (HCL) 中列出:http://www.microsoft.com/whdc/hcl/default.mspx. Microsoft 仅支持 HCL 上列出的群集解决方案。 | ||||||||||
| 问: | 地理位置分散的群集是如何定义的? | ||||||||||
| 答: | 地理位置分散的群集是具有如下属性的服务器群集:
以下图表显示了一个示例的两个站点群集配置。 | ||||||||||
| 问: | 地理位置分散的群集可以提供灾难容错或灾难恢复吗? | ||||||||||
| 答: | 多站点服务器群集配置的目标是为了确保解决方案中一个站点失败不会导致整个应用程序失败,从而确保可以实现业务的一致性和灾难恢复。各站点之间通常距离几百米远,因此它们具有完全不同的电源、不同的基础结构提供商,并且它们的放置位置也可以在最大限度上保证自然灾难(例如地震)不会影响到多个站点。 地理位置分散的群集不提供灾难容错,因为在一些情况下,要重新启动应用程序需要进行人工干预。 | ||||||||||
| 问: | 地理位置分散的群集可以在站点之间使用异步复制吗? | ||||||||||
| 答: | 可以,但是有一些注意事项:
| ||||||||||
| 问: | Microsoft 是否提供完整的端到端地理位置分散的群集解决方案? | ||||||||||
| 答: | 不提供,Microsoft 不提供用于在地理位置分散的群集中从一个站点将应用程序复制到另一个站点的软件机制。Microsoft 与硬件和软件供应商合作提供完整的解决方案。所有合格的地理位置分散群集的解决方案都会在位于以下网址的 Microsoft 硬件兼容性列表 (HCL) 中列出:http://www.microsoft.com/whdc/hcl/default.mspx. Microsoft 仅支持 HCL 上列出的群集解决方案。 | ||||||||||
| 问: | 若要服务器群集能够支持多个站点,对服务器群集还有什么要求? | ||||||||||
| 答: | Microsoft 服务器群集本身不支持地理位置分散的群集的扩展属性。Windows 2000 或 Windows Server 2003 的服务器群集中不提供专用于这种类型配置的特定功能。用于构建地理位置分散的群集的网络和存储体系结构必须保持服务器群集技术期望的语义。从根本上说来,地理位置分散的群集的网络和存储体系结构必须满足以下要求:
在 Windows Server 2003 中,您可以对多站点群集使用镜像/复制的仲裁磁盘或新的资源多数节点集。 | ||||||||||
| 问: | 对于应用程序还有什么要求? | ||||||||||
| 答: | 对于服务器群集本身,应用程序并不支持地理位置分散的群集的扩展属性。我们没有为应用程序提供任何一种可使它们支持不同站点的拓扑或配置信息。 通常,要使应用程序在地理位置分散的群集上按照预期方式运行无需进行任何更改。但是,您应当咨询应用程序供应商。在一些情况下,由于群集间的距离扩大以及需要在站点间提供镜像或数据复制的原因,可能会要求不同的故障超时时间。 | ||||||||||
| 问: | 仲裁有什么用途? | ||||||
| 答: | 服务器群集要求提供仲裁资源才能工作。与任何其他资源一样,仲裁资源是一种资源,在一个时间点上只能有一台服务器拥有这种资源,对于这种资源,服务器可以协商来取得它的所有权。仲裁资源的协商使得服务器群集避免了出现“裂脑”(split-brain) 的情况,在这种情况下,有多台服务器处于活动状态,这些服务器认为其他服务器处于关闭状态。比如说,在群集互连丢失并且网络响应时间成为问题时,就有可能出现这种情况。仲裁资源用于存储群集配置的最后副本,这样无论故障出现的顺序如何,群集配置总是能够保持连贯。 | ||||||
| 问: | 对于仲裁资源,我可以有什么选择? | ||||||
| 答: | 在 Windows 2000 中,有两种可以作为仲裁的资源:
在 Windows Server 2003 中,我们引入了另一种仲裁资源类型 多数节点集 从服务器群集角度看来,多数节点集是单仲裁资源;但是,实际上所有仲裁数据是存储在群集中的多个磁盘上。多数节点集关心的是确保存储在多数节点集上的群集配置数据在各个磁盘间保持一致。 有关详细信息,请参见什么是多数节点集? | ||||||
| 问: | 其他应用程序可以共享仲裁磁盘吗? | ||||||
| 答: | Microsoft 建议您不要将仲裁磁盘用于群集中的其他应用程序,建议仲裁磁盘仅由群集服务本身使用。如果您将仲裁磁盘用于其他应用程序,那么您应当知道:
| ||||||
| 问: | NAS 设备可以用作共享仲裁磁盘吗? | ||||||
| 答: | 不能,但是群集服务支持位于共享群集总线上或 Windows Server 2003 多数节点集仲裁资源中的物理磁盘。 | ||||||
| 问: | 什么是多数节点集? | ||||||
| 答: | 从服务器群集角度看来,多数节点集是单仲裁资源;但是,实际上所有仲裁数据是存储在群集中的多个磁盘上。多数节点集关心的是确保存储在多数节点集上的群集配置数据在各个磁盘间保持一致。这使得群集可以具有以下拓扑:
原则上说来,组成多数节点集的磁盘可以是物理上连接到节点本身的本地磁盘,也可以是共享存储结构上的磁盘。在 Windows Server 2003 的服务器群集中提供的多数节点集中,群集中的每个节点都使用它自己本地系统磁盘上的一个目录来存储仲裁数据。如果群集配置更改,则这种更改会反映到各个磁盘上。仅当针对以下各项进行更改时,这种更改才被视为已经提交(也就是永久更改): (<群集中配置的节点数量>/2) + 1 这确保了大多数节点集具有最新的数据副本。仅当群集中的大多数节点已经启动并且正在运行群集服务时,群集服务本身才会启动,并使资源恢复联机。如果启动的节点太少,系统就会认为群集不具有仲裁,因此群集服务就会处于等待(尝试重新启动)状态,直到更多节点加入。仅当大多数节点或仲裁节点可用时,群集服务才会启动,并使资源恢复联机。使用这种方法时,由于最新的配置已经被写入到大多数节点中,因此无论节点是否失败,群集总是能够保证可以使用最新配置启动节点。 | ||||||
| 问: | 什么是支持群集的应用程序? | ||||||||||||||||||||||
| 答: | 支持群集的应用程序是一种应用程序,它可以调用群集 API 来确定它所运行的上下文(例如虚拟服务器名称,等等),并且可以在节点之间进行故障转移,从而获得高可用性。 不是为用于群集而编写的应用程序可以具有高可用性吗? 可以,服务器群集提供了一个插件环境,利用这个环境,资源 dll 可以提供必要的控制和运行状况监视功能,从而使得现有应用程序具有高可用性。 服务器群集提供了一组通常的资源类型,这些资源可以在群集中故障转移现有应用程序。在 Windows 2000 中,有两种通用的资源类型:
这些一般服务提供了非常基本的运行状况监视(例如,已启动的过程是否仍是系统中的有效过程)。它不会检查应用程序是否正在服务于请求,因为这要求针对应用程序的专门知识。通用资源可以相对较快地进行应用程序故障转移;但是为了提供更为适当的运行状况检查,Microsoft 建议您构建一个专门针对应用程序的资源 dll。 在 Windows Server 2003 中,我们提供了其他资源类型(一般脚本),使用这种资源类型,就可以在脚本方式下实现启动/停止和运行状况监视功能,而不用使用 C 或 C++。这使得构建专门针对应用程序的资源插件的工作更具有可管理性,且更为容易。 | ||||||||||||||||||||||
| 问: | 如何构建支持群集的应用程序? | ||||||||||||||||||||||
| 答: | 服务器群集提供了一个丰富的 API 集,这些 API 使得应用程序可以识别和利用群集环境。在“平台 SDK”中有这些 API 的详细说明。 | ||||||||||||||||||||||
| 问: | 我是否应当使用“一般服务”或“一般应用程序”来使我的应用程序具有高可用性? | ||||||||||||||||||||||
| 答: | 一般服务提供了非常基本的运行状况监视(例如,已启动的过程是否仍是系统中的有效过程)。它不会检查应用程序是否正在服务于请求,因为这要求针对应用程序的专门知识。通用资源可以相对较快地进行应用程序故障转移;但是为了提供更为适当的运行状况检查,Microsoft 建议您构建一个专门针对应用程序的资源 dll。 | ||||||||||||||||||||||
| 问: | Microsoft 是否验证或标记与服务器群集协同工作的软件产品? | ||||||||||||||||||||||
| 答: | 是的,服务器群集是 Windows Advanced Server 徽标程序的一种可选组件。应用程序可以被标记为在服务器群集上运行。 | ||||||||||||||||||||||
| 问: | 哪些 Microsoft 应用程序支持群集? | ||||||||||||||||||||||
| 答: | 下列随 Windows 操作系统提供的服务支持群集:
下列 Microsoft 产品支持群集:
| ||||||||||||||||||||||
| 问: | Exchange 2000 支持主动/主动群集吗? | ||||||||||||||||||||||
| 答: | 是的,但是在主动/主动配置中支持 Exchange 2000 有一些注意事项。 | ||||||||||||||||||||||
| 问: | SQL Server 支持主动/主动群集吗? | ||||||||||||||||||||||
| 答: | 是的,SQL Server 允许:
| ||||||||||||||||||||||
| 问: | 哪里可以找到有关编写支持群集的应用程序的信息? | ||||||||||||||||||||||
| 答: | 在“平台 SDK”中有群集概念和 API 的详细说明。此外,“平台 SDK”中还有一些可用于阐述服务器群集集成的示例。 | ||||||||||||||||||||||
| 问: | 服务器群集中支持 Services for Macintosh (SFM) 吗? | ||||||||||||||||||||||
| 答: | 不支持,服务器群集中不支持 Services for Macintosh (SFM)。 | ||||||||||||||||||||||
| 问: | 服务器群集中支持 Services for Unix (SFU) 吗? | ||||||||||||||||||||||
| 答: | 支持,Services for Unix 在 SFU 3.0 中支持高可用性 NFS 共享。 | ||||||||||||||||||||||
| 问: | 服务器群集和“网络负载平衡”可以用于相同服务器组吗? | ||||||||||
| 答: | 不能,Microsoft Server 群集 (MSCS) 和“网络负载平衡”(NLB) 不能用于相同节点组。服务器群集和“网络负载平衡”群集都要控制和配置网络适配器。由于它们不能够相互支持,因此配置其中一个会影响另外一个。 | ||||||||||
| 问: | 可以对服务器群集使用防病毒软件吗? | ||||||||||
| 答: | 可以,您应当确保供应商已针对服务器群集环境测试了他们的解决方案。防病毒软件通常作为磁盘驱动程序被放置在存储堆栈层。如果驱动程序不支持所需的功能,这可能会对群集故障转移磁盘的能力有所影响。 | ||||||||||
| 问: | Microsoft 提供 Distributed Lock Manager (DLM) 吗? | ||||||||||
| 答: | 目前不提供,Microsoft 尚无发布 Distributed Lock Manager 的计划,但如果大量客户要求提供 DLM 服务的话,情况也许会变化。 注意:请不要将 Distributed Lock Manager 与群集文件系统相互混淆。群集文件系统可以使用多种方式构建,使用 Lock Manager 只是其中一种方式。但是,仅仅提供 Lock Manager 并不能解决群集文件系统的问题。 | ||||||||||
| 问: | Microsoft 会提供共享磁盘群集文件系统吗? | ||||||||||
| 答: | Microsoft 一直在努力寻找改进它在 Windows 操作系统中所提供服务的方式。共享磁盘群集文件系统是可提供某些群集属性的一种方式:
| ||||||||||
| 问: | 服务器群集和容错服务器如何联系? | ||||||||||
| 答: | 服务器群集解决了一些可用性问题:
容错服务器提供了一个非常可靠的服务器平台,它通过提供硬件级别的冗余解决了硬件故障问题。在一些情况下,容错服务器可以用于解决站点故障。 但是,仅使用容错服务器并不能解决 OS 和应用程序监视问题以及故障恢复问题,也不能实现在不关闭服务的情况下升级 OS 或应用程序。 总之,服务器群集可以提供高可用性,而容错服务器则提供高可靠性。通过结合使用可提供高可靠性的容错服务器和服务器群集,您可以充分利用二者的优点;一组可靠的服务器,这组服务器可以在 OS 和应用程序故障和升级时提供高可用性。 | ||||||||||
| 问: | 如何找到服务器群集 KB 文章? | ||||||||||
| 答: | 所有群集 KB 文章都可以通过以下网站找到:http://support.microsoft.com/
使用关键字,您可以方便地选择相关的服务器群集文章。 | ||||||||||
1 高负载应用程序是指消耗大量系统资源(例如 CPU、内存或 IO 带宽)的应用程序。