分类: WINDOWS
2009-10-27 14:18:28
Abner Kou、郭晓冬原创,转载请注明出处http://abner.cublog.cn
SQL Server 2008故障转移集群+数据库镜像配置实例之一
一、 总体方案
故障转移集群技术与镜像技术结合,在主体数据库上实现双机集群,镜像数据库不在集群内,是一台单独的数据库服务器。
在配置镜像数据库时,选择镜像运行模式为“高性能模式会话”,此模式下:如果群集故障转移到另一节点,在镜像会话中,故障转移群集实例将继续作为主体服务器。如果整个群集出现问题,则可以将服务强制到镜像服务器上。
二、 关于镜像和集群
通常,当镜像与群集一起使用时,主体服务器与镜像服务器都驻留在群集上,其中,主体服务器在一个群集的故障转移群集实例中运行,镜像服务器在另一个群集的故障转移群集实例中运行。不过,您可以建立一个镜像会话,其中,一个伙伴驻留在一个群集的故障转移群集实例中,另一个伙伴驻留在一个单独的非群集的计算机中。
参考《SQL Server 2008数据库镜像+故障转移集群》
三、 系统准备
1、建立Windows Server 2008 故障转移集群
参看《配置Windows Server2008故障转移集群》
2、给各节点添加共享存储(本例使用windows Storage Server配置iSCSI存储)
参看《使用Windows Storage Server 2008给hype-v添加iSCSI盘》
3、给集群添加网络磁盘(分布式事物协调器需要一块磁盘、SQL需要一个磁盘)
A、打开故障转移集群
B、点击右侧“存储”项。选择右侧的“添加磁盘”功能
C、将节点中新添加的iSCSI存储添加到集群存储,并修改磁盘名称为SQL
4、添加分布式事务处理的集群化
A、打开故障转移集群管理器,点击配置服务或应用程序
B、选择添加“分布式事物协调器”进行添加
C、设置MSDTC名称、IP地址、存储
4、在Windows Server 2008 R2上直接运行 SQL Server 2008的安装程序,在安装进程的最后会报错,“requirekerberos的值为1,并非预期值”,经过查找KB得知,此种情况需要安装SQL Server 2008的SP1补丁。于是采用集成安装的方式。参见:.
集成安装的准备如下:
A、将SQL Server 2008 ISO内的安装文件复制到c:\SQLServer2008-FullSP1
B、下载SP1补丁包 :
c、 提取补丁包内的文件:
命令行下运行:SQLServer2008SP1-KB968369-x64-CHS.exe /x:c:\PCU,将补丁中的文件释放到C:\PCU目录下
5、其他环境要求参见《SQL Server 2008 数据库镜像部署实例之一》
四、 集成安装SQL server 2008
注意:在准备工作中,在那个节点上添加的共享磁盘,就需要在那个节点上安装SQL Server集群。如图示:SQL共享磁盘的所有者为Hytest02,所以在Hytest02上,运行安装文件。
在命令行下定位到安装目录C:\SQLServer2008_FullSP1.
敲入命令:setup.exe /PCUSource=c:\PCU
/PCUSource 制定安装进程所集成补丁包的位置,可以是网络路径,用于部署多台数据库
1、在弹出的安装界面中,选择新的SQL Server 故障转移集群
2、通过安装检测
3、点击安装,安装支持文件
4、选择要安装SQL功能,截图中的实例已经安装了SQL Server,所以只选择数据库引擎服务
5、创建实例名为SQL2008的数据库,并填写集SQL群网络名称为Csql
6、选择创建SQL Server资源组,名称为SQL Server(SQL2008)
7、选择集群可用的SQL作为集群磁盘,次磁盘不用添加到集群共享卷中,作为网络磁盘,只要添加到集群中,并在系统中可见即可。正在被使用的磁盘不能选择
8、指定集群的网络配置
9、配置集群安全策略,本例为了方便都是用域管理组。但是推荐在域内分别建立数据库引擎组、和SQL Server代理组。例如在域内建立SQLadmin用户、SQLAgent组、SQLEngine组,SQl隶属于这两个组,并且将sqladmin添加到个节点本地管理员组中
10、指定SQL服务账户
11、使用混合身份验证、配置数据库存储路径为之前添加的共享磁盘SQL“I:\SQLDarta”
12、检查通过,进行安装
13、 安装过程有点漫长,等待安装完成
14、打开故障转移集群管理器,我们可以看见SQL集群应用的一个节点已经存在了。
至此,SQL Server 集群中的一个节点建立完成,下一篇文章中会介绍如何建立另一个节点。
五、参考文章
littleluoron2013-06-07 13:55:07
您好!博主,我看了您写的博文两次,发现比较和我的需求,我的需求是这样的,A和B服务器是在同一个网段作为故障转移群集,C服务器是云服务器来的,我想让当A作为主体服务器时,让B去完成和C服务器镜像活动,反过来B做主就让A去实现。那么请问,如果A和B不共享存储设备,各自数据库该怎么实现同步更新?