Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1124404
  • 博文数量: 251
  • 博客积分: 8431
  • 博客等级: 中将
  • 技术积分: 2699
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-22 16:24
文章分类

全部博文(251)

文章存档

2016年(2)

2015年(5)

2014年(4)

2013年(10)

2012年(8)

2011年(14)

2010年(20)

2009年(33)

2008年(51)

2007年(104)

分类: 数据库开发技术

2007-11-14 05:41:25

Microsoft群集服务(Microsoft Clustering Services,MSCS)来管理服务器。本文将详细讲解如何安装SQL Server 2000 故障转移群集,要求读者应了解Windows2000群集(可参阅《Windows & .NET Magazine国际中文版》2003年4月刊 “建立在Vmware下的群集解决方案”),通过本文,你对SQL Server 2000 故障转移群集将有个深刻的了解。]

 Microsoft SQL Server2000 企业版中,SQL Server 2000 故障转移群集支持高度可用性。例如,在操作系统发生故障或执行计划的升级时,可配置故障转移群集以转移到故障转移群集配置中的任何其它节点。这样,可以将系统停机时间减到最少,从而提供高度的服务器可用性。请注意SQL Server2000 标准版是不支持群集功能,只有企业版才支持群集功能。

在没有了解Windows的群集,是不能正确地理解SQL Server的群集。如果不能正确地群集Windows,SQL  Server环境就会不稳定。在创建 Microsoft SQL Server 2000 故障转移群集之前,必须配置 Microsoft 群集服务 (MSCS) 并使用 Microsoft Windows NT4.0 或 Windows2000 中的群集管理员创建至少一个群集磁盘资源。在运行 SQL Server 安装程序之前,在群集管理员中记下群集驱动器的位置,因为创建新的故障转移群集需要该信息。

接下来,我将展示如何安装配置SQL Server 2000 故障转移群集,假设已经配置好Windows2000集群。在开始安装之前,请确保Windows系统和应用程序事件日志中没有错误。如果没有发生任何严重的错误,就可以继续进行安装。

安装MS DTC
SQL Server安装的第一步是安装MS DTC作为群集资源。因为SQL Server 2000 在群集中执行分布式查询、两阶段提交事务以及某些复制功能时,都需要 Microsoft 分布式事务处理协调器 (MS DTC)。安装 Microsoft Windows2000 并配置群集之后,必须在所有节点上运行群集向导(comclust.exe 程序)以配置 MS DTC 在群集模式下运行。到第一个节点上的命令提示符并键入COMCLUST,如图1(图1:执行COMCLUST)所示。这将把 MS DTC 资源在包含共享群集磁盘资源和网络名称资源的资源组中,在第一个节点执行这个命令之后,在其它节点上重复相同的步骤。

定义虚拟服务器
安装SQL Server 2000 故障转移群集安装的大部分过程都与你以前见过的SQL Server安装相似。不过你会注意到几个不同的屏幕。例如,一旦进入安装向导,在"Microsoft SQL Server 安装向导"的"欢迎"屏幕中,单击"下一步"按钮,看到的第一个屏幕是"计算机名称"屏幕。如图2(图2:命名SQL Server虚拟服务器)这与以前非常相似,不过这次你将选择“虚拟服务器”选项,并输入虚拟服务器名称,单击"下一步"按钮。应用程序将在连接到SQL Server时使用该名称而不是使用物理服务器名称,它必须是网络中的惟一名称。接下来在“用户信息”屏幕上,输入用户名和公司名。单击“下一步”按钮。在“软件许可协议”屏幕上,单击“是”按钮。

在“故障转移群集”屏幕上,为虚拟服务器可由公共通信网络上的客户端访问使用的网络输入一个虚拟IP地址,如图3(图3:向SQL Server虚拟服务器指派虚拟IP地址)单击“添加”按钮。然后单击“下一步”按钮。

选择群集磁盘
在“群集磁盘选择”屏幕中,选择用来保存SQL Server的数据文件的群集磁盘。如图4(图4:为SQL Server选择保存数据文件的群集磁盘)。确保不要选择仲裁磁盘即Quorum磁盘(仲裁磁盘Quorum盘为集群保存着处理日志和集群状态信息。)单击"下一步"按钮。

如果选择"群集磁盘选择"屏幕上的仲裁磁盘,将出现下面的警告信息。该警告信息在 Windows NT4.0 和 Windows2000 中都会出现。因为在 Windows 操作系统中,仲裁磁盘是一种特殊的资源。如果选择仲裁磁盘,以后可能会限制 SQL Server对群集节点子网的所有权。但是,仲裁磁盘组的所有者列表必须包括群集中所有节点。 例如,在Windows NT 4.0可能存在一个双节点群集(节点 1 和节点 2),SQL Server 设置为使用仲裁磁盘组。如果后来将 SQL Server 修改成在虚拟服务器定义中只有节点 1,则仲裁磁盘组将无法进行到节点 2 的故障转移。在节点 1 的故障事件中,不仅丢失了虚拟 SQL Server,还丢失了整个 MSCS 群集。 而在 Windows 2000 中,节点列表被忽略,仲裁磁盘组总能够故障转移到群集配置的任何节点上。但是,另一个问题又产生了。在前面的例子中,节点 2 上没有可用的 SQL Server 程序文件,但群集组可以进行到节点 2 的故障转移。在这种情况下,SQL Server 无法在节点 2 上运行,而包含仲裁磁盘的群集组总能进行故障转移,结果使 SQL Server 无法使用。所以强烈建议不要在 SQL Server 上使用仲裁磁盘。

定义SQL Server群集管理节点
在“群集管理”屏幕中,查看 SQL Server 2000 所提供的群集定义。默认情况下,选定所有可用节点。删除不属于正创建的虚拟服务器群集定义的任何节点。如图5(图5:定义谁是该SQL Server实例的可能拥有者),单击“下一步”按钮。

输入群集管理员帐户
在“远程信息”屏幕中,在这个屏幕上,你将指定想要使用哪个帐户在群集节点之间复制文件。请确保该帐户在群集节点上都有管理员特权。如图6(图6:指定群集帐户在节点间复制文件),单击“下一步”按钮。

在这个屏幕之后是以前在安装SQL Server的过程中看到的标准屏幕。在“实例名称”屏幕中,选择默认实例或指定命名实例。若要指定命名实例,请先清除“默认”复选框,然后输入命名实例的名称。如图7(图7:选择实例名称),单击"下一步"按钮。 记住不能将实例命名为 DEFAULT 或 MSSQLSERVER,我这里选择默认实例。在“安装类型”屏幕中选择要安装的安装类型。SQL Server 2000 可执行文件安装在故障转移群集中每一节点的本地磁盘驱动器上,数据文件放置在先前所选的群集组中的第一个可用群集磁盘资源。如图8(图8:指定安装类型和目的文件夹)不过,如果需要指定另一个群集驱动器资源,可在“数据文件”下单击“浏览”按钮,然后指定群集驱动器资源的路径。安装程序将要求选择群集驱动器资源,该资源为正在运行安装程序的节点所拥有。该驱动器也必须是先前所选的群集组成员。单击“下一步”按钮。

其余的屏幕都是标准的安装向导屏幕。在“服务帐户”屏幕上,选择要在故障转移群集中运行的服务帐户。单击“下一步”按钮。在“身份验证模式”对话框中,选择要使用的身份验证模式。如果将选择内容从“Windows 身份验证模式”变为“混合模式(Windows 身份验证和 SQL Server 身份验证)”,则需要输入并确认 sa 登录密码。在“开始复制文件”屏幕上,单击“下一步”按钮,如图9(图9:SQL Server正处于在两个节点上安装过程中),这表明SQL Server正处在两个节点上安装SQL Server的过程中。 你可以在第二个节点上打开资源管理器,查看正在被复制到该服务器上的指定目录的文件。这会为以后提供一个有用的安装诊断技巧。例如,如果安装失败,而起没有在远程服务器上看到任何文件,你就可以得出可能存在网络通信问题或文件共享问题的结论。安装完成后,可能会指示重新启动计算机,则立即这样做。完成安装后,阅读来自安装程序的消息是很重要的。未能重新启动任何指定的节点可能导致将来在故障转移群集中的任何节点上运行安装程序失败。

安装后配置
在安装SQL Server之后,群集管理器将类似图10(图10:群集管理器)。你将看到用于SQL Server虚拟IP地址,SQL Server网络名称和各种SQL Server服务的群集资源。默认情况下,如果群集资源失败,它将影响整个组,如果不想出现服务(如SQL Server全文检索或 SQL Server 代理)失败导致故障转移,请使用群集管理器配置这些服务。例如,若要防止全文检索服务失败导致 SQL Server 的故障转移,请清除“SQL Server全文检索属性”对话框的“高级”选项卡上的“影响组”复选框。如图11所示(图11:SQL Server全文检索高级资源选项),“阀值”和“周期”选项指定在选中“影响组”选项的情况下,在故障转移之前的给定周期(默认为900秒)内,资源将在现有节点上进行启动的尝试次数(默认为3次)。群集组还有些值得注意的属性。如“故障恢复”选项卡指定故障恢复策略。如图12所示(图12:资源组的“故障恢复”选项卡)。故障恢复本质是指群集组将在首选节点可用时恢复到首选节点。一般默认设置为“阻止故障恢复”。因为在把主节点上的资源恢复联机之前,你需要手动诊断主节点失败的原因。如果选择“允许故障恢复”选项,你可以指定是想立即进行故障恢复,还是在给定的时间之后进行故障恢复。

故障转移群集使用问题FAQ
1.问:SQL Server 2000 在迁移到另一个节点后无法登录网络? 
答:SQL Server 服务帐户密码在所有节点上必须一致,否则该节点无法重新启动从某故障节点迁移的 SQL Server 服务。 如果更改其中一个节点的 SQL Server 服务帐户密码,也必须更改所有其它节点上的密码。但是,如果使用 SQL Server 企业管理器更改帐户,该任务将自动完成。
2.问:SQL Server 无法访问群集磁盘?
答:如果共享群集磁盘使用不同的驱动器号,则节点将不能恢复从失败节点迁移过来的群集磁盘。两台服务器上的群集磁盘的磁盘驱动器号必须相同。如果不相同,请检查操作系统和 Microsoft 群集服务 (MSCS) 的原始安装。
3.问:不想出现服务(如全文检索或 SQL Server 代理)失败导致故障转移?
答:若要防止特定服务失败导致 SQL Server 组故障转移,请使用 Windows NT 4.0 或 Windows 2000 中的群集管理器配置这些服务。例如,若要防止全文检索服务失败导致 SQL Server 的故障转移,请清除“全文属性对话框”的“高级”选项卡上的“影响组”复选框。但是,如果 SQL Server 导致故障转移,则全文检索服务将重新启动。 
4.问:SQL Server 不自动启动? 
答:使用 SQL Server 无法自动启动故障转移群集。在 MSCS 中必须使用群集管理器自动启动故障转移群集。 
5.问:SQL Server 安装过程中出现错误信息“找不到兼容的资源组”? 
答:该错误是由 Windows NT 4.0 企业版上的 Microsoft 分布式事务处理协调器 (MS DTC) 安装程序造成的。在运行安装程序时,MS DTC 要求本地节点拥有一个包含网络名称、IP 地址和共享群集磁盘的组。如果出现该错误,请打开群集管理器,确定本地节点拥有一个满足上述要求的组。进行此操作的最简单的方法是将一个磁盘移动到已包含网络名和 IP 地址的群集组中。在本地节点上有该分组后单击"重试"按钮。
6.问:安装过程中出现错误信息“此虚拟服务器可用的所有群集磁盘为其它节点所有”? 
答:在为安装数据文件选择驱动器和路径,而所选择的驱动器不为本地节点所拥有时会显示此消息。使用群集管理器将该磁盘移动到本地节点中。
7.问:不能启用群集操作系统错误日志? 
答:MSCS 使用操作系统群集错误日志记录有关该群集的信息。使用该错误日志调试群集配置问题。若要启用群集错误日志,请设置系统环境变量 CLUSTERLOG= to file>(例如,CLUSTERLOG=c:\winnt\cluster\cluster.log)。在 Windows 2000 中,默认情况下该错误日志为打开状态。
8.问:若需要在复制中采用具有高可用性的服务器,该注意的地方?
答:建议在故障转移群集上配置分发服务器时将 MSCS 群集文件共享用作快照文件夹。一旦服务器出故障,分发数据库将可用,并且可在分发服务器上继续配置复制。 此外,创建发布时,应为其它快照文件的存储指定 MSCS 群集文件共享或将其指定为订阅服务器应用快照的位置。这样,快照文件就可用于群集的所有节点和必须访问该群集的所有订阅服务器。有关更多信息,请参见发布服务器、分发服务器和订阅服务器和备用快照位置。
9.问:如何在故障转移群集中使用加密?
答:如果想要在故障转移群集中使用加密,则必须在故障转移群集中所有节点上安装服务器证书,该证书应带有虚拟服务器的完全限定的 DNS 名称。例如,如果具有一个双节点的群集(节点名称分别为 test1.redmond.corp.microsoft.com 和 test2.redmond.corp.microsoft.com)和一个虚拟 SQL Server“Virtsql”,则需要获得“virtsql.redmond.corp.microsoft.com”的证书,并在两个节点上都安装该证书。然后可以选取该 Server 网络实用工具中的"强制协议加密"复选框,配置您的故障转移群集使用加密。
阅读(2914) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~