Microsoft群集解决方案,避免草木皆兵
分类:网络运维

现在的服务器都配置了成堆的传感器,一旦任何传感器发生状况都会发出告警,令人头昏目眩。但是管理员必须尽早知道:服务器监控工具产生的告警不一定都重要。如果服务器动辄发出警报,那你会在短时间内被迫接收大量信息,其中真正重要的信息可能会被淹没。本文的目的就是帮助管理员认清哪些服务器告警是重要的,管理员需要服务器监控工具怎样正确提供警报。

数年以来,Microsoft一直致力于对自身服务器解决方案的伸缩能力、可用性与可靠性进行扩展。群集技术已被证明是实现这一目标的有效途径,Microsoft充分支持群集技术理念,并致力于使其成为Microsoft操作系统及相关产品的集成化组成部分之一。随着Windows 2000的正式发布,Microsoft群集解决方案已经逐渐步入成熟阶段。
可伸缩能力、可用性与可靠性
群集是一组通过协同工作方式运行同一套应用程序并针对客户端及应用程序提供单一系统映像的独立计算机。群集技术的目标在于通过多层网络结构进一步提高伸缩能力、可用性与可靠性。
可伸缩性是指一台计算机在维持可接受性能的前提下处理不断提高的工作负载的能力。硬件设备可伸缩性内含式扩展,根据Microsoft的说法)依赖于通过具备扩展能力的大型计算机来执行各项操作。软件产品可伸缩性外延式扩张)依赖于通过协同工作方式组织在一起的多台计算机所形成的群集,它与RAID驱动器阵列是两种不同概念。实际上,Microsoft使用了不太正规的术语计算机冗余阵列RAC)来称呼自身的外延式扩张群集。就像可以通过向RAID阵列中添加磁盘的方式来提高性能一样,您同样可以通过向外延式扩张群集中添加节点的方式来提高性能。
可用性与可靠性是两种紧密相关但又略有不同的概念。可用性是指存在质量、备用能力、获取简便性以及可访问能力。可靠性则是指系统牢固程度。即便是最为可靠的系统总有一天也会出现问题。硬件设备制造商通过在诸如磁盘驱动器、电源供应设备、网络控制器和冷却风扇这样的关键技术领域中提供冗余的方式提前针对可能出现的故障采取准备措施。然而,在一台计算机上所提供冗余无法为用户避免应用程序故障。如果某台服务器上的数据库软件出现故障,那么,尽管这台服务器可能非常可靠,但通过软件与服务器相互结合方式提供的功能仍将无法使用。由此可见,单台计算机根本无法胜任由群集承担的所有必要可伸缩性、可用性及可靠性挑战。
群集能够模拟RAID阵列方式来提供可用性与可靠性。在诸如RAID 1或RAID 5这样的容错磁盘配置方案中,所有磁盘均按照冗余阵列方式协同工作。如果某块磁盘出现故障,您可以将其拔下并插入一块新的磁盘,阵列中的其余部分将继续运行--无需配置,无需安装,最重要的是,不会造成停机。RAID系统自动对新的驱动器进行重建,以便使其能够与其它驱动器协同工作。与此类似,当群集中的某台计算机出现故障时,您只需使用一套新的系统对其进行替换,整个群集将继续保持运行状态。某些群集软件能够自动对服务器进行配置并将其集成到群集当中--所有相关操作均在群集处于可用状态下完成。
四种群集解决方案
威尼斯手机娱乐官网 ,Microsoft提供了四种基本群集技术:Microsoft群集服务MSCS)、网络负载平衡NLB)、组件负载平衡CLB)和Application Center 2000。这些服务通过三种解决方案提供:MSCS、NLB和Application Center。CLB是Application Center的组成部分之一,并且只能通过Application Center加以应用。NLB既可以通过Application Center使用,也可以作为一种独立解决方案使用。Windows 2000 Advanced Server与Windows 2000 Datacenter Server本身包含MSCS和NLB,但您必须单独购买Application Center。
表1总结了这四种群集技术在不同Windows 2000 Server与Windows NT Server 4.0产品家族成员中的可用性。正如您所想象的那样,这些技术中没有一种适用于Windows 2000 Professional或Windows NT Workstation 4.0。
 威尼斯手机娱乐官网 1
 
