1 使用现状

1.在四台Windows Server 2003服务器上(分别称服务器A、B、C、D)安装有四套SQL Server 虚拟服务器

2.SQL SERVER采用互备工作方式,原有磁盘阵列划分为Q、M、R、S、T、U盘符

3.Q为仲裁盘,M为MSDTC盘,R、S、T、U分别为四个SQL实例的数据共享盘

2 迁移说明

1、原来包括Q、M、R、S、T、U均在共享存储IBM DS4700上,现在由于设备使用年限的问题,需要全部迁移到新的日立存储HDS AMS200上

2、原有IBM存储连接服务器使用的SAN网络架构,多路径软件使用的是RDAC,更换完存储后使用的是多路径冗余软件HDLM

3、设备迁移完成后,确保所有设备正常,MSCS群集和SQL SERVER虚拟服务器正常

3 具体迁移步骤

3.1 连接共享存储

1、在HDS存储上划分六块同样大小或者不小于原来大小的LUN,

2、通过一条光纤线缆连接HDS存储到一台光纤交换机,通过在光纤交换机划分ZONE的方式确保不存在多路径的问题

3、在服务器A上找到新划分的六块磁盘,并分别格式化和赋予盘符V、W、X、Y、Z、P,这六个盘分别对应Q、M、R、S、T、U盘,但确保所有服务器能够看到该共享盘

3.2 迁移复制数据

1、将所有的主机除A外的三台分别关闭群集和Cluster服务,这样所有的磁盘均切换到了第一台主机上

2、将服务器A上所有SQL Server虚拟服务关闭,但online所有数据盘符R、S、T、U

3、将R、S、T、U上的数据复制到新的存储对应着的盘上,整个数据大约5T,拷贝了12个小时左右

3.3 迁移仲裁盘和MSDTC盘

1、关闭节点一上的群集服务

2、使用cluster.exe /fixquorum开关参数启动群集

3、此时必须以点号“.”来连接群集,由于此时所有群集服务均offline

4、使M、Q盘online

5、此时群集服务Online,所以MSDTC和Qorum盘均在线,将Q、M上的数据复制到新的存储对应着的盘上,这个数据量都很小,复制时间很短

3.4 修改磁盘盘标

1、打开磁盘管理器,查看所有的磁盘均被识别,并记录磁盘编号为Q:disk3,M:disk4,R:disk5,S:disk6,T:disk7,U:disk8

2、打开注册表编辑器,查看

HKLM/System/CurrentControlSet/Services/Clusdisk/Parameters/Signatures的键值,记录所有的原存储共享磁盘数字编号如:6A7B07,6A7B08,6A7B09,6A7B10,6A7B11,6A7B12

3、关闭第一台服务器的Cluster服务

4、在管理工具里的磁盘管理工具里找到V、W、X、Y、Z、P,在输出窗口找到分别对应到新加的磁盘和对应的磁盘编号,本例为9-14使用dumpcfg.exe工具进行修复(该工具包含在微软Windows 2000 Resource Kit tools中),运行命令:Dumpcfg.exe,

分别修改新加的磁盘的数字编号

dumpcfg -S 6A7B07 9

dumpcfg -S 6A7B08 10

dumpcfg -S 6A7B09 11

dumpcfg -S 6A7B10 12

dumpcfg -S 6A7B11 13

dumpcfg -S 6A7B12 14

3.5 卸载旧存储

1、通过拔除旧存储的光纤线缆或者通过修改旧存储的LUN映射,服务器上的旧存储盘卸载

2、卸载所有服务器上的RDAC多路径软件

3、将新的盘符V、W、X、Y、Z、P改为对应的原盘符Q、M、R、S、T、U

3.6 重新启动第一台服务器

记住必须要重新启动服务器,该项操作将会更新注册表,否则服务启动不正常

3.7 群集正常启动

服务器重新启动后,群集在第一台节点上正常启动

依次重启其它服务器,确保所有服务器上的群集正常

3.8 安装多路径软件

1、关闭所有服务器上的群集服务

