在上篇文章中,咱们讲了WSFC上层文件服务器应用数据磁盘的替换与升级,实际上咱们能够有好多个场景去适用这种替换方式,第一,扩容替换 ,就是咱们上篇所演示的那样,第二,坏损替换,事先文件服务器好的时候,把数据拷贝出来,某天突然群集数据磁盘坏了,直接插入新磁盘,把备份的内容还原进来,点击修复磁盘便可。
node
那么基于上篇文章提到的内容,本篇咱们再来看一种场景,针对于SQL Server群集应用,完整替换群集磁盘阵列,应该怎么处理。数据库
一个SQL群集会有仲裁磁盘,DTC磁盘,数据磁盘,甚至日志磁盘,咱们假设这些磁盘都来自同一个存储阵列,如今要所有换到另一个新的存储阵列,应该如何操做。服务器
首先,根据咱们上篇文章所提到的修复替换方法,能够参照下列流程操做分布式
新阵列分配LUN到群集节点ide
群集节点识别存储磁盘,联机,初始化,分区,分配非原群集磁盘临时盘符工具
首先添加见证磁盘,直接更改见证磁盘为新磁盘spa
脱机SQL群集应用,这将中止SQL服务以释放SQL数据文件上任何打开的句柄3d
拷贝原SQL数据磁盘完整目录内容到新数据磁盘,可使用资源管理器,或使用Xcopy,RoboCopy拷贝,若是针对于数据库文件权限有所设置,这里能够进行处理日志
记录现有DTC应用配置,删除,基于新磁盘原样重建新的DTC应用orm
点击SQL应用现有数据磁盘,右键点击修复,选择新数据磁盘
联机上线SQL应用
原SQL数据磁盘自动从SQL群集应用删除,从群集可用磁盘删除
根据老王的研究,针对于SQL群集的磁盘替换,除了这种方法,还有如下几种方法
新增替换:不采用修复替换,使用新增磁盘至SQL资源组,手动修改盘符。缺点:有一点点复杂,须要理解群集磁盘替换过程,若是不当心操做错误会致使应用不能联机
备份恢复:网上也有朋友介绍过一种办法,事先针对于数据库进行MDF,LDF的备份,以后新增磁盘,删除原磁盘,附加还原数据库。缺点:若是数据库过多的话,会须要执行多个数据库备份,若是数据库很少,可能适用,但需考虑到数据库权限的恢复
重装替换:直接从新搭建一个群集,再从备份的数据库文件恢复,缺点:若是数据库实例不少,重装将会很是耗时。若是只有一个数据库实例,可能适用,但仍需考虑数据库权限的恢复。
工具替换:有一些第三方工具能够帮助咱们在两个群集,或者说两个SQL实例之间,或是从文件到数据库,批量还原迁移数据库,同时能够保证数据库权限的恢复,但须要操做人员熟悉第三方工具
基于考虑咱们决定采用最为熟悉稳妥的修复替换方式
环境介绍
DNS&iscsi
lan:10.0.0.2 255.0.0.0
iscsi:30.0.0.2 255.0.0.0
08node1
MGMET:10.0.0.3 255.0.0.0 DNS 10.0.0.2
ISCSI:30.0.0.3 255.0.0.0
CLUS:18.0.0.3 255.0.0.0
08node2
MGMET:10.0.0.4 255.0.0.0 DNS 10.0.0.2
ISCSI:30.0.0.4 255.0.0.0
CLUS:18.0.0.4 255.0.0.0
当前SQL群集已经配置完毕DTC,及SQL应用
验证SQL Server 故障转移,及查询,能够正常工做
时间节点来到第二步
各节点获得存储新分配的存储,而且已经完成分区格式化
新分配的S O X 分别为新见证磁盘,新DTC磁盘,新数据磁盘
其中 见证磁盘和DTC磁盘里面的数据能够接受重建,所以不须要考虑盘符问题
添加新阵列见证磁盘,DTC磁盘为群集可用磁盘
点击群集名称-更多操做-配置群集仲裁设置
在选择见证存储处取消勾选以前旧的存储,勾选新的见证磁盘做为见证
配置完成能够看到,群集见证磁盘已经自动变为了新的阵列磁盘,原有见证磁盘被移动至群集可用存储,这时它已经不起做用,能够选择从群集可用存储中删除。
这里的见证磁盘替换很是简单,由于见证磁盘的做用无非是在发生分区的时候帮助其中一方获胜存活,储存群集数据库副本,群集数据库副本各个节点自己都有,新的见证磁盘无非是添加进来从新和各节点同步下最新的群集数据库副本
在实际见证磁盘替换过程当中,按照正常步骤操做,一般不会出现宕机状况,由于几乎就是一瞬间的事情,2012以后有动态仲裁,更不会宕机,若是在2012以前,发现替换见证磁盘过程意外出现宕机,可使用强制仲裁启动群集服务。
接下来咱们须要处理DTC和SQL,SQL群集应用可其它群集应用不同的地方就是,它可能随时随地会在用着,有句柄在打开它的文件,所以咱们须要脱机SQL群集应用,才能够作拷贝文件和处理DTC的操做,这也是此方案的弊病,若是采用备份替换,工具替换,则不会面临此问题,此过程宕机时间视数据库拷贝时间决定。
脱机SQL群集应用,宕机时间开始
在这一步骤中若是发现SQL旧数据磁盘不可见,能够单独把SQL旧数据磁盘进行联机,以便拷贝文件,这时候全部链接到SQL群集应用的句柄已经关闭
拷贝整个旧数据目录至新数据磁盘,若是针对于数据库文件有权限设置,这里可使用xcopy,robocopy进行处理
记录现有DTC应用配置,而后删除,重建
这里针对于DTC应用,咱们能够选择这种直接重建的方式,或者若是您不方便重建,修复替换,新增替换的方式也能够操做,DTC应用自己并无什么不能够替换的数据,只是用于SQL各节点的间的分布式协调。所以咱们采用直接重建没有问题。
最后使用修复替换掉SQL应用的数据磁盘,在SQL应用群集磁盘5的地方右键点击-更多操做 - 修复
这里的群集磁盘5状态必定要是脱机才可使用修复
选择拷贝完成数据的新数据磁盘
和文件服务器替换同样,修复向导直接自动帮助咱们把旧的群集磁盘信息,带入新群集磁盘,确认盘符为旧盘符
联机上线SQL群集应用
验证能够正常执行故障转移
验证能够正常进行数据库查询
到这里咱们完成了SQL群集应用的所有存储替换
使用这种替换方式的好处,咱们不用一个个的去备份还原数据,不用去care权限的问题,由于全部文件咱们都是原封不动的拷贝
缺点就是SQL应用的停机时间较长,主要是脱机拷贝数据库目录的时间,具体实际环境下,也许能够有一些更灵活的方式,例如能够下班以前冻结SQL写入句柄,而后拷贝文件出来,下班以后直接替换见证,DTC,而后修复SQL。
以上是老王为你们带来的两篇关于群集替换存储的文章,但愿能为感兴趣的朋友带来收获