博客统计信息

51cto推荐博客
用户名:dufei
文章数:60
评论数:616
访问量:345875
无忧币:1446
博客积分:2503
博客等级:6
注册日期:2008-05-15

我的技术圈(18)

更多>>
安装并配置SQL Server 2005群集
2008-07-07 19:38:06
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dufei.blog.51cto.com/382644/86260
SQL SERVER 2005的群集必须在实现了WINDOWS群集的基础上才可以。
首先我们先来看一下SQL SERVER 2005群集的一些相关介绍:
SQL SERVER 2005中主要可以使用镜像和群集两种方法来实现高可用性,至于数据库镜像作为SQL SERVER 2005的新特性之一,我在前面的博文已经做了介绍,今天我们就来看一下群集的配置方法:当然它们都可以实现数据库的高可用性,但还是有一定的区别的:
数据库镜像和故障转移群集最主要的差异就是提供了不同级别的冗余。数据库镜像提供的保护是数据库级别的,而群集提供的保护是服务器实例级别的。另一个主要差别就是在数据库镜像中,主服务器和镜像服务器是独立的 SQL SERVER实例,两个实例有不同的名称;而群集中的 SQL SERVER实例则使用相同的虚拟服务器名称和IP地址,而且无论哪个节点主持群集实例,虚拟服务器名称和IP地址始终保持不变。
 因此,在服务器一级的数据库保护(程序需要同时访问统一服务器上的多个数据库),故障转移群集将是更适合的选择。但是,如果每次只须为一个数据库提供可用性,那么数据库镜像具有更多优势。 
数据库镜像不像群集那样需要专门的硬件,也没有共享存储介质失败的潜在危险。数据库镜像可以在最短时间内让备用数据库开始提供服务,其速度快于任何其它的高可用技术。此外,数据库镜像能够与ADONETSQL Native Access Client很好的配合在一起,从而实现客户端的故障转移。
 下面我们就来看一下数据库群集的具体配置
实现过程:
1.  已经搭建了WINDOWS 2003的群集
2.  为私有网卡禁用NETBIOS
3.  指定一个SQL SERVER可用的共享磁盘阵列
4.  安装微软分布式事务协调器(MSDTC)不可缺少。
5.  节点上不要安装防毒软件和终端服务。安装了终端服务器,群集安装不了。
6.  最好为服务帐号指定一个帐户。
 
现在我们前面三步已经前面的博文中做了讲解。可以参考一下!我们从第四步开始做。
 
我的群集拓扑如图所示:
步骤1 创建MSDTC资源,这个服务是必不可少的
    我们现在需要有一块硬盘用来存放MSDTC资源,我们可以再加一块硬盘,用来存放MSDTC资源。这个服务可以和数据库放在同一个磁盘中,如F,那么这里为什么要单独放在一个磁盘中,也就是说为什么不和SQL SERVER共享一个磁盘,是因为如果MSDTC出现问题会造成 SQL SERVER也不能使用,这是因为SQL SERVER规定如果在同一个组中,有一个资源不能使用,会导致这个组中的其他资源也无法使用。
所以我们需要关机再增加一个共享磁盘 类型是SCSI
关闭 所有节点:
编辑节点1
SERVER1 开机:找到磁盘管理---分区---格式化---分配盘符:G 可以写入一个文件进行测试
 
SERVER1 关机:  SERVER2 开机,直接分配盘:G 一定要保持一致。也可以测试一下。
 
然后可以把两个节点都打开,测试。群集可以正常使用。
 
这个时候,MSDTC所需要的磁盘我们已经准备好了,但是服务还没有安装,下面我们就看一下,如果把MSDTC给安装上。为什么必须安装MSDTC,主要是因为SQL SERVER的复制功能要使用MSTC资源。如果不创建,不会说安装SQL 群集失败,但会发现SQL SERVER的一些复制功能无法使用。
打开节点1
那么下面就看一下如何在群集中创建MSDTC资源 :安装此服务有一个前提就是必须启用网络DTC
 
A. 所有节点上,都必须要启用网络DTC  注意所有节点都要安装。
下面就可以创建MSTDC资源了。
但是它要依赖于磁盘资源和网络名称资源,
磁盘资源已经有了。所以再创建一个网络名称资源。
网络名称资源又要依赖于IP地址。所以我们先要创建一个IP地址资源。
B 创建一个IP地址资源
创建成功后默认是脱机,所以此处要联机
C 创建一个MSDTC 网络名称资源
这里名称资源必须依赖于IP地址,没有为什么,必须要创建一个IP
这样我们就创建了MSDTC资源
可以再次进行群集的测试!略
 
步骤2 终于可以安装SQL Server  Cluster  注意只需要在节点1上安装就行了,千万不要在其他节点上安装了。因为群集会自动配置。
      我们现在在节点1上:运行SQL Server 企业版的安装程序------然后提示操作
大家看到了。这里群集就可以用了,也不是灰色的了。至于其他组件,大家可以根据需要来选择装还是不装。我这里因为磁盘空间不够,所以只选择以下如图所示的组件:SQL Server Database Services
 
SQLSLUSTER对应的IP地址就是 外网所对应的 1921681105   注意:也是不能和现有的IP相同。
输入一个此帐户的口令,以开始安装远程安装,也就是在节点2上安装。
 
