根据“Microsoft Virtualization”(由 Elsevier 的出版社 Syngress 出版)改编
简而言之,高可用性 (HA) 意味着向用户提供一种服务并使用户随时可以访问该服务,这通常是由于做出了一些努力来确保连续运营。
当有人谈及 HA,他们通常是指某种形式的服务器群集起。服务器群集是指作为单个资源进行配置和管理的两台或多台服务器的集合。您可以拥有一个负载平衡群集,它根据客户端的需求来使用物理服务器的资源;或者拥有一个故障转移群集,它一次使用一个群集成员(或“节点”),并且在主成员出现故障后保留另外一个。
Microsoft Windows Server 提供传统的、基于主机的群集,它通过 Hyper-V 提供了一些选项,供故障转移和负载平衡使用。使用 Hyper-V 构建高可用性的服务,也带来了一些独有的注意事项。
群集概念故障转移群集包含一个节点,该节点通常会处理所有客户端请求,因此被称为主节点。它还包含一个或多个基本不活动的节点,除非主节点脱机这些节点才会激活。这些节点被称为辅助节点。
在负载平衡群集中,所有节点都会积极为客户端请求提供服务。大多数情况下,负载平衡的群集也可以充当故障转移群集。负载平衡群集的一个或多个节点出现故障通常不会影响到其他节点。
在任何群集中,一个重大挑战就是确定节点成员的状态(尤其是在故障转移群集中),以及确定群集的哪个节点当前正在控制群集的应用程序及其数据。确定每个节点的状态时,用得最多的是检测信号网络(通常是用来传送信号或检测信号的一组物理上独立的网卡)。
从 Windows Server 2000 开始,Microsoft 在 Enterprise 版和 Datacenter 版中内置了创建故障转移群集的能力。该过程在 Windows Server 2008 中被大大简化,它使用基于向导的方法来进行节点验证和配置。
设置向导的验证部分会检查您的节点、可用存储空间和网络连接,以便确保基础结构支持群集。它还会检查应用程序,确保它们能够支持群集环境。在执行设置和配置群集所必需的步骤之前,它将确认服务器硬件足够支持群集环境。
Microsoft 网络负载平衡 (NLB) 允许将多个网络资源作为服务器池的一部分,并使用公用的网络名称。当客户端请求该网络资源时,这些节点中的一个将做出响应。具体做出响应的服务器是由一种算法决定的,该算法对服务器做出选择,使得每台服务器都能够处理一定比例(可由您配置)的客户端请求。
为 Hyper-V 定义高可用性使用 Hyper-V 群集,确定要对虚拟化堆栈的哪一层进行群集操作非常重要。只要物理计算机满足必要的要求(可以使用附加储存、具有检测信号专用的网络接口等等),该主机就可以添加到群集中。
您还可以在单个主机上对虚拟机 (VM) 本身(“来宾”)进行群集操作。对检测信号使用虚拟网络,并对仲裁和其他附加存储使用虚拟 iSCSI,就可以创建来宾群集,即使主机硬件不提供支持也能做到。您还可以将 Hyper-V 来宾用作跨多个物理主机的节点,使所有主机能够进行群集操作。
凭借 Hyper-V 虚拟化,您可以创建非常稳定的故障转移解决方案。每台物理主机可以包含多台 VM,其中每台都是故障转移群集的成员节点。物理主机也可以是故障转移群集的一部分。所以在放置 VM 时务必牢记存储和资源。
您可以分别监控每台 VM,所以您可以选择在群集中的各个物理节点之间分布 VM。这将有助于您提高性能,但在规划存储容量需求时会更困难。
NLB 群集 VM 所提供的另一个优势在于,它能使您的服务具有高可用性 - NLB 可以在单个主机或多个主机中使用,以便实现服务可用性。除了负载平衡以外,NLB 还允许因维护或故障而从群集中去除成员节点。
如果 VM 通过 NLB 功能而成为故障转移群集中的节点,则在维护期间,这些 VM 会因其工作负荷而获得高可用性。如果该 VM 需要更新或其他形式的维护,您可以将工作负荷完全转移到该主机或不同主机上的另一台 VM 中。
Thomas Olzak 是 HCR ManorCare 的信息安全主管。HCR ManorCare 是一家位于俄亥俄州的短期或长期康复及医疗保健提供商,它在美国 32 个州拥有 500 多个分支机构。可通过 [email protected] 与他联系。Jason Boomer、Robert Keefer 和 James Sabovik 同样对本文以及原始书籍做出了贡献。
?2011 Elsevier Inc. 保留所有权利。经 Elsevier 的出版社 Syngress 的许可出版。版权所有 2011。Thomas Olzak 编写的“Microsoft Virtualization”。有关此书和其他类似书籍的更多信息,请访问 elsevierdirect.com。