SQL Server 2005群集

SQL Server 2005群集是需要在实现了Windows群集的基础上才可以进行。

数据库群集的好处在于,两台配置一样的服务器共用一台存储设备。其中任何一台可作为主服务器完成日常的工作,但是当他突然有一天当掉了怎么办呢??有了群集就好了,另一台备用服务器可通过心跳线实时与主服务器保持沟通,当主服务器挂了得时候备用服务器他肯定会知道。所以备用服务器会挺身而上顶替主服务器来完成日常工作。不需要人为干预!!!实现无缝接入,更安全更好的为我们工作。

下面我们就来看一下数据库群集的具体配置。

实现过程:

1. 搭建Windows Server 2003的群集

2. 为私有网卡禁用NETBIOS

3. 指定一个SQL Server可用的共享磁盘阵列

4. 安装微软分布式事务协调器(MSDTC)不可缺少。

5. 安装SQL Server 2005

一、现在开始搭建Windows Server 2003的群集。

试验拓扑图如下所示

clip_image002

首先搭建好一个域环境yucheng.com,域控名为DC,其IP-192.168.11.11,我将db1,其IP-192.168.11.111#10.2.2.1和db2.其IP-192.168.11.112#10.2.2.2都加入到这个域中。如下图所示

clip_image003clip_image004db2如同db1一样加入即可。

在试验过程中要注意每个细节,保证良好的试验环境也在以后出现问题时好找出问题所在。在db1和db2中有两个ip其中10.2.2.1和10.2.2.2为心跳线,它的作用就是在做好的集群中保证两个机器之间的信息交流,我用db1—ping 10.2.2.2。如下图所示,表示两台机器通信正常。

clip_image006

实现windows集群需要有共享磁盘阵列的支持,我在db1中建立了三块磁盘分别为:①Q-仲裁磁盘(500MB/SCSI)②S-资源磁盘(1000MB/SCSI)③M-MSDTC资源磁盘(500MB/SCSI)。下图只是示意

clip_image007

那么如何实现共享磁盘呢??在试验环境下可以这样实现:首先把db1关机,在db2中添加新磁盘(选择已有的磁盘)如下示意图

clip_image008把刚才在db1中建立的三块都添加到db2中。

域控制器一直在开机状态,这时候可以把db1也开起来了。

clip_image010

哦??db1起不来了,怎么解决呢??应该把db2的磁盘文件用写字板格式打开,在定义为仲裁磁盘的下一行加入如绿色框内的文字,她的作用是解决磁盘共享的。这样db1就可以正常启动了。

clip_image011

为了见证是否正确,我在这三块磁盘中分别建立了与磁盘名一样的文件夹,两台PC机启动之后可以查看Q,S,M这三块磁盘。如下图所示

clip_image013

clip_image015

现在基本的准备工作完成了。

二、为私有网卡禁用NETBIOS

在网络邻居---属性—高级—WINS—禁用TCP/IP 上的NetBIOS,如下图所示

clip_image017

三、指定一个SQL Server可用的共享磁盘阵列

在节点db1中,打开程序—管理工具—群集管理器

clip_image019

选择创建新群集

clip_image021

下一步

clip_image022

输入群集的名称,我选择的名称是SQL

clip_image023

计算机名会自动出现,我们只需点击下一步

clip_image024

各种配置分析都正确,点击下一步。如下图所示

clip_image025

选择一个能连接到群集的IP地址,务必要与可访问的IP在同一网段

clip_image026

输入足够权限的用户名以及密码

clip_image027

点击下一步

clip_image028

可以看到资源配置的信息,点击下一步

clip_image029

配置群集的各项任务都良好的完成了,点击下一步

clip_image030

成功的创建了群集。

在第一个节点db1中看看安装后的情况

clip_image032

clip_image034

接着在第二个节点db2中进行如下操作

打开程序—管理工具—群集管理器

clip_image036

这次选择添加节点到群集

clip_image037

点击下一步

clip_image038

会自动出现db2节点的计算机名,点击“添加”将它添加到这个群集中

clip_image039

点击下一步

clip_image040

如下图所示,群集配置完成了。下一步

clip_image041

这次的用户名系统自动添加了,我认为是与节点db1中是一致的。我们输入密码以及所在的域即可,下一步

clip_image042

点击下一步

clip_image043

添加节点到群集的各项任务也同样顺利完成了,点击下一步

clip_image044

点击完成,成功将节点db2加入到群集中。

clip_image045

进入到两个节点的群集管理器中看看具体情况,如下图所示:现在的资源都在节点db1中。

clip_image046

clip_image047

安装微软分布式事务协调器(MSDTC)

这个时候,MSDTC所需要的磁盘我们已经准备好了,但是服务还没有安装,下面我们就看一下,如果把MSDTC给安装上。为什么必须安装MSDTC,主要是因为SQL SERVER的复制功能要使用MSTC资源。如果不创建,不会说安装SQL 群集失败,但会发现SQL SERVER的一些复制功能无法使用。

所有节点上,都必须要启用网络DTC 注意所有节点都要安装。

①在windows的控制面板—添加、删除组件—应用程序服务器—启动网络DTC访问

clip_image048

clip_image049

打开节点db1:

②创建一个IP地址资源。选择新建资源—名称为IP,资源类型选择IP地址并且点击下一步

clip_image050

将两个节点都添加,下一步

clip_image051

MSTC资源依存于IP地址资源,选择群集IP地址将其添加到资源依存

clip_image052

同样IP地址要与节点db1,db2的可访问IP在同一网段,属于本地网络并且勾选“为此地址启用NetBIOS”

clip_image053

成功创建了群集资源“IP”

clip_image054

③创建一个MSDTC 网络名称资源

在节点db1的群集管理器中—新建资源—网络名称,点击下一步

clip_image055

下一步

clip_image056

这里名称资源必须依赖于IP地址,创建一个IP,下一步

clip_image057

下一步

clip_image058

以上我们做了MSDTC资源的准备工作。

④正式安装MSDTC资源

在节点db1的群集管理器中—新建资源—分布式事务协调器(DTC),点击下一步

clip_image059

下一步

clip_image060

下一步,完成创建了MSDTC资源。

clip_image061

五、可以安装数据库SQL Server 群集了 注意只需要在节点db1上安装就行了,千万不要在其他节点上安装了。因为群集会自动配置。

现在在节点1上:运行SQL Server 企业版的安装程序

这是安装过程中的一部分显示,已经涉及到节点db2了,下图所示

clip_image063

在没有做群集之前安装SQL Server 2005的时候绿色框内的选项是灰色的,现在可以勾选了,就是说windows群集做成了。

clip_image064

选择默认实例,下一步

clip_image065

输入你想要的虚拟服务器名称,我起为SQLcluster

clip_image066

SQLcluster对应的IP地址就是可访问网所对应的 192.168.11.120 注意:也是不能和现有的IP相同。

clip_image067

clip_image068

添加其他节点db2

clip_image069

输入一个此帐户的口令,以开始安装远程安装,也就是在节点db2上安装

clip_image070

clip_image071

随便自己选择哪种身份验证模式,我选择混合式

clip_image072

下一步

clip_image073

点击“安装”

clip_image074

clip_image075

等待安装结束接好了。