Microsoft群集服务
最初代号为Wolfpack且先后被称为Microsoft群集服务器与Microsoft群集服务的MSCS是Microsoft在NT群集技术领域中的首次重拳出击,它是公认的最佳Microsoft群集解决方案。在MSCS群集中,MSCS软件最多可以同四台运行在高速网络上的物理计算机建立连接。通常情况下,群集中的计算机能够按照“活动--活动”方式共享相同的存储子系统与功能,这意味着所有群集计算机节点)均可主动通过共享负载的方式协同完成工作,并在某个节点出现故障时分担它的工作。图1显示了一个4节点MSCS群集。
威尼斯手机娱乐官网 2
图1 利用Windows 2000 MSCS实现的4节点群集
MSCS的主要用途是通过自身提供的容错能力提高应用程序可用性。容错能力是指将相关处理过程从某个节点上的故障应用程序由于硬件设备故障或软件错误等原因所导致)移植到群集中其它健康节点上的群集功能。当故障应用程序得到恢复后,群集应当能够对原先的群集节点实现“故障返回”。MSCS能够在不丢失任何与故障应用程序相关数据的前提下对群集上所运行的应用程序进行故障恢复与故障返回管理,并且能够在故障恢复过程中维护用户及应用程序状态。这种类型的群集功能被称作有状态群集功能。与此相反,NLB、CLB和Application Center在增强可用性的同时,提供无状态群集功能与动态负载平衡能力我将在稍后部分中详细讨论这些内容)。
对于诸如电子邮件服务器、数据库应用程序之类的应用程序,MSCS是一种良好的运行方式。假设您决定在一个4节点MSCS群集上运行Microsoft Exchange 2000 Server。当安装MSCS软件以及适用于群集的Exchange 2000版本后,您可以对群集进行配置,以便使Exchange 2000能够在主要节点发生故障时在备份节点上进行故障恢复。当故障发生时,主服务器上肯定存在处于打开状态的用户会话,然而,MSCS能够在不丢失任何数据的情况下快速、自动的完成故障恢复。备份节点将从故障节点上接替工作负载及相关数据,并继续为用户提供服务。
MSCS同时还允许用户在应用程序升级过程中继续进行工作。您可以采取滚动升级方式例如每次在一个群集节点上升级应用程序并确保其它节点上的应用程序继续处于可用状态)而不必在升级过程中停止使用应用程序。举例来说,假设您拥有一个双节点群集。其中节点1运行Exchange 2000,节点2运行Microsoft SQL Server,您希望对这个群集进行配置,以便使Exchange 2000和SQL Server能够在必要情况下相互实现故障恢复。当需要对SQL Server进行升级时,您可以通过MSCS群集管理器在节点2上启动SQL Server故障恢复功能。当节点1接替SQL Server运行任务同时继续运行Exchange 2000)时,您便可以在节点2上对SQL Server进行软件升级。当升级工作完成后,您可以通过故障返回方式将SQL Server从节点1重新移至节点2上运行,并对节点1上的SQL Server重复执行相同的软件升级操作。当节点1同样完成升级后,整个SQL Server软件便在未影响用户使用的情况下完成了升级任务。
与其它三种Microsoft群集解决方案不同,您通常无法利用MSCS面向更多用户对应用程序进行扩展。MSCS群集无法向NLB、CLB和Application Center那样通过无状态非共享方式在节点之间提供动态负载平衡能力或实现应用程序分布式运行。实际上,利用MSCS实现应用程序伸缩能力的唯一可行方式便是在安装过程中手工将应用程序分配给不同群集资源。举例来说,如果需要在Exchange 2000平台上为5000名用户提供服务,您可以应用2节点活动-活动群集并在每个节点上为2500名用户提供服务。通过这种方式,您不但可以获取通过两台服务器为用户提供服务所实现的性能优势,同时还能在故障情况下实现必要的可用性。但是,当故障恢复发生时,剩余节点必须能够在故障节点恢复使用前单独为所有5000名用户提供服务。

配置告警机制的技巧

...

在开始之前,我想先指出一点:配置告警并没有绝对正确或错误的方法。本文中的建议主要基于我二十年的IT经验,但它们终归是我个人的偏好。所以,虽然希望你们能从我的建议中获取好处,但我更建议每个管理员配置服务器告警时,尽量紧贴与自己公司的特定要求。

另一点我要指出的是:管理员可以用很多方法让服务器产生告警。有的服务器可以在硬件级产生告警,这虽然很有用,但还远远达不到作为独当一面的告警机制的要求。服务器供应商提供的服务器监控工具有大量信息,作为操作系统级的服务器监控工具,比如微软的System Center Operations Manager。因为监控工具的选择很多,我会普遍地讲一讲,而不是单独讲某个特定的工具。

为服务器告警机制配置优先级

想让服务器监控变得有效,关键在于对监控工具的告警机制进行优先级配置。我推荐把告警分为高级、中级、低级三种。

我通常把优先级高的告警定义成最最关键的事务。比如,服务器磁盘空间全部耗尽就是一个关键事件,同样一个群集化应用服务器出现故障也会酿成大祸。

中级优先级的告警比较难以定义。我所认为的中级告警可能对于其他组织来说是高级的。对我来说,如果警报中的问题不会带来整体停机,那么优先级就是中级。比如说一个群集中的某个节点不知道为什么断电了,但不会影响整个群集的运行,那我就把它定义为优先级中级。当然这和所处的工作环境有很大关系。我任职过的一些大公司就把这类问题定义为关键事务。

但是,如果你的公司不能容忍任何宕机事件发生,那比较聪明的方法就是根据问题是否有发生故障的潜在风险来决定优先级。比如说你有一个RAID列阵,能够在不离线的情况下处理两个磁盘的失误,那如果其中一个故障了,你可以把这件事当成中等优先级的告警,因为该阵列还能正常处理另一个磁盘的故障。但如果两个磁盘都发生故障,那就是高等优先级了,因为如果还有一个磁盘故障,那整个阵列就完了。

本文由威尼斯手机娱乐官网发布于网络运维,转载请注明出处:Microsoft群集解决方案,避免草木皆兵

上一篇:挑战Intel并非空谈,ARM难撼英特尔主导地位 下一篇:VMware学习笔记,用户不满VMware新版vSphere
猜你喜欢
热门排行
精彩图文