要搭建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 |
两个节点都需要配置双网卡:
确保所有服务器的防火墙都已关闭。
节点一:
#网卡1
#网卡2
节点二:
#网卡1
#网卡2
在10.192.203.155上操作:
开始->运行->dcpromo
首先大家习惯还像在工作组时使用"本地用户和组"工具来创建用户帐户,但发现在DC中没有"本地用户和组",这是因为提升为DC后就没有本地用户和组了,原来的帐户和组都提升为域帐户和域中的组了。
开始-所有程序-管理工具,打开Active Directory用户和计算机,
可以看到新建的用户:
#设置两个节点的网卡1,将DNS地址指向域控服务器IP地址:
以节点一为例:
#计算机-属性,设置计算机所属域
以节点一为例:
注意:这里输入的是域控服务器的管理员密码,不是本机管理员密码。
#给域用户赋予本机管理员权限
配置好域环境后,需要将域用户加入到本机的管理员账号组中,否则在后面打开故障管理群集管理器-验证配置(且必须用域账号打开故障管理群集管理器,否则会报错)时,会报错:
设置步骤:
以本机管理员账号登录本机,打开"服务器管理器",配置-本地用户组-组
在2个节点都添加应用服务器角色,在往后安装SQLserver 也有用到。
打开服务器管理器。
假如报错:
需要确保加域的时候(修改计算机名称,所属域那里)输入的是域控服务器管理员的密码,而不是普通用户的密码:
如需更正,可以先退域,再加域。步骤可以参考:http://blog.csdn.net/yabingshi_tech/article/details/78294242
点击角色树形菜单,点击添加角色。如以下图安装步骤。
勾选‘应用程序服务器’,’web服务器IIS’
#添加Web服务器IIS角色是为了安装sqlserver的report service,如不需要,可以不添加该角色。
注意:需要勾选下面所有子项。
在2个节点都添加故障转移群集。
备注:只有windowsserver Enterprise版本的才有该功能,standard版本无此功能。
打开服务器管理器,点击功能树形菜单,点击添加功能。如以下图安装步骤。
现在选择 节点一 作为主节点,以下操作都在该节点执行。
3.1. 故障转移集群管理:验证配置
开始—程序—管理工具——打开 故障转移群集管理
登录域控服务器上的Active Directory用户和计算机,
勾选所有权限:
现在再继续创建集群就不再报错了:
群集添加完成,可以在域控服务器中看到群集的虚拟计算机:
iSCSI SoftwareTarget 是一个可选的Windows 服务组件,在存储区域网络 (SAN)中提供中心化、基于软件和硬件独立的 iSCSI 磁盘子系统。iSCSI设备是通过普通的TCP/IP网络访问共享存储。
SCSISoftware Target 在一些window 2008 上不可安装,因此才寻找它的替代品——StarWind , StarWind能够虚拟网络硬盘并进行管理.
官方下载地址 : StarWind Virtual SAN® Free
官网需要填写资料,也可到这里下载: starwind.exe
安装步骤不说明,一步步点击即可。
打开 StarWind软件,
依次再创建两个盘:msdtcdisk,dbdisk
划分的3镜像硬盘,若空间不足,可以随时增加。右键某个硬盘 ,扩展大小(Extend Size).
在两个节点上都执行:
开始——程序——管理工具——iSCSI 发起程序
看到3个目标处于 不活动状态,点击 目标 选项 ,选中每个目标名称,点击‘连接’
回到StarWind 管理中心,先刷新一下,然后可以看到每个镜像盘下都有2连接过来的服务器信息:
下面只在主节点上操作:
回到客户端,打开磁盘管理器,可以看到新增三块磁盘。
将3块硬盘进行联机并初始化磁盘,可像正常的基本磁盘一样创建简单逻辑卷并进行格式化。
格式化完成后,本地将有3个可用的逻辑盘,相当于本机硬盘一样使用。
右击该磁盘左侧,点‘联机’
完成后,在节点2看到新增的三块磁盘也都已经自动化了。
只在主节点上操作:
仲裁者在这里不需要单独的服务器,而是使用磁盘作为仲裁者,用于检测和协调故障转移。
用故障转移群集管理连接到群集中,右键群集服务器——更多操作——配置群集仲裁设置
分布式事务协调器 (DTC) 服务用于协调以下事务:将更新两个或多个事务保护资源,如数据库、消息队列、文件系统等。这些事务保护资源可能位于一台计算机上,也可能分布在多台联网的计算机上。
右键服务和应用程序,点击配置服务或应用程序打开配置
注意:
磁盘的当前所有者是谁,那个磁盘就在哪台服务器上。
如:
可以关闭其中一个节点,测试下windows集群IP及共享磁盘是否漂移到了另一个节点上。
在节点一上双击Setup进行安装:
我在这里,除了两个sharePoint的没勾选,其他全勾选上了。
假设安装过程中遇到这个错误:
需要手动启动该服务,然后点击‘重试’即可。
在故障转移集群管理器中看到自动生成了Sql Servers服务:
重启该节点。
添加节点:
在另一个节点上操作:
重启该节点。
搭建好sql server集群后,此时,这三个资源只在其中一台服务器上是启动状态,在另一个节点上则是停止状态:
测试是否可以正常连接该集群:
服务器名称这里也可以输入sqlcluster。
现在关闭WinServer1上的sql server服务,验证下sql server是否漂移到了节点二。
在故障转移群集管理器里可以查看集群的当前所有者,及故障转移进度,如:
有时我发现,当在一个节点上关掉数据库服务时,数据库并未转移,只是尝试重启了本地的数据库服务。
不知是否跟资源的默认设置有关系呢。
右击其中一个资源-属性-策略
#我配置了sql server 2005集群,发现关闭其中一个节点的数据库服务,并不能漂移到另一个节点上呢。只有当关掉其中一台服务器时,数据库才漂移了。
难道sql server 2005不支持这个功能?
--配置集群参考了:
http://blog.csdn.net/kk185800961/article/details/46509099
http://dufei.blog.51cto.com/382644/86260/
配置域环境参考了https://jingyan.baidu.com/article/1e5468f900946e484861b77d.html