更换Cluster磁盘阵列导致1034错误的解决

 用户情况:

 

1.Windows Server 2003集群上安装有两个SQL Server 虚拟服务器

2.SQL采用主动/主动工作方式,原有两个磁盘阵列划分为QME盘符和F盘符(该磁盘划分是根据现场情况分析得出,客户已经无法回忆当初的设置)

3.Q为仲裁盘,EF分别为两个SQL实例的数据共享盘,MDTC

4.客户将几个共享磁盘的数据都复制到了新的阵列上面,然后将新的阵列连接到了cluster上,再启动服务器后,发现阵列不能被识别,Cluster Service停止

5.错误事件代码为1034,该错误在微软KB280425中有描述:

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

6.新的磁盘阵列可以在集群中被识别,在磁盘管理中可以看到4个磁盘

 

 

用户要求:

 

尽快识别新的磁盘阵列,将集群服务启动起来

完成数据库文件的迁移,并启动数据库

 

 

操作过程:

 

第一阶段:完成数据库文件复制

1.将新的磁盘阵列连接到其他服务器,设置共享,保证在集群服务器上可以访问

2.将集群上的SQL Server停掉,然后复制磁盘上的数据到新阵列的对应盘符

3.该操作花费2个小时(数据量大概140G左右)

 

第二阶段:修复1034错误

1.将新的磁盘阵列安装到群集上并启动主节点(保持另一个节点仍然关闭状态),用管理员账号登录

2.打开事件查看器查看event id1034的日志,记录日志中描述的盘符和磁盘数字签名:QBF1C7B07

3.打开磁盘管理器,查看所有的磁盘均被识别,并记录磁盘编号为Qdisk4Mdisk3Edisk1Fdisk2

4.打开注册表编辑器,查看

HKLM/System/CurrentControlSet/Services/Clusdisk/Parameters/Signatures的键值,记录所有的磁盘数字编号:BF1C7B07BF21A145

5.初步判断Q盘数字签名为BF1C7B07F盘数字签名为BF21A145

6.使用dumpcfg.exe工具进行修复(该工具包含在微软Windows 2000 Resource Kit tools中),运行命令:

dumpcfg -S BF1C7B07 4

dumpcfg -S BF21A145 2

7.成功启动cluster service服务,启动另一个节点,通过failover检查

 

第三阶段:DTC服务无法启动

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

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

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

3.运行命令

msdtc –resetlog

net start msdtc

4.DTC服务可以正常启动

 

第四阶段:解决ME盘符和failover问题

1.修复了DTC服务问题后,又发现M盘和E盘可以在两个节点上同时访问,而在“我的电脑”中无法发现所有磁盘盘符

2.初步判断是由于原来阵列是由2个磁盘构成(QEM应该使用一个磁盘),而新阵列有4个磁盘,原有数字签名服务完全匹配现有磁盘,用dumpcfg.exe命令检查:ME盘没有磁盘数字签名

3.手动在磁盘管理器中创建盘符也无法解决该问题

4.重新创建物理磁盘资源ME,无法完成正常的failover

5.关闭一个节点,删除现有ME磁盘资源,重新创建后打开另一个节点,可以进行failover

6.failover后主节点可以访问磁盘,备用节点无法访问(正常)

 

 

操作结果:

 

1. 群集服务可以正常启动,并进行failover

2. 所有磁盘和资源可以进行failover,并正常访问

3. 迁移后的数据库工作正常,前台应用程序可以正常访问

posted on 2006-11-28 12:56  大智弱驴  阅读(1772)  评论(2编辑  收藏  举报

导航