2、连接多路光纤,确保在所有服务器上都能看到多块硬盘,如果是四条路径,则所有服务器应该可以看到6*4=24块存储硬盘

3、在所有服务器上安装多路径软件HDLM,确保所有服务器仅仅能够看到六块存储硬盘

3.9 重新启动服务器

这一步很重要,系统注册表将得到更新,群集能够寻到原存储盘和更新最新的盘编号

3.10 启动所有群集

所有群集系统能够根据磁盘数字签名找到共享存储盘,群集系统恢复正常

4 故障处理

4.1 DTC服务无法启动

1.在修复1034错误,成功启动cluster service后,发现集群资源中DTC服务器无法启动,根据错误提示找到

http://support.microsoft.com/kb/916926/en-us

2.在注册表HKLM/cluster/resources下找到DTC的GUID,然后授予network service帐号full权限

3.运行命令

msdtc –resetlog

net start msdtc

4.DTC服务可以正常启动

4.2 错误1722年时启动群集管理器

症状:

当您在运行 Microsoft 群集服务器的计算机上启动群集管理器时,可能会显示以下错误消息:

Windows NT 或 2000年,请执行以下操作:

不能打开到 clustername 在群集的连接。这可能导致群集服务没有启动的节点 clustername 上。要让群集管理器试图在节点 clustername 上启动群集服务吗?

如果单击 是 或 否 时,将显示以下错误消息:

若要打开 clustername 在群集时,出现了一个错误

RPC 服务器不可用。

错误 ID: 1722 (0000006ba)

Windows 2003: 节点名称上的群集服务不能启动。找不到网络路径。错误 ID:-2147024843 (80070035)

显示此错误消息后,不可能连接到群集使用 clustername (其中 clustername 群集服务器的名称)。

原因:

对于由于下列原因之一,就会发生此现象:

· 群集服务可能不会启动。

· 群集网络名称资源可能处于脱机状态。
"公用网络"上的网络适配器的参数会更改 (例如对于当您重新安装驱动程序、 更改了的 IP 地址或更改子网掩码),如果群集服务将识别为新的网络适配器。群集服务生成新的网络卡,并标记其"新网络群集。旧的公用网络不再存在,并且 clustername 和群集 IP 地址的 clustername 取决于不会联机。

注意公用网络是好记的名称与要连接到群集的网络客户端使用的接口相关联。因为它是可由用户定义的 Microsoft 群集服务器在安装过程中,此名称可能会在实际部署中不同。

解决方案:

若要解决此问题,使用适当的方法。

从群集的节点之一:

1. 启动群集管理器。

2. 当系统提示您连接到群集时,打开到群集的连接 对话框中键入一个句点 (.),然后单击 打开。此位置群集组处于脱机状态。

3. 单击群集组,然后单击群集 IP 地址。

4. 在 文件 菜单上单击 属性

5. 在 参数 选项卡上单击 新的群集网络要使用的网络 框中 (不再存在的公用网络),然后单击 确定

6. 单击群集 IP 地址。

7. 在 文件 菜单上单击 联机

现在,您可以将其余的资源联机。

 

如果您不能访问群集的节点之一:

1. 启动群集管理器。

2. 当系统提示您连接到群集时,打开到群集的连接 对话框中键入一个群集的节点的 NetBIOS 名称,然后单击 打开

3. 单击群集组,然后单击群集 IP 地址。

4. 在 文件 菜单上单击 属性

5. 在 参数 选项卡上单击 新的群集网络要使用的网络 框中 (不再存在的公用网络),然后单击 确定

6. 单击群集 IP 地址。

7. 在 文件 菜单上单击 联机

现在,您可以将其余的资源联机。

 

切记:

1、不要在一个节点不在线的时候,增加或删除资源,否则会导致节点配置不一致,群集出现灾难性后果

2、 不要随便编个群集磁盘标记,否则群集找不到磁盘,将出现灾难性后果,导致磁盘资源失败,最好是群集中加的磁盘标记互换,这样能够找到盘资源。