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


需求:

需要实现SQLServer 2005

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

2. 数据库数据实现Raid5

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

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

 

基本步骤:

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

2. 规划系统

3. 安装操作系统

4. 安装操作系统群集

5. 测试群集的可用性

6. 安装sqlserver

7. 测试sqlserver 可用性

 

硬件准备

IBM eserver 346 服务器主,73GB 硬盘,4GB

IBM eserver 346 服务器备,73GB 硬盘,4GB

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

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

网线连接,外网的网卡连外网网络,内网的可以采用hub

 

规划系统IP

 

外网(pub)

内网(heartbeat)

主服务器(dbmain)

192.168.0.1/255.255.255.0

gateway :192.168.0.10 (

dns:192.168.0.1

 

 

10.1.0.1/255.0.0.0

gateway 和dns

备服务器(dbback)

192.168.0.2/255.255.255.0

gateway :192.168.0.10 (

dns:192.168.0.2

dns:192.168.0.1 (

10.1.0.2

gateway 和dns

群集

192.168.0.100

 

数据库

192.168.0.200

 

 

 

安装操作系统

先给其中一台装windows 2003 enterprise server

安装IIS ,消息队列,DNS ,网络DTC ,COM+ 服务,msdtc(distribute transaction coordinator 分布式事务协调器),WMI (windows management instrument).

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

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

 

将该硬盘ghost

另一台操作系统可以采用ghost

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

 

安装域:

在dbmain 服务器,win+r 运行里输入dcpromo 进行域管理器提升。创建新域。域设定为mydb.adomain.com 由于dns

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

重启。

 

在dbback 运行dcpromo

 

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

 

挂载磁盘阵列:

两台服务器进行同样操作。在磁盘管理里,将原磁盘阵列分配驱动器,格式化。规划上可以将磁盘阵列规划为仲裁盘quorum 1GB,msdtc 盘5GB,Sqlserver 数据盘。但我没有区分,只分了一个区db(F:)

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

 

安装群集

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

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

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

检查msdtc,wmi,com+

在群集管理器里可以看到dbmain,dbback

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

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

此时需反复重启主备服务器,看群集管理是否能顺利切换。如msdtc 启动不了,检查启动网络dtc 访问是否安装。两台服务器只有一台可以启动msdtc

最好在此时再给两台服务器做一个ghost. 否则可能随后安装sqlserver

 

安装数据库

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

确认没有错误和警告。数据库群集命名为db, Ip 为192.168.0.200 ,可以通过db.mydb.adomain.com

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

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

数据库数据库放在F 盘。仲裁也放F

打数据库补丁。

再反复重启测试,看是否能正确切换。如无问题,则sqlserver2005