Windows Server故障转移群集攻略.docx
《Windows Server故障转移群集攻略.docx》由会员分享,可在线阅读,更多相关《Windows Server故障转移群集攻略.docx(7页珍藏版)》请在冰豆网上搜索。
WindowsServer故障转移群集攻略
WindowsServer2008提供了两种群集技术:
故障转移群集和网络负载平衡(NLB)。
其中故障转移群集主要是用于搭建高可用性HA架构。
尽管WindowsServer2003也有群集技术,但是WindowsServer2008对故障转移群集的更改,主要是为了简化群集设置和管理,使群集更加安全和稳定,改善群集中的网络连接以及故障转移群集与存储通信的方式。
故障转移群集是一组独立的计算机,这些计算机相互协作以提高服务和应用程序的可用性。
多台群集服务器(称为节点)之间由物理电缆和软件连接,如果其中一个节点出现故障,另外一个节点就会通过称为故障转移的进程替代开始提供服务。
这样就能够确保用户一直具有访问基于服务器重要资源的权限,从而具有高可用性。
故障转移群集是针对具有长期运行的内存中状态或具有大型的、频繁更新的数据状态的应用程序而设计,其典型的应用范围包括文件服务器,打印服务器,数据库服务器和文件服务器。
一、故障转移群集工作机制
1、检测故障
每台处于工作状态的活动服务器都固定地跟一台备用服务器相连接。
系统使用某个常规类型的心跳监视机制来实现两台服务器的通话,监控活动服务器的工作状态以及判断备用服务器是否启动。
具体实现如下:
活动服务器会在固定的时间间隔内将指定的信号发送给对应的备用服务器,如果备用服务器在某个时间间隔内未收到信号,则就默认活动服务器出现了故障并取得活动角色;另一方面,备用服务器会向活动服务器发送请。
如果没有收到来自活动服务器的响应,则备用服务器会在指定的次数内持续给活动服务器发送请求,超过指定的次数之后,备用服务器还没有收到活动服务器的响应,那么就默认活动服务器出现了故障,备用服务器取得活动角色。
由于整个检测过程要求活动服务器定时地发送和接收信号,所以必然会占用活动服务器的一部分内存和工作量。
为了尽可能小地减少对活动服务器性能的影响,所以每次故障识别,信号的发送和接收都需要持续一段时间,而且备用服务器可能要在连续发送几次请求未得到响应的情况下,才会接管活动服务器。
所以在故障发生时,可能需要一段较长的时间,备用设备才会启动故障转移程序。
这可能会给用户带来不小的影响。
2、同步状态
在备用服务器确认活动服务器出现了故障,就会启动故障转移程序,做好接管活动服务器工作的准备。
备用服务器首先必须将自身的状态与发生故障的活动服务器的状态保持一致,然后才能开始处理事务。
主要有事务日志,热备用和共享存储三种不同的同步方法。
事务日志方法主要是要求活动服务器将它本身状态的所有更新都记录在日志中,并启动一个同步工具定期处理这些日志,然后更新备用服务器的状态,实现两者状态的一致。
在故障发生时,备用服务器只需要使用更新同步工具自上一次对日志的处理以来活动服务器新添加的内容即可。
从而缩短了备用服务器激活成活动服务器的准备时间,令故障转移更加流畅。
热设备方法主要是对活动服务器进行实时监控。
只要活动服务器状态上发生了任何更新,其更新的内容会立刻复制到备用服务器。
这样一来,备用服务器就相当于活动服务器的克隆。
在故障发生时,备用服务器可以跳过同步状态这一步,立刻成为活动服务器,节省了一大部分的准备时间。
使用共同存储方法,两台服务器可以在共享存储设备(如存储区域网络或双主机磁盘阵列)上记录其状态,即两台服务器的状态是共享的。
因此,这个方法也可以不需要进行状态同步,故障转移可以立即发生。
3、确定活动服务器
对于指定的一组应用程序,只能存在一个活动的服务器。
为了避免出现因多台服务器都处于活动状态而导致数据损坏或死锁的情况,系统使用“活动令牌概念”的某个变体。
对应于一指定应用程序的多太服务器,只有一台服务器持有“活动令牌”,则该服务器就是活动服务器,其他的服务器均属于备用。
所以当服务器由备用状态转化成活动状态时,故障转移程序就会将“活动令牌”转交给该备用服务器,从而激活它的活动状态。
以下两个图通过无故障转移与有故障转移的解决方案的对比,来突显故障转移群集可以实现高可用性。
图1非故障转移解决方案
在图1中,数据层中只有一台为应用程序层提供服务的数据库服务器。
那么如果该服务器发生了故障,应用程序服务器将无法访问用来为客户端提供服务的数据。
最终将导致应用程序对客户端不可用。
图2具有故障转移数据层的解决方案
在图2中,第一台服务器(Database01)是处理所有事务的活动服务器。
只有当Database01发生故障时,处于备用状态的第二台服务器(Database02)才从备用状态转为活动状态,开始处理事务。
群集将一个虚拟IP地址和主机名(Database10)在客户端和应用程序所使用的网络上公开。
二、WindowsServer2008故障转移群集
群集技术一向以设置难,维护更难著称。
然而WindowsServer2008的故障转移群集的一大特点就是简单。
除了简单之外,它在很多地方相较于之前的版本来说,都有很大的改善,以及添加了一些新的性能,具有较高的稳定性,安全性和高可用性。
1、新的验证向导
在安装使用WindowsServer2008故障转移群集之前,必须对机子的硬件配置进行测试,检查硬件设施跟WindowsServer2008故障转移群集是否兼容。
只有通过了WindowsServer2008的认证,硬件配置才会支持故障转移群集方案。
在WindowsServer2008故障转移群集管理部件中,提供了新的验证向导。
该向导用来测试系统,存储器和网络配置是否适合使用群集。
这些测试是对群集运作的特定模拟,具体包括系统设置配置测试,网络测试和存储器测试。
系统配置测试分析所选择的服务器是否满足特定的要求,比如是否满足运行相同的系统版本和软件更新的要求。
网络测试分析计划运行群集的网络是否满足特定的要求,比如是否满足网络冗余的要求。
存储器测试分析存储器是否满足特定的要求,比如是否满足能准确地支持必要的SCSI要求,以及处理模拟群集运作相关事务。
故障转移验证向导
2、支持GPT磁盘
故障转移群集支持GUID分区表(GPT)磁盘。
GPT磁盘的容量较以前增大,而且更加稳定。
特别地,GPT磁盘能令分区的空间比原来大了两兆字节,以及使用内置冗余的方式分割信息的存储,跟主启动记录磁盘(MBR)不同。
故障转移群集同时支持这两种类型的磁盘,可以选择两者中的任意一种。
故障转移群集在原有性能上进行的一些改进:
3、加强的群集设置
群集创建向导(TheCreateClusterwizard)令群集的创建变得更加简单。
另外,故障转移群集软件同样配有向导,帮助管理员查找WindowsServer2003服务器群集资源组设置中可以迁移到WindowsServer2008群集一部分资源设置。
故障转移群集创建向导
4、简化的管理界面
群集管理界面变得非常简单,一目了然,方便管理员对群集的管理,使管理员可以将更多的精力花费在应用程序的处理上。
另一方面,管理员还能够使用命令行或者Windows管理规范(WMI)来运行群集,扩大使用范围,适用于更多的任务。
WindowsServer2008故障转移群集除了可以通过查阅日志的方式查看管理信息之外,还提供了Windows的EventTracing,帮助管理员方便快捷地收集,管理和报告发生在群集中的一系列事件的信息。
而且它还集成了VolumeShadowCopyService,令令备份和恢复群集配置变得更加容易。
除此之外,管理员还可以控制查看共享文件的方式,更快地了解群集中共享文件夹的信息和明确一个共享文件夹在哪个群集上是适用的。
故障转移管理界面
5、稳定性和安全性都有了很大的提高,增大了整个群集的可用性
WindowsServer2008故障转移群集具有两个群集模型,一个是之前就已经存在的quorum资源模型,另一个是多数节点集模型。
这样的改进使quorum不再是单点故障。
打个比方,在一个双节点群集中,可以指明如果quorum磁盘出现了故障,只要两个节点的副本群集配置数据库依然可用,就并不中断工作,群集依然继续运作。
另一方面,群集基础设施也进行了改进,进一步地提高了可靠性和可用性。
处理群集资源的软件结构跟动态链接库(DLLs)是相互独立的。
假如动态链接库出现了不正当操作,那么对群集的影响也会减到最小。
另外,群集将会使用已经改善的方法来确保与副本群集资源配置库之间的一致性。
6、存储器方面的改进
可以在应用程序在线的情况下,向存储器任意添加新磁盘。
而且新添加的磁盘立刻可用,而不需要中断当前处于在线状态的应用程序。
此外,存储器自身的性能和稳定性也得到了很大的提高。
当一个故障转移群集与存储区域网络(SAN)或者直接附加存储器(DAS)相连接时,它使用最少的破坏性命令(例如,避免SCSI总线复位)。
而且磁盘从来不会处于未保护状态,这就意味着大大降低卷文件出现数据残缺的风险。
存储器管理界面
7、共享文件夹管理界面的改进
在WindowsServer2008的故障转移群集中,查看和配置共享文件的界面得到了一定的改善。
配置更加简单,而出现错误的可能性减小。
它允许管理员使用基于访问的目录枚举来对前端用户隐藏指定的文件夹。
前端用户不但无法对该文件夹进行存储操作,而且也看不到该文件夹的内容。
群集文件夹的配置跟可以非群集文件夹的配置是一样的,而且还允许象非群集文件夹一样,对群集文件夹进行脱机访问。
无论是使用故障群集转移界面,Windows浏览器或者是共享和存储管理单元,WindowsServer2008都会先确认是否已经有一个磁盘被指定为群集存储器。
如果已经存在这样的一个磁盘,并且已经在故障转移群集管理器中被配置为群集文件服务器,那么管理员就可以在之前所提到的界面上将该磁盘设置为共享。
如果没有这样的磁盘的存在,但管理员却强制设置一个非法的磁盘为共享,那么就会出现一个错误操作提示必须先把该磁盘设置为群集文件服务器。
WindowsServer2008文件服务器还提供网络系统文件服务(NFS)的可选任务服务。
通过为NFS安装任务服务和为该服务配置共享文件夹,可以创建一个支持基于UNIX客户端的群集文件服务。
存储器管理界面
8、网络和安全的改进
WindowsServer2008故障群集转移网络方面的改进主要有完全支持IPv6协议来进行点对点和点对客户端的连接。
使用域名系统(DNS),消除了之前的NetBIOS的相关性。
这简化了服务器信息块(SMB)的传送量,意味着不再需要WindowsInternet命名服务(WINS)和NetBIOS名字解析广播。
经过改进之后的网络允许管理员调整网络名称和与之相连接的IP地址的相关性。
因此只要任一个IP地址(而不是两个都是)可用,那么网络名称就是可用的。
而且传输节点的和“心跳信号”(主要是用来确保每个节点的可用性)的接收,用的是传输控制协议(TCP),而不是可靠性相对较低的用户数据报协议(UDP),这些都大大加大了网络传输的可靠性。
把群集服务器放置在不同的IP子网中,这就降低了对那些地理上相对分散的群集的要求。
WindowsServer2008允许把群集服务器放置在不同的IP子网中,这就扩大了网络的连接范围,群集中的服务器在地理位置上可以相对分散。
故障转移群集的网络管理界面
故障转移群集的安全日志
那么创建WindowsServer2008故障转移群集,需要做什么改动吗?
如果准备安装WindowsServer2008的机子已经有了一个运行WindowsServer2003服务器群集的应用程序,而且该应用程序依靠群集服务帐号(服务器群集所必备的条件),那么可能需要修改应用程序,让它不在依靠帐户。
WindowsServer2008的故障转移群集不使用分离的群集服务帐户。
此外,仔细检查准备配置故障转移群集的硬件设备,确保它跟WindowsServer2008是兼容的。
这一步对于那些当前正在使用WindowsServer2003的服务器群集的设备是极其重要。
因为支持WindowsServer2003的故障转移群集的硬件设备并不一定就支持WindowsServer2008。
而且无法通过滚动升级,从WindowsServer2003的服务器群集升级到WindowsServer2008故障转移群集。
然而,在创建了WindowsServer2008的故障转移群集之后,可以参考使用向导,将WindowsServer2003服务器群集的一些资源迁移到故障转移群集中。
最后,还有一点需要注意,上述所说的故障转移群集的新特征并不是对所有的WindowsServer2008版本都适用的。
它们只适用于WindowsServer2008企业版和数据中心版,对WindowsWebServer2008和WindowsServer2008标准版并不适用。
三、WindowsServer2008R2故障转移群集
1、WindowsPowerShell为故障转移群集提供cmdlets
WindowsPowerShell是一种新的命令行壳程序和脚本技术。
该脚本使用一致的语法规定,跨越WindowsServer2008R2的作用和功能来命名模式。
故障转移群集新的cmdlets提供了编写群集配置和管理任务脚本的强有力的方法。
WindowsPowerShellcmdlets最终将会取代Cluster.exe命令行界面。
如果使用ServerCore在WindowsServer2008R2中安装故障转移群集,那么故障转移群集的WindowsPowerShellcmdlets将会大大简化群集的本地管理。
WindowsPowerShell
2、群集共享卷
使用群集共享卷,可以减少虚拟机所需要的LUN(磁盘)的数量,不再需要为每台虚拟机都配置一个LUN。
(以前,推荐配置是每台虚拟机都需要一个LUN,因为LUN是群集的基本单元)。
多台虚拟机可以使用同一个LUN。
即使群集中有一台虚拟机发生了故障,也不会对使用同一个LUN的其他虚拟机造成任何影响。
此外,能够提高磁盘空间利用率。
不再需要为每个虚拟硬件磁盘(VHD)文件单独配置独立的磁盘空间。
原本只能被指定VHD文件占用的空前现在LUN中的任一VHD文件占用。
使用群集共享卷还可以追踪VHD文档和其他虚拟机使用文档的路径,任意指定路径的名称,而不仅仅局限于驱动器盘符(只有字母表中的二十六个字母)或者是GUID标识符(这些标识符一般非常复杂,难于记忆)。
由于使用的LUN数量越少,确认操作的速度就越快,所以如果使用群集共享卷来创建一个支持多个群集虚拟机的配置,那么其执行验证的速度要比使用多个LUN来支持多个群集虚拟机时快得多。
而且使用共享卷只要满足群集存储器的基本要求即可,对硬件没有其他特殊的要求(除了群集共享卷需要设置为NTF格式)。
群集共享卷还能提供群集的弹性。
即使一个节点与SAN的连接出现中断或者一部分网络出现堵塞,群集也能准确地做出相应的响应。
群集在这种情况下会调整群集共享卷的传输,转移到运作正常的SAN和网络上。
群集共享卷
3、群集验证的新测试
群集验证向导原有的功能是在整套购买群集之前,测试服务器群,网络和连接的存储器。
另外还在群集的某些方面(比如服务器)发生变化时进行重新测试群集。
新添加的测试叫做群集配置测试。
它们用来检查在群集中已经确定的设置,譬如群集跟合适的网络之间相互连接的设置。
此外,还可以使用群集配置测试(ClusterConfigurationtests)来审查和归档你的群集服务器和应用程序的设置(包括每台群集服务器或者应用程序的资源配置)。
这些新的测试,可以让管理员在错误发生之前,调整群集配置,监控配置和推测配置可能出现故障,从而优化配置。
4、支持任意添加新的群集服务器
在WindowsServer2008R2故障转移群集中,可以任意添加服务器和应用程序。
添加的方法可以预先在故障转移群集中进行配置,也可以通过远程桌面连接代理和DFS复制立刻进行配置。
远程桌面连接代理(曾又名终端服务会话代理)支持会话负载平衡和在负载平衡远程桌面服务器中进行会话重接。
RDConnectionBroker同时也可以用来帮助用户通过RemoteApp和DesktopConnection进入RemoteApp程序和虚拟桌面。
而DFS复制是一个高效,多主的复制引擎。
它可以在服务器跟有限带宽网络连接时,保持文件夹的同步,这样就可以在复制群中任意添加成员服务器。
为群集间设置的迁移提供更多的选项
故障群集转移单元MigrationWizard为群集间设置的迁移提供更多的选项。
MigrationWizard允许在WindowsServer2003,WindowsServer2008和WindowsServer2008R2的群集之间进行设备迁移。
除了可以从文件服务器,动态主机,配置协议(DHCP),通用应用,通用脚本,通用服务器,WINS服务器这些资源组中进行设置迁移之外,WindowsServer2008R2的MigrationWizard还可以从分布式文件系统Namespace(DFS-N),分布式事务处理协调器(DTC),互联网存储名字服务器(iSNS),消息队列(又名MSMQ),网络文件系统(NFS),其他服务器(只适用于客户端访问点和存储器)和远程桌面连接代理这些资源组进行设备迁移。
5、虚拟机节点间的迁移
在WindowsServer2008R2中,虚拟机从现处节点转移到另一个节点时,能够尽量避免客户端的中断或者保持连接。
虚拟机节点间的转移一般通过实时迁移和快速迁移来实现。
当启动实时迁移时,群集就将该虚拟机的内存从当前节点复制到另一个节点,以便虚拟机节点成功迁移之后,内存和状态信息可以立刻到位。
由于转移的速度非常快,以至客户端感觉不到虚拟机与网络之间连接曾发生过中断。
如果使用群集共享卷,那么实时迁移几乎是瞬间就能完成,因为使用群集共享卷就不需要进行磁盘所有权的转让。
当启动快速迁移时,群集将该虚拟机正在使用的内存复制到存储器的一个磁盘中。
当节点成功转移之后,已经转接了使用权的节点就可以快速地从磁盘中读取内存和状态信息。
值得注意的是,实时转移和快速迁移都只能用于计划好的维护,对突发的故障转移并不适用。
但对实时迁移来说,对于一给定的运行Hyper-V的服务器,在给定时间内只有一个实时迁移处于进程中。
比如,如果有一个四节点的群集,最多只有两个实时迁移能同时运作(在每个实时迁移包括的节点都不相同的情况下)。
但可以同时使用快速迁移转移多台虚拟机。
那么创建WindowsServer2008故障转移群集,又需要做什么改动吗?
如果应用程序或者服务器上已经运行了WindowsServer2008的群集,那么不需要修改任何代码就可以在应用程序或者服务器上运行WindowsServer2008R2群集。
如果已经有了基于Cluster.exe脚本,那么可以在WindowsServer2008R2中继续使用它们。
但是最好用WindowsPowerShellcmdlets重写一下脚本。
在未来的版本,WindowsPowerShell将会是故障转移群集唯一适用的命令行界面。
此外,跟创建WindowsServer2008故障转移群集一样,也要仔细检查准备配置故障转移群集的硬件设备,确保它跟WindowsServer2008R2是兼容的。
而且无法通过滚动升级,从WindowsServer2003的服务器群集或者WindowsServer2008故障转移群集升级到WindowsServer2008故障转移群集。
然而,在创建了WindowsServer2008R2的故障转移群集之后,可以参考使用向导,将WindowsServer2003服务器群集或者WindowsServer2008故障转移群集的一些资源迁移到故障转移群集中。
最后,跟WindowsServer2008故障转移群集类似,上述所说的故障转移群集的新特征并不是对所有的WindowsServer2008R2版本都适用的。
只适用于WindowsServer2008R2企业版和WindowsServer2008R2数据中心,不适用WindowsWebServer2008R2和WindowsServer2008R2标准版。