为何写这篇文章,主要是由于考虑到群集上更换存储的状况,例如原来的存储发生太小故障,担忧数据丢失,必须将群集中的存储换成一个新的存储。因而就搭了个实验环境验证一下实施过程。本环境是基于Windows server 2003+SQL Server 2005的环境。后面会上一篇Windows Server 2008+ SQL Server 2008的相关文档。html
仲裁磁盘中记录有仲裁信息,以下图所示:sql
而数据盘中存放的有系统数据库等信息,以下图所示:数据库
最关键的就是这S盘中的信息。windows
首先:存储为上新的仲裁盘和数据盘划分好LUN,并映射到两个节点上。两个节点上都能看到相同的磁盘信息。ide
先在一个节点上进行分区,格式化等操做,为了与早期的仲裁及数据盘区分开,在此仲裁为P盘,数据为T盘,另外一个节点上从新扫描便可,不须要从新启动,而后添加盘符,以下图所示:工具
更换群集中的仲裁磁盘:sqlserver
第一步,咱们先将仲裁磁盘加入到群集组中,以下图所示,其余操做默认。性能
而后,编辑Windows群集的属性,仲裁---指定新的仲裁磁盘便可。以下图所示:spa
注意:如何由于仲裁磁盘不可用而没法启动群集服务,请使用 /FIXQUORUM 开关启动群集服务。而后,便可以更改仲裁磁盘。以下图所示:3d
此命令只是在群集由于仲裁缘由没法启动的时候使用,成功设置仲裁磁盘后,删除此参数,再从新启动群集服务。而后能够删除原来的仲裁盘,或者是保留用做备份。
更换群集中的数据磁盘
首先,把新的数据盘加入到SQL Server资源组中,以下图所示,其余默认。
接下来,须要让SQL Server服务可以识别到此磁盘,这里取决于SQL Server的依赖关系,以下图所示,将新的磁盘加入到依赖关系中,仔细检查SQL Server相关服务的依存关系,我这里用到SQL Server Fulltext和SQL Server服务,注意,服务要先脱机,再添加资源依存,而后服务再联机。
此时,SQL Server就能够识别到新添加的磁盘了,能够进行数据的备份等操做了。 以下图所示:
而后,就是复制数据,将S:盘中的全部数据复制到T:。
具体操做步骤是:
1. 只保证一个节点开机,其余节点关机,目的是让全部的磁盘资源都切换到一个节点上。便于操做。
2. 中止SQL Server服务,不然,没法复制文件。
由于S盘中存放的是数据库的内容,必须停机后才能进行复制。根据数据量和存储性能时间不等。全部内容,全选复制。
紧接着,修改磁盘盘标:
一、打开磁盘管理器,查看全部的磁盘均被识别,并记录磁盘编号,以下图所示:
原有仲裁盘为磁盘1,原有的数据库为磁盘2,新的仲裁盘为磁盘3,新的数据盘为磁盘4.
二、打开注册表,找到如下位置:
HKLM/System/CurrentControlSet/Services/Clusdisk/Parameters/Signatures的键值,找到全部的原存储共享磁盘数字编号
这里,咱们主要是记录原有数据盘的编号,磁盘2,对应的是7FE3E998。
三、将原有的数据磁盘的编号与新的磁盘对应起来,也就是更改磁盘签名。
但无奈没有找到dumpcfg.exe命令,这个命令应该是包括在Windows 2000的资源工具包里,但实在是不在好找,我就偷个懒,直接修改注册表了。(强烈建议使用dumpcfg.exe命令操做),不知道直接修改注册表,有什么隐患,但愿有知道的朋友给说明一下,或者告诉我哪儿能够下载到dumpcfg.exe程序。
修改依存关系:
而后,启动全部节点,删除原有数据盘S盘,(删除资源时必需要求全部节点都开机)
紧接着,其余节点再次关机,只保留一个节点开机,修改新数据盘的盘符为S盘。
而后,此节点关机,再开启第二个节点,查看盘符是否为S:若是不是,则须要修改一致。而后,全部节点开机。
最后,再将SQL Server服务和代理服务联机,便可,以下图所示:
至此,操做就操做。
群集中的其余存储更换,方法同样。都是先加入到群集中后,修改磁盘信息(签名)。例如,存在MSDTC资源的话,也是一样的操做方法,将新的磁盘加入到群集中,中止服务,将源盘的数据复制到新盘中,修改磁盘签名,删除源磁盘,修改盘符。启动服务,OK.
另外,须要注意:
或者有些状况下须要将SQL Server service account 添加到SQL Server 文件夹和OLAP 文件夹,而且让SQL Server service account有该文件夹的全部权限。
参考:http://tech.diannaodian.com/dw/data/sql/2012/0610/181991.html
通过实验,微软给出的操做是经过dumpcfg.exe命令 更新磁盘签名,但不用好像也能够。若是是关于SQL Server 2008的环境,能够参考下面的讨论:
http://social.microsoft.com/Forums/cs-CZ/24e3cbf1-43af-412d-909a-1a68c72fe527/windows-2008-server-r2-