到此处设置基本上就已经结束了。系统准备开始安装了。接下来就是漫长的等待过程。。。。。
 
 
安装成功后,我们来测试一下群集的使用:
1.  打开F:有没有产生数据库所需要的文件。
2.  在群集中已经产生了相关的服务:
3.  测试在群集中能否实现故障转换:
4.  通过外围服务器来对群集进行相关的设置,因为在默认情况有,有些服务是关闭的。这里在连接的时候选择:SQLCLUSTER 群集虚拟服务器的名称,不是LOCAL本机了。在这里设置允许本机和远程访问
然后允许使用TCP/IP 远程访问
然后再重新启动SQL SERVER服务  我们为了干净利索这里就重新启动计算机。
 
 
1.  利用SQLCMD进行测试:
SQLCMD  -S SQLCLUSTER –E 
Use master;
Go
Select  * from sys.databases;
Go 可以看到相关的数据。
 
然后将 SERVER1 关机或是网卡禁用或是直接使用群集移动组。再来测试,如果还能显示数据,则说明群集成功。只是要有一定的延迟!
 
 
以上只是本人的拙见,请大家多提宝贵意见。
 
 

本文出自 “杜飞” 博客,请务必保留此出处http://dufei.blog.51cto.com/382644/86260

分享至
更多
一键收藏,随时查看,分享好友!
hpjsj1200、唐光辉
2人
了这篇文章
类别:SQL Server技术圈()┆阅读()┆评论() ┆ 推送到技术圈返回首页

文章评论

 <<   1   2   3   >>   页数 ( 1/3 )  
2008-07-08 10:51:02
恩 很好很详细 做群集是很必要的

2008-07-08 23:13:50
很详细呀,有时间 照做一遍 ,呵呵

2008-07-09 09:54:30
学习,收藏了!谢楼主

2008-07-10 10:29:47
不错!顶下!

2008-07-15 14:56:31
太强了,有时间照着做做
谢谢了

2008-08-15 10:05:55
太牛拉!!谢谢!我顶!

2008-08-22 21:44:26
杜老师,我把两个节点都安装了网络DTC服务,然后在群集中按次序添加了物理磁盘,IP地址,网络名称和DTC,但是每次转移节点的时候DTC资源都无法联机呈现失败的状态,物理磁盘、IP地址和网络名称都是联机状态。请问是什么原因呢?

2008-08-22 23:30:49
你检查一下你的资源的依存关系.是不是依存关系不正确.


2008-08-23 23:11:03
问题解决了,原来是MSDTCLOG出了问题。重建后再启动DTC服务就没有以上情况出现了。谢谢。

2008-09-06 05:52:13
以前在VM里玩过,同时只有一台服务器可以控制共享磁盘。记得可以双节点同时运行,但一个做网络的朋友说磁盘在同一时间只能挂在一台服务器上。搞的都有点晕了。貌似要搞成像ORACLE一样的DATAGUARD+RAC不太容易。

2008-09-06 10:14:00
同时是只能有一个服务器使用共享磁盘.但如果一个节点故障别一个节点会立即接管共享磁盘.在生产环境中,为解决磁盘故障,可使用RAID技术.

2008-09-10 20:09:29
老师节日快乐哈-----来支持了!!!

2008-09-19 13:22:25
老师,sql2005群集,我已经配置成功了,现在想在这个基础上做MIRORR。请问如何实现啊?
我的机器是:NODE A NODE B 加阵列柜 做MIRORR不想添加硬件设备了,使用没有见证服务器的方式。
是不是在NODE B 上再安装一遍SQL 并在C盘上建个实例,因为A 上已经在共享盘上建好了默认实例,并且数据库可以工作了。

2008-10-04 08:14:24
杜老师:
  节日快乐!

2008-10-04 08:16:26
杜老师:
  文章很好!加油!

2008-11-15 16:52:11
你好:杜老师。
这几天做了一windows 2003 群集,加入MSDTC资源后,在做故障转移测试时一直出现错误,而后群集资源漂回A节点,并且都能正确联机。同样因为msdtc不能正确安装,sqlserver2005也无法做故障群集安装
试问,可能是什么问题
我的QQ21627821
emial:flying7802@163.com

2008-11-18 16:42:44
回 flying7802
不知道你说的在故意转移测试时一直出现错误,是什么提示?
MSDTC不能正确安装,我想应该是你的依存关系可能有问题.
你检查一下:MSDTC依存磁盘资源和网络名称资源,而网络名称资源又依存于IP资源.

2008-11-19 11:47:27
状态是这样:集群安装完毕,可以正常完成故障转移,在A节点上安装完成msdtc,然后测试故障转移,当集群转移至B节点时,出现联机错误,然后集群飘回A节点,所有资源联机正常。
我创建MSDTC时。资源依存仲裁盘、IP地址、网络名称都用的是群集组中的资源
查询事件管理器,显示 DTC 联机时,群集服务未能还原其 注册表项。错误代码是 3。一些改动可能已丢失。
错误现象和这个一样 http://gnaw0725.blogbus.com/logs/29213837.html,但我看了他的错误处理方法,网络DTC访问我已经启用,MSDTC也安装了,但错误仍然,不解!

2009-04-15 18:42:52
大家看到了。这里群集就可以用了,也不是灰色的了。至于其他组件,大家可以根据需要来选择装还是不装。我这里因为磁盘空间不够,所以只选择以下如图所示的组件:SQL Server Database Services



请问一下...


在我安装的时候......选择了所有组件安装时....

在安装完第一张光盘后..提示....插入第二张光盘!
我插入后..就报错....说...不能远程安装...好多组件安装不了


我不知道是不是安装了所有组件的原因.....但是杜飞老师说可以.....



能不能给个答案.....


不是我一个人出问题...另一个在东莞的博友也出同样问题

请帮忙测试....看看你是否真的安装所有的组件不会报错

感谢您的博文!

期待你安装所有组件....结果!!!!<一次安装..不是分开去安装!>

2009-04-17 05:11:12
SQL有DVD介质的呀,一张盘就OK。

另外,第二张CD是因为你选了客户端工具才要用到的。

 <<   1   2   3   >>   页数 ( 1/3 )  

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: