要搭建Sql server集群,首先需要先搭建windows集群,需要共享存储,硬件成本较高。

这里使用StarWind用于实现共享存储

一:实验环境

以下几台服务器都安装在oracle virtualbox里。

操作系统:

两个节点:windows server 2008 Enterprise 64位(注意:标准版的不支持故障转移集群功能)

DNS/StarWind: windows server 2008 standard 64位

两个节点都需要配置双网卡。

域名:dandan.com

 


节点一(WinServer1)

节点二(WinServer2)

Public IP

10.192.203.18

10.192.203.19

Private IP

10.10.10.1

10.10.10.2

StarWind/DNS

10.192.203.155

MSDTC

10.192.203.23

windows集群管理IP

10.192.203.22

Sql Server集群管理IP

10.192.203.26

 

共享存储盘符设置:(用于测试,所以设置较小)

仲裁盘(D)

1GB

MSDTC共享盘(F)

2GB

数据库共享盘(E)

21G

 

二:实验步骤

2.1 配置网络

2.1.1 新增网卡

两个节点都需要配置双网卡:

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql

2.1.2 关闭防火墙

确保所有服务器的防火墙都已关闭。

2.1.3 配置IP

节点一:

#网卡1

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_02

#网卡2

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_03

节点二:

#网卡1

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_04

#网卡2

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_05

 

2.2 配置域环境

2.2.1 配置域控服务器

2.2.1.1 安装Active Directory域服务

在10.192.203.155上操作:

开始->运行->dcpromo

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_06

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_07

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_08

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_09

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_10

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_11

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_12

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_13

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_14

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_15

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_16

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_17

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_18

2.2.1.2 创建域账号

首先大家习惯还像在工作组时使用"本地用户和组"工具来创建用户帐户,但发现在DC中没有"本地用户和组",这是因为提升为DC后就没有本地用户和组了,原来的帐户和组都提升为域帐户和域中的组了。

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_19

开始-所有程序-管理工具,打开Active Directory用户和计算机,

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_20

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_21

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_22

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_23

可以看到新建的用户:

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_24

 

2.2.2 配置两个客户端节点

#设置两个节点的网卡1,将DNS地址指向域控服务器IP地址:

以节点一为例:

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_25

 

#计算机-属性,设置计算机所属域

以节点一为例:

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_26

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_27

注意:这里输入的是域控服务器的管理员密码,不是本机管理员密码。

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_28


#给域用户赋予本机管理员权限

配置好域环境后,需要将域用户加入到本机的管理员账号组中,否则在后面打开故障管理群集管理器-验证配置(且必须用域账号打开故障管理群集管理器,否则会报错)时,会报错:

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_29

设置步骤:

以本机管理员账号登录本机,打开"服务器管理器",配置-本地用户组-组

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_30


双击打开Administrators组

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_31

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_32

 

三:配置windows集群

3.1 添加角色

在2个节点都添加应用服务器角色,在往后安装SQLserver 也有用到。

打开服务器管理器

假如报错:

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_33

需要确保加域的时候(修改计算机名称,所属域那里)输入的是域控服务器管理员的密码,而不是普通用户的密码:

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_34

如需更正,可以先退域,再加域。步骤可以参考:

 

点击角色树形菜单,点击添加角色。如以下图安装步骤。

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_35

勾选‘应用程序服务器’,’web服务器IIS’

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_36

#添加Web服务器IIS角色是为了安装sqlserver的report service,如不需要,可以不添加该角色。

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_37

注意:需要勾选下面所有子项。

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_38

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_39

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_40

3.2 添加‘故障转移集群’功能

在2个节点都添加故障转移群集。

备注:只有windowsserver Enterprise版本的才有该功能,standard版本无此功能。

打开服务器管理器,点击功能树形菜单,点击添加功能。如以下图安装步骤。

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_41

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_42

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_43

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_44

3.3 创建故障管理集群

3.3.1 验证配置

现在选择 节点一 作为主节点,以下操作都在该节点执行。

3.1. 故障转移集群管理:验证配置

开始—程序—管理工具——打开 故障转移群集管理

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_45



sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_46



sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_47


sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_48


sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_49

3.3.2 创建集群

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_50

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_51

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_52

登录域控服务器上的Active Directory用户和计算机,

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_53

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_54

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_55

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_56

勾选所有权限:

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_57

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_58

现在再继续创建集群就不再报错了:

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_59

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_60

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_61

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_62

群集添加完成,可以在域控服务器中看到群集的虚拟计算机:

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_63

 

3.3.3 实现共享存储

3.3.3.1 StarWind介绍

iSCSI SoftwareTarget 是一个可选的Windows 服务组件,在存储区域网络 (SAN)中提供中心化、基于软件和硬件独立的 iSCSI 磁盘子系统。iSCSI设备是通过普通的TCP/IP网络访问共享存储。

SCSISoftware Target 在一些window 2008 上不可安装,因此才寻找它的替代品——StarWind , StarWind能够虚拟网络硬盘并进行管理.

官方下载地址 : StarWind Virtual SAN® Free

官网需要填写资料,也可到这里下载: starwind.exe

安装步骤不说明,一步步点击即可。


3.3.3.2配置服务器端

打开 StarWind软件,

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_64


sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_65

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_66



sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_67



sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_68


sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_69



sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_70


sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_71


依次再创建两个盘:msdtcdisk,dbdisk

划分的3镜像硬盘,若空间不足,可以随时增加。右键某个硬盘 ,扩展大小(Extend Size).

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_72


3.3.3.3 配置客户端

在两个节点上都执行:

开始——程序——管理工具——iSCSI 发起程序 

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_73

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_74

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_75

看到3个目标处于 不活动状态,点击 目标 选项 ,选中每个目标名称,点击‘连接’

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_76

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_77

回到StarWind 管理中心,先刷新一下,然后可以看到每个镜像盘下都有2连接过来的服务器信息:

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_78

 

3.3.3.4 初始化磁盘

下面只在主节点上操作:

回到客户端,打开磁盘管理器,可以看到新增三块磁盘。

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_79

将3块硬盘进行联机初始化磁盘,可像正常的基本磁盘一样创建简单逻辑卷并进行格式化。

格式化完成后,本地将有3个可用的逻辑盘,相当于本机硬盘一样使用。

右击该磁盘左侧,点‘联机’

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_80

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_81

完成后,在节点2看到新增的三块磁盘也都已经自动化了。

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_82

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_83

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_84

3.3.4配置故障转移集群

只在主节点上操作:

3.3.4.1 仲裁配置

仲裁者在这里不需要单独的服务器,而是使用磁盘作为仲裁者,用于检测和协调故障转移。

故障转移群集管理连接到群集中,右键群集服务器——更多操作——配置群集仲裁设置

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_85

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_86

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_87

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_88

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_89

3.3.4.2 分布式事务协调器(DTC)配置

分布式事务协调器 (DTC) 服务用于协调以下事务:将更新两个或多个事务保护资源,如数据库、消息队列、文件系统等。这些事务保护资源可能位于一台计算机上,也可能分布在多台联网的计算机上。

右键服务和应用程序,点击配置服务或应用程序打开配置

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_90

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_91

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_92

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_93

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_94

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_95

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_96

注意:

 磁盘的当前所有者是谁,那个磁盘就在哪台服务器上。

如:

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_97

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_98

 可以关闭其中一个节点,测试下windows集群IP及共享磁盘是否漂移到了另一个节点上。

 

 

四 安装sql server2014集群

在节点一上双击Setup进行安装:

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_99

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_100

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_101

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_102

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_103

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_104

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_105

我在这里,除了两个sharePoint的没勾选,其他全勾选上了。

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_106

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_107

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_108

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_109

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_110

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_111

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_112

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_113

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_114

假设安装过程中遇到这个错误:

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_115

需要手动启动该服务,然后点击‘重试’即可。

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_116


在故障转移集群管理器中看到自动生成了Sql Servers服务:

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_117

重启该节点。

添加节点:

在另一个节点上操作:

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_118

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_119

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_120

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_121

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_122

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_123

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_124

重启该节点。

搭建好sql server集群后,此时,这三个资源只在其中一台服务器上是启动状态,在另一个节点上则是停止状态:

sql server 2014与2008可以兼容吗 sql server 2008 2014_IP_125

测试是否可以正常连接该集群:

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_126

服务器名称这里也可以输入sqlcluster。

 

五 测试故障转移

现在关闭WinServer1上的sql server服务,验证下sql server是否漂移到了节点二。

在故障转移群集管理器里可以查看集群的当前所有者,及故障转移进度,如:

 

sql server 2014与2008可以兼容吗 sql server 2008 2014_服务器_127

有时我发现,当在一个节点上关掉数据库服务时,数据库并未转移,只是尝试重启了本地的数据库服务。

不知是否跟资源的默认设置有关系呢。

右击其中一个资源-属性-策略

sql server 2014与2008可以兼容吗 sql server 2008 2014_sql_128


#我配置了sql server 2005集群,发现关闭其中一个节点的数据库服务,并不能漂移到另一个节点上呢。只有当关掉其中一台服务器时,数据库才漂移了。

难道sql  server 2005不支持这个功能?

 

--配置集群参考了: