因为有个项目要用到SQL群集,因此这两天都在研究sql server 2008 群集,之前对sql都不熟悉,更别说sql 群集,我只做过exchange20007 群集,相像中sql群集可能与exchange群集差不多。结果在测试安装过程中,发现完全不是一回事。之前Exchange2007 CCR 群集是AP群集,也不需要共享磁盘。但SQL 2008 群集则相反,它需要用到共享磁盘(嘿嘿,俺有MD3000i,不用那个什么模拟软件了)。 在网上查了N多资料,对sql 群集有点大概了解后就开始安装了。
首先介绍下测试环境(全部测试是在虚拟机中进行,但共享磁盘用MD3000i): 一台R610,用来安装Vmware esxi 4.0 另外一台MD3000i 用来做共享磁盘。在R610中安装三个虚拟机(一台是AD, 另外两台SQL的两个节点,所有OS都是英文win2008 sp2, SQL当然也是英文SQL2008 并且都是x64位 ),MD3000i中的设置共享磁盘的过程很简单。就不多说了。
按照文档一步一步往下走,先连接存储并设置群集这个过程没问题,然后安装sql群集,这个过程问题就多了。按正常步骤点击Setup.exe进行安装程,执行到检测SQL安装环境时检测到一个错误:"Rule 'Microsoft Cluster Service (MSCS) cluster verification errors'" failed.
The cluster either has not been verified or there are errors or failures in the verification report. Refer to KB953748 or SQL Server Books Online for more information.
根据提示查kb953748,然后按其提供的方法用命令行安装,执行命令:Setup /SkipRules=Cluster_VerifyForErrors /Action=InstallFailoverCluster。在第一个节点执行此命令能正常安装。
但是在第二个节点中执行此命令就不行了,在检测安装环境时始终提示:”cluster share disk available check failed ",可是很奇怪,share disk 已经在第二个节点中加载成功,能正常访问。应该不可能出现这个错误的。在网上也查了很多资料,自己也想了些办法都没有解决。没办法了,我只好全部重新来过,重新安装虚拟机,重新设置群集。我心想这样应该可以了吧。
了我N多时间重新安装后在图形界面下仍然无法正常安装,还是要用命令行安装。好在安装也能成功,但是在安装第二个节点时依旧出现先前相同的错误,这下可把我气得吐血了!!!!!真的无语了!!!看来也不一定是设置问题,也许是其他方面的问题。我又仔细看了看相关文档,想想自己在安装过程中的一些设置,并没有发现明显的错误。应该是其他原因.....,但也无法确定。
猛然想起sql20008群集对硬件要求很高,我连忙查看虚拟机设置,发现我只给虚拟机配置了1G内存,会不会是这个原因呢?不管这么多了,增加1G内存先。加大内存后,我又全部重新来过,重新安装虚拟机,重新设置群集,然后用图形界面安装,没想到这次没有出现先前的错误了,"Rule 'Microsoft Cluster Service (MSCS) cluster verification errors'" failed.就是这个错误没有出现了。很顺利的安装好了第一个节点。然后安装第二个节点时也很顺利,直接用图形界面就安装成功了。
接着进行群集转移测试,也都成功了。到此为止,SQL 20008群集总算是安装成功了。
后记:如果用物理机测试,如果刚开始直接给虚拟机分配多点内存,也许就不会有这么多问题了。还有在网上查到的资料不能过于依靠。有些资料也不能说错误,但也确实是有些关键内容没有说明,往往是这些遗漏的内容对你测试或解决问题有着重要作用。
整个测试过程基本是结束了,但对sql群集的了解还是太少了.....
有个问题还是不明白:分布协调事务的IP地址与 SQL群集IP地址是不是在同一网段内?我在一个老外的Blog中看到是不在同一个网段内,但在国内的一个Blog中看到又是在同一个网段内,包括我自己测试时,也是在同一个网段内。到底谁对谁错,也不知道。