SQL Server 2005群集更换存储

简介:

为什么写这篇文章,主要是因为考虑到群集上更换存储的情况,例如原来的存储发生过小故障,担心数据丢失,必须将群集中的存储换成一个新的存储。于是就搭了个实验环境验证一下实施过程。本环境是基于Windows server 2003+SQL Server 2005的环境。后面会上一篇Windows Server 2008+ SQL Server 2008的相关文档。

仲裁磁盘中记录有仲裁信息,如下图所示:

image

而数据盘中存放的有系统数据库等信息,如下图所示:

image

最关键的就是这S盘中的信息。

首先:存储为上新的仲裁盘和数据盘划分好LUN,并映射到两个节点上。两个节点上都能看到相同的磁盘信息。

image

先在一个节点上进行分区,格式化等操作,为了与早期的仲裁及数据盘区分开,在此仲裁为P盘,数据为T盘,另一个节点上重新扫描即可,不需要重新启动,然后添加盘符,如下图所示:

imageimage

 

更换群集中的仲裁磁盘:

第一步,我们先将仲裁磁盘加入到群集组中,如下图所示,其他操作默认。

image

然后,编辑Windows群集的属性,仲裁---指定新的仲裁磁盘即可。如下图所示:

imageimage

注意:如何因为仲裁磁盘不可用而无法启动群集服务,请使用 /FIXQUORUM 开关启动群集服务。然后,便能够更改仲裁磁盘。如下图所示:

image

此命令只是在群集因为仲裁原因无法启动的时候使用,成功设置仲裁磁盘后,删除此参数,再重新启动群集服务。然后可以删除原来的仲裁盘,或者是保留用作备份。

 

更换群集中的数据磁盘

首先,把新的数据盘加入到SQL Server资源组中,如下图所示,其他默认。

image

接下来,需要让SQL Server服务能够识别到此磁盘,这里取决于SQL Server的依赖关系,如下图所示,将新的磁盘加入到依赖关系中,仔细检查SQL Server相关服务的依存关系,我这里用到SQL Server Fulltext和SQL Server服务,注意,服务要先脱机,再添加资源依存,然后服务再联机。

imageimage

此时,SQL Server就可以识别到新添加的磁盘了,可以进行数据的备份等操作了。 如下图所示:

image

然后,就是复制数据,将S:盘中的所有数据复制到T:。

具体操作步骤是:

1. 只保证一个节点开机,其他节点关机,目的是让所有的磁盘资源都切换到一个节点上。便于操作。

2. 停止SQL Server服务,否则,无法复制文件。

image

因为S盘中存放的是数据库的内容,必须停机后才能进行复制。根据数据量和存储性能时间不等。所有内容,全选复制。

image

紧接着,修改磁盘盘标:

1、打开磁盘管理器,查看所有的磁盘均被识别,并记录磁盘编号,如下图所示:

image

原有仲裁盘为磁盘1,原有的数据库为磁盘2,新的仲裁盘为磁盘3,新的数据盘为磁盘4.

2、打开注册表,找到以下位置:

HKLM/System/CurrentControlSet/Services/Clusdisk/Parameters/Signatures的键值,找到所有的原存储共享磁盘数字编号

image

这里,我们主要是记录原有数据盘的编号,磁盘2,对应的是7FE3E998。

image

3、将原有的数据磁盘的编号与新的磁盘对应起来,也就是更改磁盘签名。

但无奈没有找到dumpcfg.exe命令,这个命令应该是包括在Windows 2000的资源工具包里,但实在是不在好找,我就偷个懒,直接修改注册表了。(强烈建议使用dumpcfg.exe命令操作),不知道直接修改注册表,有什么隐患,希望有知道的朋友给说明一下,或者告诉我哪儿可以下载到dumpcfg.exe程序。

image

修改依存关系:

imageimage

然后,启动所有节点,删除原有数据盘S盘,(删除资源时必须要求所有节点都开机)

image

紧接着,其他节点再次关机,只保留一个节点开机,修改新数据盘的盘符为S盘。

image

然后,此节点关机,再开启第二个节点,查看盘符是否为S:如果不是,则需要修改一致。然后,所有节点开机。

最后,再将SQL Server服务和代理服务联机,即可,如下图所示:

image

至此,操作就操作。

群集中的其他存储更换,方法一样。都是先加入到群集中后,修改磁盘信息(签名)。例如,存在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-

http://social.msdn.microsoft.com/Forums/zh-CN/c263cd5c-1b2b-48e3-95df-96805bc1e579?forum=sqlserverzhchs

 

 







 本文转自 dufei 51CTO博客,原文链接:http://blog.51cto.com/dufei/1530567,如需转载请自行联系原作者


相关文章
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
1067 13
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
774 9
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
467 6
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
1572 3
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
1550 1
|
SQL 关系型数据库 分布式数据库
PolarDB产品使用问题之如何迁移SQL Server
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
372 6
|
SQL 存储 测试技术
|
SQL 存储 安全
数据库数据恢复—SQL Server数据库出现逻辑错误的数据恢复案例
SQL Server数据库数据恢复环境: 某品牌服务器存储中有两组raid5磁盘阵列。操作系统层面跑着SQL Server数据库,SQL Server数据库存放在D盘分区中。 SQL Server数据库故障: 存放SQL Server数据库的D盘分区容量不足,管理员在E盘中生成了一个.ndf的文件并且将数据库路径指向E盘继续使用。数据库继续运行一段时间后出现故障并报错,连接失效,SqlServer数据库无法附加查询。管理员多次尝试恢复数据库数据但是没有成功。

热门文章

最新文章