Chuck Timon
概览:
“故障转移群集管理”管理单元
新功能和增强功能
备份和还原功能
从 Windows Server 2003 进行迁移
目录
新的管理界面
改进了配置过程
嵌入了验证过程
新的仲裁模型
增强了安全功能
扩展了网络功能
增强了与存储交互时的可靠性
内置恢复过程
新的备份和还原功能
从 Windows Server 2003 服务器群集进行迁移
自从在 Windows NT 4.0 Enterprise Edition 中首次引入群集以来,用户就一直在抱怨它太难于设置,维护则更是难上加难。管理群集要求管理员不仅要了解群集本身,还需要精通存储技术以及群集服务与各种存储解决方案交互的方式。许多组织都难以获取用于启动和运行高可用性解决方案以及之后对其进行维护所需的所有技能。
多年来群集一直在不断改进,但直到 Microsoft 开始研究 Windows Server® 2008 时,仍有许多地方有待改进。明确这一点后,团队以简单为主要目标开始着手重新设计群集。在 Windows Server 2008 中,Microsoft® 群集服务 (MSCS) 得到了完全的改观,并且现在改称为“故障转移群集”。
这并不是说简单是新的“故障转移群集”带来的唯一改进。这些年来,由于许多组织都提供了有关他们希望在群集解决方案中看到哪些功能的有价值反馈,因此 Microsoft 积累了大量经验教训。新的“故障转移群集”功能可解决用户报告的许多首要问题,并且还加入了一些使其更具吸引力的激动人心的新功能。因此在本文中,我将向您介绍 Windows Server 2008 故障转移群集中包含的一些非常酷的新功能。
新的管理界面
安装“故障转移群集”之后,可在“管理工具”中或通过运行 Cluadmin.msc 访问“故障转移群集管理”界面。“故障转移群集管理”管理单元(类似于 Windows Server 2008 中的其他管理界面)是一个 Microsoft 管理控制台 (MMC) 3.0。对于群集老手来说,首次打开“故障转移群集管理”管理单元的感觉就像来到国外却没有带地图一样。
新界面分为三个不同的窗格,如图 1 所示。左侧窗格列出了组织中的所有 Windows Server 2008 故障转移群集。中间的窗格提供了有关在左侧窗格中选择的群集配置部分的详细信息,而右侧窗格显示可执行的操作。
图 1“故障转移群集管理”管理单元(单击此图像可查看大图)
例如,在左侧窗格中选择 Storage。中间的窗格将随后显示群集中提供了哪些存储以及哪些存储(如果有)当前可用的详细信息。如图 1 所示,该群集包含支持见证磁盘的一块存储区、已为 File Server 置备的存储以及一些可用存储。右侧窗格列出了相关的操作,如添加更多存储。请注意,“故障转移群集管理”管理单元不能用于管理之前版本的“Microsoft 群集服务”。
改进了配置过程
配置“故障转移群集”变得非常简单。许多配置、重新配置和维护群集的操作都有向导。有了这些向导的帮助,管理员不必再担心资源是否已配置正确或者它们是否会以正确的顺序联机。
图 2 显示了“高可用性向导”。在该特定示例中配置了一个 File Server。左侧显示了向导已指引管理员完成的步骤列表。此过程一旦完成,就会显示摘要页面并可查看报告。
图 2 高可用性向导(单击此图像可查看大图)
嵌入了验证过程
在之前版本的 Windows Server 中,要成为受支持的群集解决方案,必须在“Windows Server 目录”中将硬件配置列为“群集解决方案”。它包括在“地理位置分散型”类别下单独列出的多站点群集。要列在该目录中,硬件供应商必须运行一组 Windows 硬件质量实验室 (WHQL) 测试并将结果提交给 Microsoft。这对于供应商来说成本很高,并且难以维护“Windows Server 目录”数据库。
在 Windows Server 2008 中,“故障转移群集”包含一个内置的验证过程。该过程由分为四个大类别的一系列测试组成,如图 3 所示。
图 3 故障转移群集验证测试类别(单击此图像可查看大图)
您可以看到 Network 类别已展开以显示运行的测试;每个类别都包含一系列测试。Storage 类别也许是四个类别中最关键的一个类别,它包括用于确保存储解决方案符合 Windows Server 2008 故障转移群集提出的新要求的测试。
具体地说,硬件供应商现在必须使用基于 Microsoft Storport 驱动程序的驱动程序,并且它们必须支持 SCSI-3 持久保留。此外,在使用多路径软件“设备专用模块”时,必须遵循“Microsoft 多路径输入\输出”标准。
由于并入了验证过程,支持模型发生了更改。所有硬件必须具备 Windows Server 2008 徽标,并且必须通过所有的验证测试。唯一例外的是包含两个单独且完全不同的储存柜(每个站点一个)的多站点群集,以及并未使用任何共享存储的 Exchange Server 2007 群集连续复制实现。
新的仲裁模型
Windows Server 2008 故障转移群集中的仲裁模型也发生了更改。在较老的系统中,当管理员听到“仲裁”这个词时,他可能想到的是包含群集配置和一些复制文件的某个共享磁盘。它是群集中的一个单点故障。如果仲裁磁盘出现故障,群集服务将终止并失去高可用性。
Windows Server 2003 服务器群集提供了另一种仲裁类型,即“多数节点集”仲裁。此类仲裁类型通常是在多站点群集中实现,并且不需要共享存储。“多数节点集”仲裁由驻留在每个群集节点上的系统驱动器上的文件共享组成。通过服务器消息块 (SMB) 连接来连接到该仲裁类型。同样,为使群集能正常运行,必须有大多数节点的参与。
引入 Exchange Server 2007 群集连续复制 (CCR) 之后,文件共享见证 (FSW) 功能也添加到了 Windows Server 2003 服务器群集中。它允许单个 Exchange 2007 CCR 群集节点(或任意多站点群集)继续提供服务,只要能够实现到大多数 FSW 的连接即可。
在 Windows Server 2008 故障转移群集中,仲裁的概念现在才真正意味着达成共识。现在实现仲裁(或达成共识)的方式是拥有足够的投票才能开始使用群集。可通过多种方法获取足够的投票,具体取决于仲裁配置。在 Windows Server 2008 故障转移群集中共有四种仲裁模式,如图 4 所示。在列出的四种模式中,只有前两种(“多数节点”和“节点和磁盘多数”)可在创建群集过程中自动选择。应使用以下逻辑:
如果在群集中配置的节点数目为奇数,则选择“多数节点”模式。
如果在群集中配置的节点数目为偶数且共享存储已连接并可访问,则选择“节点和磁盘多数”。
图 4 配置群集仲裁向导中的仲裁模式(单击此图像可查看大图)
要从可用存储选择一个见证磁盘,可选择大小至少 500 MB 且配置了 NTFS 分区的首个磁盘。其余仲裁模式仅可通过运行“配置群集仲裁向导”来手动选择。“节点和文件共享多数”选项通常用在多站点群集配置或 Exchange 2007 CCR 群集中。最后一个选项“非多数:仅磁盘”模式等同于传统群集中的共享仲裁模式。它是一个单点故障,通常不应使用此选项。
在群集中仅有两种见证资源(物理磁盘和文件共享)经过配置后能帮助达成共识。
见证磁盘是群集服务可将其联机的一块存储区。该磁盘与群集“网络名称”及相关 IP 地址资源一同位于“群集核心资源组”中。配置了见证磁盘后,该磁盘上将出现一个 Cluster 文件夹并放置一个完整的群集配置副本(群集配置单元或副本)。
FSW 是一个网络共享,在理想情况下位于不属于群集的网络服务器上。为 FSW 建立 SMB 连接,由 FSW 维护见证日志文件(它包含了群集配置的版本信息)的副本。
一个群集中仅可配置一种见证资源。在群集实现仲裁时需要该资源提供一张额外的投票。换句话说,如果群集仅差一张选票(即一个节点)即可达成共识,那见证资源将联机以便实现仲裁。如果群集还差多张选票才可实现仲裁,则见证资源不会联机,且群集将继续保持休眠状态并等候其他群集结点的加入。
增强了安全功能
故障转移群集包含多个新的安全增强功能。其中最重要的也许是不再需要群集服务帐户 (CSA)。在之前版本的 Microsoft 群集服务中,在配置过程中需要用到域用户帐户。该帐户的目的是用于启动群集服务,因此需将它添加到每个群集节点上的本地管理员组中,并且向其提供必要的本地用户权限以便群集服务能正常运行。作为域用户帐户,CSA 需要遵守许多可应用到群集节点的域级别策略。这些策略可能会导致群集服务失败,对高可用性产生负面影响。
现在,群集服务是以一个本地系统帐户的名义运行,该帐户对本地群集节点具备一组特定权限,能够正常运行。群集的安全上下文已转换成“群集名称对象”(CNO),该对象是首次创建群集时在 Active Directory® 的“计算机”容器中默认创建的计算机对象。一旦成功创建群集且 Active Directory 中存在 CNO,就不再需要用于安装和配置群集的用户帐户。
在 Active Directory 的“计算机”容器中创建的其他计算机对象与“故障转移群集”相关联。这些对象称为“虚拟计算机对象”(VCO),等同于在群集中作为客户端访问点 (CAP) 的一部分创建的群集“网络名称”资源。CNO 负责创建群集中的所有 VCO,它会被添加到 Active Directory 中对象的系统访问控制列表 (SACL) 中(请参阅图 5)。
图 5 Active Directory 中 VCO 的安全性(单击此图像可查看大图)
CNO 还负责同步它创建的所有 VCO 的域密码。将根据配置的密码轮换域策略完成此过程。此外,由于 CNO 负责创建与群集中的 VCO 相关联的所有计算机对象,因此 CNO(计算机帐户)必须具有域级别权限以便能够在创建 VCO 的容器(默认情况下为“计算机”容器)中创建计算机对象。
另一项更改是 Kerberos 现在已成为默认的身份验证方法。由于 Active Directory 中存在计算机帐户,因而使得此项增强的安全功能成为可能。但是,如果某个应用程序虽然无法使用 Kerberos 来执行身份验证却需要访问群集资源,则群集可以使用 NT LAN Manager (NTLM) 身份验证。
直接处理群集过程的群集节点间的通信也更加安全。所有群集内部的通信都会默认进行签名。可通过使用 cluster.exe 通用语言接口 (CLI) 来更改此群集属性,这样可加密节点之间的所有通信以提供更高级别的安全性。
扩展了网络功能
“故障转移群集”中的新网络功能使得高可用性和灾难恢复解决方案的设计更加灵活。同时,这些网络增强功能在群集中的节点间提供了更加可靠的连接。
在单个网络中找到群集节点可能是客户最迫切需要的功能。现在已实现这项功能。群集网络驱动程序已彻底重新编写,因此只要每个节点都连接至少两个分别路由的单独网络,它就可以在群集中的节点间提供高度可靠且容错的通信。
群集网络驱动程序根据群集启动过程中提供的连接信息构造自己的内部路由表。这包括本地连接信息以及在群集配置数据库(群集注册配置单元)中提供的信息。
群集验证过程的一项内容是网络连接发现过程。在不同路由网络中找到群集节点的功能减轻了多站点群集的网络需求。因而使得组织部署它们时更加轻松且成本更低。它还使在“故障转移群集”中使用 iSCSI 存储成为更具吸引力的存储解决方案。
群集节点还可通过 DHCP(动态主机配置协议)获取 IP 地址信息。如果网络管理员允许其环境中的服务器使用动态地址,则此功能可以减轻他们的负担。
群集节点网络接口的配置决定了哪些网络使用静态或动态 IP 地址。尽管群集中的 IP 地址资源是从 DHCP 服务器获得的,也可以在“故障转移群集管理”管理单元中将其更改为静态 IP 地址。
在过去,所有的群集通信都使用用户数据报协议 (UDP) 广播,或者有时使用多播。现在已停止使用多播功能,且群集通信转为使用 UDP 单播。(端口 3343 仍是 Microsoft 群集使用的公共端口。)许多网络管理员对于不再使用广播都感到非常高兴。但是,群集中真正的回报在于群集服务内部的新消息传递过程。(不过,该内容超出了本文的介绍范围。)即使将 UDP 用作传输机制,群集内部的通信现在也是更加可靠的 TCP 通信。
增强了与存储交互时的可靠性
“故障转移群集”与存储交互的方式发生了翻天覆地的变化。群集磁盘驱动程序 (clusdisk.sys) 已彻底重新编写,现在它才是真正的即插即用 (PnP) 驱动程序。而且它与存储交互的方式也已发生改变。
在 Windows Server 2003 中,群集磁盘驱动程序位于一个直接存储路径中。但在 Windows Server 2008 中,群集磁盘驱动程序需要与分区管理器 (partmgr.sys) 驱动程序进行通信才能与存储实现交互。图 6 中展示了这两种方法。
图 6 存储堆栈在 Windows Server 2008 中的变化(单击此图像可查看大图)
分区管理器主要负责保护群集磁盘资源。首次映射到群集节点时,共享存储总线上的所有磁盘都会自动处于脱机状态。因此,即使是在创建群集之前,也可将存储同时映射到群集中的所有节点。不再需要一次一个地引导节点,在一个节点上准备磁盘然后关闭节点,再引导另一节点,检验磁盘配置等等。
但仍然需要执行存储测试,该测试是群集验证过程的一个部分并且需要初始化磁盘。可在执行验证过程之前在群集的一个节点上完成该操作。一旦存储被添加到群集,磁盘将在“磁盘管理”界面中显示“保留”状态,并且会一直处于受保护状态。
另一项更改与 SCSI 命令有关。在 Windows Server 2003 中,SCSI-2 Reserve\Release 命令与写入磁盘自身扇区中的群集磁盘驱动程序搭配使用。在 Windows Server 2008 中,必需使用 SCSI-3 PR (Persistent Reservation) 命令。群集节点必须先注册然后才能保留存储,并且群集节点需定期使用“注册保护协议”来保护其保留。
验证过程中的其中一项存储测试将验证此功能。如果某个存储解决方案并不支持 SCSI-3 (PR) 命令,则“故障转移群集”也将不支持它。
在连接到存储时,许多组织使用多路径软件来实现冗余。这种方法不但受到支持,甚至还推荐做为最佳实践。但是,必须使用“Microsoft 多路径输入\输出”标准来重新编写第三方多路径软件解决方案(即设备专用模块),以便得到“故障转移群集”的支持。从而确保所有的 SCSI-3 PR 命令都同时沿所有路径发送到存储,无论路径是否处于活动状态。验证过程也会确认此功能。
其他存储改进包括有所改进的检查磁盘 (chkdsk.exe) 过程、之前“群集服务器恢复实用程序”中的内置磁盘修复功能以及自修复磁盘。在“故障转移群集”中,确定群集磁盘资源时将同时用到磁盘签名和 LUN ID。如果任意一项发生更改,群集配置都会更新。正是由于物理磁盘资源上的属性更改提供了更好的高可用性,因而减少了错误。
内置恢复过程
之前提到的磁盘修复显然是一项内置恢复功能。还有一个是 Active Directory 修复功能。如果删除了代表 CNO 的计算机对象,您将无法再创建与群集 CAP 相关联的计算机对象。但是,您会遇到的第一个问题可能是高度可用的应用程序或用户由于无法获得安全令牌而无法访问群集外部的资源。
从已删除的 CNO 恢复包括以下两个步骤。首先,必须让域管理员从 Active Directory 的 DeletedObjects 容器恢复已删除的计算机对象。然后,在还原并重新启用该对象之后,执行“故障转移群集管理”管理单元中的“修复 Active Directory 对象”过程。
在 Windows Server 2003 服务器群集中,位于 %systemroot%\cluster 子目录中的群集配置文件可能会损坏因而必须进行替换。在“故障转移群集”中,自修复功能可帮助解决这一问题。如果群集服务在某个节点上启动且配置数据库发生损坏,将使用 HKLM\System\CCS\Services\ClusSvc\Parameters 注册表项中包含的信息加载最小的配置模板。该节点将尝试加入一个已成形的群集,如果该尝试成功,该群集注册表配置单元的一个全新副本将被推送到该节点。如果节点无法加入群集,群集服务将终止。
新的备份和还原功能
“故障转移群集”自带了“卷影复制服务”编写器。它在备份和还原群集数据库以及物理磁盘资源上保存的数据过程中起着非常关键的作用。备份群集配置非常简单。只要系统状态为备份的一部分,就可以还原群集配置。但请注意,仅应备份具有仲裁的群集。从而确保备份的是最新的群集配置。
有两种完全不同的群集还原类型:权威还原和非权威还原。非权威还原使用 Windows Server Backup 或第三方备份应用程序来从选定的备份执行还原。而群集结点的权威还原仅可使用 Windows Server Backup CLI (wbadmin.exe) 执行还原。
权威还原实质上是将群集配置“带回”执行备份时的状态。要完成权威还原,必须停止除正在执行还原的节点以外的所有其他节点上的群集服务。当还原完成且在已还原节点上启动群集服务后,群集的还原配置将变成权威性的新群集配置。然后,在群集中的其他节点上重新启动群集服务时,还原配置将在加入过程中向外推送到这些节点。
在某些情况下,它可以节省大量的时间和资金。假设您有一个包含多个打印后台处理程序资源的打印群集且每个资源都支持 1,500 台打印机,而您无意间删除了其中一个打印后台处理程序资源。现在,大量用户无法正常打印。与其手动将这些打印机都重新添加回群集配置,更快的方法是执行群集配置的权威还原。当然,这需要您具备良好的备份和还原策略。
从 Windows Server 2003 服务器群集进行迁移
由于 Windows Server 2008 故障转移群集包含这些体系结构更改,因此并不支持从 Windows Server 2003 执行就地或周期性升级。从 Windows Server 2000 群集升级到 Windows Server 2003 时,许多组织都系统地删除了群集中的所有节点,全新安装操作系统,然后再将节点重新添加到群集中。这种方法无法用于迁移到 Windows Server 2008 的情形,因为 Windows Server 2003 和 Windows Server 2008 群集节点不能处于同一群集当中。
幸运地是,系统提供了一个基于向导的迁移过程来帮助执行迁移。但是迁移到 Windows Server 2008 故障群集需要执行一些规划。有以下三种基本的迁移方案:
使用相同的服务器和存储。
使用相同的服务器,但使用新的存储。
使用新的服务器和新的存储。
所有方案都需要确保硬件已通过 Windows Server 2008 徽标计划的认证,并且已运行故障转移群集验证过程且通过了所有的测试。完成这些步骤后,就可继续执行迁移过程。
并非 Windows Server 2003 服务器群集中的所有资源都可以迁移。可迁移网络名称、IP 地址、物理磁盘、文件共享、分布式文件共享 (DFS) 根、DHCP 和 WINS。也可(有限地)迁移通用服务、通用应用程序和通用脚本资源。
同时,Microsoft Exchange 和 SQL Server® 之类的应用程序都拥有自己的程序来迁移到“故障转移群集”。打印机可使用“打印管理”管理单元(与“打印服务器角色”一起安装)迁移到 Windows Server 2008,从而先将打印机导出然后再将其导入新配置的高度可用的打印服务器。无法迁移第三方资源类型。
迁移过程不会迁移任何数据。它会将群集配置设置从 Windows Server 2003 迁移到 Windows Server 2008。
迁移过程完成时,所有的迁移资源最初都处于脱机状态。原因是可能存在其他必要的步骤。因此,在开始使用群集之前,必须查看迁移后报告以了解还需要执行哪些步骤(如果迁移到新存储则还需要执行数据迁移)。例如,如果迁移 DHCP 服务器,必须在群集中的所有节点上安装“DHCP 服务器角色”。如果迁移 WINS 服务器,必须在群集中的所有节点上安装“WINS 服务器”功能。
Chuck Timon 是 Microsoft 支持群集和安装技术的一名支持升级工程师。他撰写过 Windows Server 2008 故障转移群集培训课程,目前正从事 Hyper-V 培训工作。
概览:
“故障转移群集管理”管理单元
新功能和增强功能
备份和还原功能
从 Windows Server 2003 进行迁移
目录
新的管理界面
改进了配置过程
嵌入了验证过程
新的仲裁模型
增强了安全功能
扩展了网络功能
增强了与存储交互时的可靠性
内置恢复过程
新的备份和还原功能
从 Windows Server 2003 服务器群集进行迁移
自从在 Windows NT 4.0 Enterprise Edition 中首次引入群集以来,用户就一直在抱怨它太难于设置,维护则更是难上加难。管理群集要求管理员不仅要了解群集本身,还需要精通存储技术以及群集服务与各种存储解决方案交互的方式。许多组织都难以获取用于启动和运行高可用性解决方案以及之后对其进行维护所需的所有技能。
多年来群集一直在不断改进,但直到 Microsoft 开始研究 Windows Server® 2008 时,仍有许多地方有待改进。明确这一点后,团队以简单为主要目标开始着手重新设计群集。在 Windows Server 2008 中,Microsoft® 群集服务 (MSCS) 得到了完全的改观,并且现在改称为“故障转移群集”。
这并不是说简单是新的“故障转移群集”带来的唯一改进。这些年来,由于许多组织都提供了有关他们希望在群集解决方案中看到哪些功能的有价值反馈,因此 Microsoft 积累了大量经验教训。新的“故障转移群集”功能可解决用户报告的许多首要问题,并且还加入了一些使其更具吸引力的激动人心的新功能。因此在本文中,我将向您介绍 Windows Server 2008 故障转移群集中包含的一些非常酷的新功能。
新的管理界面
安装“故障转移群集”之后,可在“管理工具”中或通过运行 Cluadmin.msc 访问“故障转移群集管理”界面。“故障转移群集管理”管理单元(类似于 Windows Server 2008 中的其他管理界面)是一个 Microsoft 管理控制台 (MMC) 3.0。对于群集老手来说,首次打开“故障转移群集管理”管理单元的感觉就像来到国外却没有带地图一样。
新界面分为三个不同的窗格,如图 1 所示。左侧窗格列出了组织中的所有 Windows Server 2008 故障转移群集。中间的窗格提供了有关在左侧窗格中选择的群集配置部分的详细信息,而右侧窗格显示可执行的操作。
图 1“故障转移群集管理”管理单元(单击此图像可查看大图)
例如,在左侧窗格中选择 Storage。中间的窗格将随后显示群集中提供了哪些存储以及哪些存储(如果有)当前可用的详细信息。如图 1 所示,该群集包含支持见证磁盘的一块存储区、已为 File Server 置备的存储以及一些可用存储。右侧窗格列出了相关的操作,如添加更多存储。请注意,“故障转移群集管理”管理单元不能用于管理之前版本的“Microsoft 群集服务”。
改进了配置过程
配置“故障转移群集”变得非常简单。许多配置、重新配置和维护群集的操作都有向导。有了这些向导的帮助,管理员不必再担心资源是否已配置正确或者它们是否会以正确的顺序联机。
图 2 显示了“高可用性向导”。在该特定示例中配置了一个 File Server。左侧显示了向导已指引管理员完成的步骤列表。此过程一旦完成,就会显示摘要页面并可查看报告。
图 2 高可用性向导(单击此图像可查看大图)
嵌入了验证过程
在之前版本的 Windows Server 中,要成为受支持的群集解决方案,必须在“Windows Server 目录”中将硬件配置列为“群集解决方案”。它包括在“地理位置分散型”类别下单独列出的多站点群集。要列在该目录中,硬件供应商必须运行一组 Windows 硬件质量实验室 (WHQL) 测试并将结果提交给 Microsoft。这对于供应商来说成本很高,并且难以维护“Windows Server 目录”数据库。
在 Windows Server 2008 中,“故障转移群集”包含一个内置的验证过程。该过程由分为四个大类别的一系列测试组成,如图 3 所示。
图 3 故障转移群集验证测试类别(单击此图像可查看大图)
您可以看到 Network 类别已展开以显示运行的测试;每个类别都包含一系列测试。Storage 类别也许是四个类别中最关键的一个类别,它包括用于确保存储解决方案符合 Windows Server 2008 故障转移群集提出的新要求的测试。
具体地说,硬件供应商现在必须使用基于 Microsoft Storport 驱动程序的驱动程序,并且它们必须支持 SCSI-3 持久保留。此外,在使用多路径软件“设备专用模块”时,必须遵循“Microsoft 多路径输入\输出”标准。
由于并入了验证过程,支持模型发生了更改。所有硬件必须具备 Windows Server 2008 徽标,并且必须通过所有的验证测试。唯一例外的是包含两个单独且完全不同的储存柜(每个站点一个)的多站点群集,以及并未使用任何共享存储的 Exchange Server 2007 群集连续复制实现。
新的仲裁模型
Windows Server 2008 故障转移群集中的仲裁模型也发生了更改。在较老的系统中,当管理员听到“仲裁”这个词时,他可能想到的是包含群集配置和一些复制文件的某个共享磁盘。它是群集中的一个单点故障。如果仲裁磁盘出现故障,群集服务将终止并失去高可用性。
Windows Server 2003 服务器群集提供了另一种仲裁类型,即“多数节点集”仲裁。此类仲裁类型通常是在多站点群集中实现,并且不需要共享存储。“多数节点集”仲裁由驻留在每个群集节点上的系统驱动器上的文件共享组成。通过服务器消息块 (SMB) 连接来连接到该仲裁类型。同样,为使群集能正常运行,必须有大多数节点的参与。
引入 Exchange Server 2007 群集连续复制 (CCR) 之后,文件共享见证 (FSW) 功能也添加到了 Windows Server 2003 服务器群集中。它允许单个 Exchange 2007 CCR 群集节点(或任意多站点群集)继续提供服务,只要能够实现到大多数 FSW 的连接即可。
在 Windows Server 2008 故障转移群集中,仲裁的概念现在才真正意味着达成共识。现在实现仲裁(或达成共识)的方式是拥有足够的投票才能开始使用群集。可通过多种方法获取足够的投票,具体取决于仲裁配置。在 Windows Server 2008 故障转移群集中共有四种仲裁模式,如图 4 所示。在列出的四种模式中,只有前两种(“多数节点”和“节点和磁盘多数”)可在创建群集过程中自动选择。应使用以下逻辑:
如果在群集中配置的节点数目为奇数,则选择“多数节点”模式。
如果在群集中配置的节点数目为偶数且共享存储已连接并可访问,则选择“节点和磁盘多数”。
图 4 配置群集仲裁向导中的仲裁模式(单击此图像可查看大图)
要从可用存储选择一个见证磁盘,可选择大小至少 500 MB 且配置了 NTFS 分区的首个磁盘。其余仲裁模式仅可通过运行“配置群集仲裁向导”来手动选择。“节点和文件共享多数”选项通常用在多站点群集配置或 Exchange 2007 CCR 群集中。最后一个选项“非多数:仅磁盘”模式等同于传统群集中的共享仲裁模式。它是一个单点故障,通常不应使用此选项。
在群集中仅有两种见证资源(物理磁盘和文件共享)经过配置后能帮助达成共识。
见证磁盘是群集服务可将其联机的一块存储区。该磁盘与群集“网络名称”及相关 IP 地址资源一同位于“群集核心资源组”中。配置了见证磁盘后,该磁盘上将出现一个 Cluster 文件夹并放置一个完整的群集配置副本(群集配置单元或副本)。
FSW 是一个网络共享,在理想情况下位于不属于群集的网络服务器上。为 FSW 建立 SMB 连接,由 FSW 维护见证日志文件(它包含了群集配置的版本信息)的副本。
一个群集中仅可配置一种见证资源。在群集实现仲裁时需要该资源提供一张额外的投票。换句话说,如果群集仅差一张选票(即一个节点)即可达成共识,那见证资源将联机以便实现仲裁。如果群集还差多张选票才可实现仲裁,则见证资源不会联机,且群集将继续保持休眠状态并等候其他群集结点的加入。
增强了安全功能
故障转移群集包含多个新的安全增强功能。其中最重要的也许是不再需要群集服务帐户 (CSA)。在之前版本的 Microsoft 群集服务中,在配置过程中需要用到域用户帐户。该帐户的目的是用于启动群集服务,因此需将它添加到每个群集节点上的本地管理员组中,并且向其提供必要的本地用户权限以便群集服务能正常运行。作为域用户帐户,CSA 需要遵守许多可应用到群集节点的域级别策略。这些策略可能会导致群集服务失败,对高可用性产生负面影响。
现在,群集服务是以一个本地系统帐户的名义运行,该帐户对本地群集节点具备一组特定权限,能够正常运行。群集的安全上下文已转换成“群集名称对象”(CNO),该对象是首次创建群集时在 Active Directory® 的“计算机”容器中默认创建的计算机对象。一旦成功创建群集且 Active Directory 中存在 CNO,就不再需要用于安装和配置群集的用户帐户。
在 Active Directory 的“计算机”容器中创建的其他计算机对象与“故障转移群集”相关联。这些对象称为“虚拟计算机对象”(VCO),等同于在群集中作为客户端访问点 (CAP) 的一部分创建的群集“网络名称”资源。CNO 负责创建群集中的所有 VCO,它会被添加到 Active Directory 中对象的系统访问控制列表 (SACL) 中(请参阅图 5)。
图 5 Active Directory 中 VCO 的安全性(单击此图像可查看大图)
CNO 还负责同步它创建的所有 VCO 的域密码。将根据配置的密码轮换域策略完成此过程。此外,由于 CNO 负责创建与群集中的 VCO 相关联的所有计算机对象,因此 CNO(计算机帐户)必须具有域级别权限以便能够在创建 VCO 的容器(默认情况下为“计算机”容器)中创建计算机对象。
另一项更改是 Kerberos 现在已成为默认的身份验证方法。由于 Active Directory 中存在计算机帐户,因而使得此项增强的安全功能成为可能。但是,如果某个应用程序虽然无法使用 Kerberos 来执行身份验证却需要访问群集资源,则群集可以使用 NT LAN Manager (NTLM) 身份验证。
直接处理群集过程的群集节点间的通信也更加安全。所有群集内部的通信都会默认进行签名。可通过使用 cluster.exe 通用语言接口 (CLI) 来更改此群集属性,这样可加密节点之间的所有通信以提供更高级别的安全性。
扩展了网络功能
“故障转移群集”中的新网络功能使得高可用性和灾难恢复解决方案的设计更加灵活。同时,这些网络增强功能在群集中的节点间提供了更加可靠的连接。
在单个网络中找到群集节点可能是客户最迫切需要的功能。现在已实现这项功能。群集网络驱动程序已彻底重新编写,因此只要每个节点都连接至少两个分别路由的单独网络,它就可以在群集中的节点间提供高度可靠且容错的通信。
群集网络驱动程序根据群集启动过程中提供的连接信息构造自己的内部路由表。这包括本地连接信息以及在群集配置数据库(群集注册配置单元)中提供的信息。
群集验证过程的一项内容是网络连接发现过程。在不同路由网络中找到群集节点的功能减轻了多站点群集的网络需求。因而使得组织部署它们时更加轻松且成本更低。它还使在“故障转移群集”中使用 iSCSI 存储成为更具吸引力的存储解决方案。
群集节点还可通过 DHCP(动态主机配置协议)获取 IP 地址信息。如果网络管理员允许其环境中的服务器使用动态地址,则此功能可以减轻他们的负担。
群集节点网络接口的配置决定了哪些网络使用静态或动态 IP 地址。尽管群集中的 IP 地址资源是从 DHCP 服务器获得的,也可以在“故障转移群集管理”管理单元中将其更改为静态 IP 地址。
在过去,所有的群集通信都使用用户数据报协议 (UDP) 广播,或者有时使用多播。现在已停止使用多播功能,且群集通信转为使用 UDP 单播。(端口 3343 仍是 Microsoft 群集使用的公共端口。)许多网络管理员对于不再使用广播都感到非常高兴。但是,群集中真正的回报在于群集服务内部的新消息传递过程。(不过,该内容超出了本文的介绍范围。)即使将 UDP 用作传输机制,群集内部的通信现在也是更加可靠的 TCP 通信。
增强了与存储交互时的可靠性
“故障转移群集”与存储交互的方式发生了翻天覆地的变化。群集磁盘驱动程序 (clusdisk.sys) 已彻底重新编写,现在它才是真正的即插即用 (PnP) 驱动程序。而且它与存储交互的方式也已发生改变。
在 Windows Server 2003 中,群集磁盘驱动程序位于一个直接存储路径中。但在 Windows Server 2008 中,群集磁盘驱动程序需要与分区管理器 (partmgr.sys) 驱动程序进行通信才能与存储实现交互。图 6 中展示了这两种方法。
图 6 存储堆栈在 Windows Server 2008 中的变化(单击此图像可查看大图)
分区管理器主要负责保护群集磁盘资源。首次映射到群集节点时,共享存储总线上的所有磁盘都会自动处于脱机状态。因此,即使是在创建群集之前,也可将存储同时映射到群集中的所有节点。不再需要一次一个地引导节点,在一个节点上准备磁盘然后关闭节点,再引导另一节点,检验磁盘配置等等。
但仍然需要执行存储测试,该测试是群集验证过程的一个部分并且需要初始化磁盘。可在执行验证过程之前在群集的一个节点上完成该操作。一旦存储被添加到群集,磁盘将在“磁盘管理”界面中显示“保留”状态,并且会一直处于受保护状态。
另一项更改与 SCSI 命令有关。在 Windows Server 2003 中,SCSI-2 Reserve\Release 命令与写入磁盘自身扇区中的群集磁盘驱动程序搭配使用。在 Windows Server 2008 中,必需使用 SCSI-3 PR (Persistent Reservation) 命令。群集节点必须先注册然后才能保留存储,并且群集节点需定期使用“注册保护协议”来保护其保留。
验证过程中的其中一项存储测试将验证此功能。如果某个存储解决方案并不支持 SCSI-3 (PR) 命令,则“故障转移群集”也将不支持它。
在连接到存储时,许多组织使用多路径软件来实现冗余。这种方法不但受到支持,甚至还推荐做为最佳实践。但是,必须使用“Microsoft 多路径输入\输出”标准来重新编写第三方多路径软件解决方案(即设备专用模块),以便得到“故障转移群集”的支持。从而确保所有的 SCSI-3 PR 命令都同时沿所有路径发送到存储,无论路径是否处于活动状态。验证过程也会确认此功能。
其他存储改进包括有所改进的检查磁盘 (chkdsk.exe) 过程、之前“群集服务器恢复实用程序”中的内置磁盘修复功能以及自修复磁盘。在“故障转移群集”中,确定群集磁盘资源时将同时用到磁盘签名和 LUN ID。如果任意一项发生更改,群集配置都会更新。正是由于物理磁盘资源上的属性更改提供了更好的高可用性,因而减少了错误。
内置恢复过程
之前提到的磁盘修复显然是一项内置恢复功能。还有一个是 Active Directory 修复功能。如果删除了代表 CNO 的计算机对象,您将无法再创建与群集 CAP 相关联的计算机对象。但是,您会遇到的第一个问题可能是高度可用的应用程序或用户由于无法获得安全令牌而无法访问群集外部的资源。
从已删除的 CNO 恢复包括以下两个步骤。首先,必须让域管理员从 Active Directory 的 DeletedObjects 容器恢复已删除的计算机对象。然后,在还原并重新启用该对象之后,执行“故障转移群集管理”管理单元中的“修复 Active Directory 对象”过程。
在 Windows Server 2003 服务器群集中,位于 %systemroot%\cluster 子目录中的群集配置文件可能会损坏因而必须进行替换。在“故障转移群集”中,自修复功能可帮助解决这一问题。如果群集服务在某个节点上启动且配置数据库发生损坏,将使用 HKLM\System\CCS\Services\ClusSvc\Parameters 注册表项中包含的信息加载最小的配置模板。该节点将尝试加入一个已成形的群集,如果该尝试成功,该群集注册表配置单元的一个全新副本将被推送到该节点。如果节点无法加入群集,群集服务将终止。
新的备份和还原功能
“故障转移群集”自带了“卷影复制服务”编写器。它在备份和还原群集数据库以及物理磁盘资源上保存的数据过程中起着非常关键的作用。备份群集配置非常简单。只要系统状态为备份的一部分,就可以还原群集配置。但请注意,仅应备份具有仲裁的群集。从而确保备份的是最新的群集配置。
有两种完全不同的群集还原类型:权威还原和非权威还原。非权威还原使用 Windows Server Backup 或第三方备份应用程序来从选定的备份执行还原。而群集结点的权威还原仅可使用 Windows Server Backup CLI (wbadmin.exe) 执行还原。
权威还原实质上是将群集配置“带回”执行备份时的状态。要完成权威还原,必须停止除正在执行还原的节点以外的所有其他节点上的群集服务。当还原完成且在已还原节点上启动群集服务后,群集的还原配置将变成权威性的新群集配置。然后,在群集中的其他节点上重新启动群集服务时,还原配置将在加入过程中向外推送到这些节点。
在某些情况下,它可以节省大量的时间和资金。假设您有一个包含多个打印后台处理程序资源的打印群集且每个资源都支持 1,500 台打印机,而您无意间删除了其中一个打印后台处理程序资源。现在,大量用户无法正常打印。与其手动将这些打印机都重新添加回群集配置,更快的方法是执行群集配置的权威还原。当然,这需要您具备良好的备份和还原策略。
从 Windows Server 2003 服务器群集进行迁移
由于 Windows Server 2008 故障转移群集包含这些体系结构更改,因此并不支持从 Windows Server 2003 执行就地或周期性升级。从 Windows Server 2000 群集升级到 Windows Server 2003 时,许多组织都系统地删除了群集中的所有节点,全新安装操作系统,然后再将节点重新添加到群集中。这种方法无法用于迁移到 Windows Server 2008 的情形,因为 Windows Server 2003 和 Windows Server 2008 群集节点不能处于同一群集当中。
幸运地是,系统提供了一个基于向导的迁移过程来帮助执行迁移。但是迁移到 Windows Server 2008 故障群集需要执行一些规划。有以下三种基本的迁移方案:
使用相同的服务器和存储。
使用相同的服务器,但使用新的存储。
使用新的服务器和新的存储。
所有方案都需要确保硬件已通过 Windows Server 2008 徽标计划的认证,并且已运行故障转移群集验证过程且通过了所有的测试。完成这些步骤后,就可继续执行迁移过程。
并非 Windows Server 2003 服务器群集中的所有资源都可以迁移。可迁移网络名称、IP 地址、物理磁盘、文件共享、分布式文件共享 (DFS) 根、DHCP 和 WINS。也可(有限地)迁移通用服务、通用应用程序和通用脚本资源。
同时,Microsoft Exchange 和 SQL Server® 之类的应用程序都拥有自己的程序来迁移到“故障转移群集”。打印机可使用“打印管理”管理单元(与“打印服务器角色”一起安装)迁移到 Windows Server 2008,从而先将打印机导出然后再将其导入新配置的高度可用的打印服务器。无法迁移第三方资源类型。
迁移过程不会迁移任何数据。它会将群集配置设置从 Windows Server 2003 迁移到 Windows Server 2008。
迁移过程完成时,所有的迁移资源最初都处于脱机状态。原因是可能存在其他必要的步骤。因此,在开始使用群集之前,必须查看迁移后报告以了解还需要执行哪些步骤(如果迁移到新存储则还需要执行数据迁移)。例如,如果迁移 DHCP 服务器,必须在群集中的所有节点上安装“DHCP 服务器角色”。如果迁移 WINS 服务器,必须在群集中的所有节点上安装“WINS 服务器”功能。
Chuck Timon 是 Microsoft 支持群集和安装技术的一名支持升级工程师。他撰写过 Windows Server 2008 故障转移群集培训课程,目前正从事 Hyper-V 培训工作。