Windows 2003 上实现Sqlserver 2005 群集高可用性

来源:互联网 发布:2017网络最新赌博项目 编辑:程序博客网 时间:2024/06/06 02:40

<!--@page { margin: 2cm }P { margin-bottom: 0.21cm }H1 { margin-bottom: 0.21cm }H1.western { font-family: "DejaVu Sans", sans-serif; font-size: 16pt }H1.cjk { font-family: "Sun-ExtA"; font-size: 16pt; font-style: normal; font-weight: bold }H1.ctl { font-family: "Sun-ExtA"; font-size: 16pt; font-weight: bold }TD P { margin-bottom: 0cm }TH P { margin-bottom: 0cm }A:link { so-language: zxx }-->

Windows2003 上实现Sqlserver2005 群集高可用性

 

周海汉 /

http://blog.csdn.net/ablo_zhou

2010.3.9

需求:

需要实现SQLServer2005数据库的高可用性,实现双机热备。

1.安装SQLServer2005的设备实现双击热备。一台失效另一台能立即启用。无额外的域控制器和DNS服务器。

2.数据库数据实现Raid5,保证一块硬盘损坏不会丢失数据。

3.操作系统群集对外一个统一IP地址

4.Sqlserver群集对外一个统一的IP地址。

 

基本步骤:

1.准备硬件,做好磁盘阵列的物理连接

2.规划系统

3.安装操作系统

4.安装操作系统群集

5.测试群集的可用性

6.安装sqlserver

7.测试sqlserver可用性

 

硬件准备

IBMeserver 346服务器主,73GB硬盘,4GB内存,两块千兆自适应网卡

IBMeserver 346服务器备,73GB硬盘,4GB内存,两块千兆自适应网卡

一台磁盘阵列,含3146GB的硬盘,已经由厂方实现raid5,总容量270GB

将磁盘阵列和两台服务器的数据线连接好,可能是数据线或网线。

网线连接,外网的网卡连外网网络,内网的可以采用hub,交换机或直接用直连线相连(两台)

 

规划系统IP

 

外网(pub)

内网(heartbeat)

主服务器(dbmain)

192.168.0.1/255.255.255.0

gateway192.168.0.10(根据实际情况)

dns:192.168.0.1

 

 

10.1.0.1/255.0.0.0

gatewaydns都不设

备服务器(dbback)

192.168.0.2/255.255.255.0

gateway192.168.0.10(根据实际情况)

dns:192.168.0.2

dns:192.168.0.1 (配两个)

10.1.0.2

gatewaydns都不设

群集

192.168.0.100

 

数据库

192.168.0.200

 

 

 

安装操作系统

先给其中一台装windows2003 enterprise server操作系统,打好补丁。

安装IIS,消息队列,DNS,网络DTCCOM+服务,msdtc(distributetransaction coordinator分布式事务协调器),WMIwindowsmanagement instrument).后三者应该是缺省安装。在服务中检查各服务是否正常。并将其设为自动启动。重启检查各服务是否正常。

将计算机更名为dbmain.配置IP地址。网卡连接心跳网卡改名为heartbeat,外网改为pub.

这是一台干净的操作系统。

 

将该硬盘ghost出来备份,用于安装更多操作系统。

另一台操作系统可以采用ghost方式安装,直接硬盘对拷,节省时间,减少出错。

重启后修改IP/DNS,计算机名为dbback

 

安装域:

dbmain服务器,win+r运行里输入dcpromo进行域管理器提升。创建新域。域设定为mydb.adomain.com由于dns不会解析外网域名,所以随便配置域名。全部缺省。

最好规划出域管理员帐号密码,数据库及相关服务运行帐号密码,安全组等。我这里偷懒全部用的是域管理员帐号。但会有安全隐患。

重启。

 

dbback运行dcpromo,但选择额外域控制器控制已存在域。重启。

 

检查域名解析是否正常。在管理工具里有DNS,检查是否有记录,是否正常。

 

挂载磁盘阵列:

两台服务器进行同样操作。在磁盘管理里,将原磁盘阵列分配驱动器,格式化。规划上可以将磁盘阵列规划为仲裁盘quorum1GB,msdtc5GB,Sqlserver数据盘。但我没有区分,只分了一个区db(F:)。但安装时系统强烈建议将仲裁盘和数据盘分在不同分区。

测试磁盘阵列是否可以读写。

 

安装群集

dbmain的管理工具里,找到群集管理器,创建新群集。群集名dbgroup,IP192.168.0.100,配置完毕可以用dbgroup.mydb.adomain.com访问.

dbback的管理工具里,找到群集管理器,选打开现有群集。输入dbgroup.mydb.adomain.com。打开。应该和dbmain看到的一致。

通过pingdbgroup.mydb.adomain.com应该可以看到192.168.0.100可以ping通。

检查msdtc,wmi,com+服务是否正常启动。

在群集管理器里可以看到dbmain,dbback的资源。只有一台可用。包括磁盘阵列,也只有一台可以访问。

此时需反复重启主备服务器,看群集管理是否能顺利切换。

在群集管理器里,新建msdtc资源组,将IP地址,网络名称,msdtc资源加入。

此时需反复重启主备服务器,看群集管理是否能顺利切换。如msdtc启动不了,检查启动网络dtc访问是否安装。两台服务器只有一台可以启动msdtc服务。可能需要在“服务”里配置服务重启的次数和时间间隔。服务切换需要一定时间。期间还会有假死现象。

最好在此时再给两台服务器做一个ghost.否则可能随后安装sqlserver不顺利的话,导致操作系统重装。

 

安装数据库

dbmain控制资源后,在这一台上安装sqlserver2005,会同时安装到dbback

确认没有错误和警告。数据库群集命名为db,Ip192.168.0.200,可以通过db.mydb.adomain.com进行访问。

向导全部用缺省。远程安装账户选用域管理员。数据库群集服务域组全部用系统域管理员组。当然,最好是做好域组的分工。这种笼统的管理虽然方便,但也会埋下隐患。

身份验证,选择混合模式。

数据库数据库放在F盘。仲裁也放F盘。如果有警告,忽略。

打数据库补丁。

再反复重启测试,看是否能正确切换。如无问题,则sqlserver2005高科用性和热备安装完毕。