006.SQLServer AlwaysOn可用性组高可用部署

一 数据库镜像部署准备

1.1 数据库镜像支持

有关对 SQL Server 2012 中的数据库镜像的支持的信息,请参考:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/cc645993%28v%3dsql.110%29

1.2 其余前置条件

  • 须要安装.NET 补丁,详见:https://support.microsoft.com/zh-cn/help/2654347/an-update-introduces-support-for-the-alwayson-features-in-sql-server-2。
  • 确保参与参与一个或多个可用性组的计算机不是域控,域控制器节点不支持可用性组。
  • 确保每台计算机都是 Windows Server 故障转移群集 (WSFC) 群集中的节点,详见:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/hh270278%28v%3dsql.110%29。
  • 确保有足够的WSFC节点,详见:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/ff877884%28v%3dsql.110%29。
  • 若要管理 WSFC 群集,用户必须是每一个群集节点上的系统管理员。
注意:建议预留足够的空间,在主数据库增加时,其相应的辅助数据库也增加相同量。
建议:建议您为 WSFC 群集成员之间的通讯和可用性副本之间的通讯使用相同的网络连接。

1.3 其余限制

  • 可用性副本必须由一个 WSFC 群集的不一样节点承载:对于某个给定可用性组,可用性副本必须由在同一 WSFC 群集的不一样节点上运行的服务器实例承载。惟一的例外是在迁移到另外一个 WSFC 群集时,此时一个可用性组可能会暂时跨两个群集。
  • 惟一的可用性组名称:每一个可用性组名称在 WSFC 故障转移群集上必须惟一。可用性组名称的最大长度为 128 个字符。
  • 可用性副本:每一个可用性组支持一个主副本和最多四个辅助副本。全部副本均可在异步提交模式下运行,或最多 3 个副本可在同步提交模式下运行。
  • 不要使用故障转移群集管理器来故障转移可用性组。 必须使用 Transact-SQL 或 SQL Server Management Studio。
注意:其余更多相关条件限制见:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/ff878487(v%3dsql.110)。

二 部署规划准备

2.1 服务器规划

按照以下规划配置主机名(domain前缀)及IP。
服务器名称
描述
IP
DNS
操做系统
数据库版本
dsserver.imxhy.com
DNS服务器
172.24.8.35
127.0.0.1
Windows Server 2012 R2 DC
 
nodea.imxhy.com
集群节点A
172.24.8.36
172.24.8.35
Windows Server 2012 R2 DC
SQLServer 2012 Enterprise
nodeb.imxhy.com
集群节点B
172.24.8.37
172.24.8.35
Windows Server 2012 R2 DC
SQLServer 2012 Enterprise
nodec.imxhy.com
集群节点C
172.24.8.38
172.24.8.35
Windows Server 2012 R2 DC
SQLServer 2012 Enterprise
 
服务器名称
描述
vip-cluster
SQL AlwaysOn VIP
nodea.imxhy.com
集群节点A
172.24.8.100/24
172.24.8.101/24
nodeb.imxhy.com
集群节点B
nodec.imxhy.com
集群节点C
提示:为便于测试,本环境将全部节点的专用、公用、域网络的防火墙均关闭。
故障转移集群VIP(172.24.8.100):用于链接故障转移集群管理器的集群
AlwaysOn VIP(172.24.8.101):用于链接AlwaysOn。

三 DNS服务器安装

dsserver相关IP设置以下。
128
服务器管理器 -> 添加角色和功能,选择DNS 服务器,下一步:
129
130
131
132
等待安装完成。
133
以下相关服务已安装完成。
134

四 安装 Active Directory 域服务

服务器管理器 -> 添加角色和功能,选择Active Directory 域服务。
135
136
等待安装完成。
137
以下相关服务已安装完成。
138
将此服务器提高为域控制器,进入域控制器服务向导。
139
弹出 Active Direcotry 域服务配置向导,选择 "添加新林”,输入域名imxhy.com,这个需慎重,FQDN配置完毕以后修改相对麻烦且有风险,并点击 "下一步" 按钮:
140
注意:若是是第一次搭建也是你整个内网中的第一台域控制器,那么须要选择第二项 "在新林中新建域",第一项是内网中已经存在 AD 环境再想搭建额外域控制器的时候使用的。
设置DSRM密码,默认林中的第一棵域树的根域的域控制器必须担当全局编录服务器和必须安装DNS服务,不能是只读域控制器。
设置"域还原密码",此密码至关的重要,后续作数据库迁移、备份、整理、恢复的时候均可能用到,须要谨记:
141
建立DNS委派,跳过便可。
142
NetBIOS名称,默认便可。
143
进入AD 域的数据库文件、日志文件和共享文件位置设置页面,此处保持默认设置,点击 "下一步" 按钮:
144
进入 "摘要" 界面,显示以前设置的摘要信息,点击 "下一步" 按钮:
145
先决条件检查,经过后便可进行安装。
146
安装向导进入安装过程。
147
提示:安装完成后,建议重启服务器。
此时,AD  域服务已经安装完成。ADDS域控制器已经安装完成,在完成域控制器的安装后,系统会自动的将该服务器的用户帐号转移到 AD 数据库中。
148
域控制器 DC 会将本身扮演的角色注册到 DNS 服务器内,以便让其余计算机可以经过 DNS 服务器来找到这台域控制器,所以先检查 DNS 服务器内是否已经存在这些记录。
149
首先检查域控制器是否已经将其主机名与 IP 地址注册到 DNS 服务器内,本域控制器也扮演DNS服务器,则进入DNS中查看,此处应该会有一个名称为 imxhy.com 的区域,主机(A)记录表示域控制器 dsserver.imxhy.com 已经正确地将其主机名与 IP 地址注册到 DNS 服务器内。DNS 客户端所提出的请求大可能是正向解析,即经过 hostname 来解析 IP 地址对应与此处的正向查找区域;经过 IP 来查找 hostname 即为反向解析,对应于此处的反向查找区域。
150
若是域控制器已经正确地将其扮演的角色注册到 DNS 服务器,则还应该有对应的 _tcp、_udp 等文件夹。在单击 _tcp 文件夹后能够看到以下所示的界面,其中数据类型为服务位置(SRV)的 _ldap 记录,表示 dsserver.imxhy.com 已经正确地注册为域控制器。其中的 _gc 记录还能够看出全局编录服务器的角色也是由 dsserver.imxhy.com 扮演的。
151
DNS 区域内包含这些数据后,其余要加入域的计算机就能够经过经过此区域来得知域控制器为 dsserver.imxhy.com。这些加入域的成员(域控制器、成员服务器、Windows 八、Windows 七、Windows Vista、Windows XP Professional 等)也会将其主机与 IP 地址数据注册到此区域内。

五 域用户建立及加入

5.1 域用户建立

控制面板 -> 管理工具 -> Active Directory 用户和计算机
152
设置相关sqluser帐号及密码。
153
设置符合必定密码复杂度要求的密码。
154
将sqluser加入到administrators管理组中。
155

5.2 加入域控

nodea相关IP设置以下。
156
高级 -> DNS -> 此链接的 dns 后缀,添加域控的完整名称。
157
计算机右键 -> 属性 -> 高级系统设置 -> 计算机名 -> 更改
修改计算机名nodea,修改隶属于域:imxhy.com
158
点肯定以后弹出一个输入在域控中创建的用户的用户名和密码。
159
提示加入成功,加入成功后建议重启计算机。
160
注意:nodea.imxhy.com、nodeb.imxhy.com、nodec.imxhy.com都须要配置相关DNS为172.24.8.35,而后加入域“imxhy.com”,具体方法参考如上便可。
5.3 服务器配置域账户管理员
在nodea.imxhy.com、nodeb.imxhy.com、nodec.imxhy.com计算机继续使用本地管理员administrator登陆,分别将“imxhy\sqluser”账户添加为本机管理员,如图所示:
161
注销本地administrator,使用sqluser@imxhy.com用户登陆,确认已具备管理员权限。
162
注意:nodea.imxhy.com、nodeb.imxhy.com、nodec.imxhy.com参考如上配置便可。

四 安装WSFC和建立群集

四种集群的仲裁配置:
多数节点:此配置不会用到仲裁磁盘,而所谓多数节点就是在正常节点数量占多数的状况下,集群才会提供服务,不然就中止服务。这种配置适用于奇数节点的集群,例如5个节点的集群,其正常节点数量必须至少3个,集群才会提供服务。
多数节点和磁盘:适用于偶数节点的集群,他在计算法定数量时会将仲裁磁盘计算进来,例如,4个节点+1个仲裁磁盘节点的集群,能够将其视为5个节点的集群,这时正常节点数量必须至少3个,集群才会提供服务。
多数节点和文件共享:它和(多数节点和磁盘)相似,不过仲裁磁盘改成共享文件夹内的文件。
没有多数:只有磁盘,只要仲裁磁盘脱机,集群就会中止提供服务(不建议使用)。
注意:域控不须要安装故障转移集群服务和SQL Server,也不须要加入到故障转移集群;
SQL Server 2012 AlwaysOn只支持最多一个主副本和四个辅助副本,最多容许三个同步提交的可用性副本(包括主副本),最多容许两个自动故障转移副本(包括主副本)。

4.1 安装故障转移集群

服务器管理器 -> 添加角色和功能,选择故障转移群集。
163
确认相关信息。
164
等待安装完成。
165

4.2 验证配置

服务器管理 -> 工具 -> 故障转移群集管理器,建立群集以前建议验证一次全部配置。
166
在“选择服务器或群集”界面中,单击“浏览”按钮将全部要加入群集的服务器添加进来,而后单击“下一步”按钮。
167
提示:域控不须要加入到群集中。
168
在验证配置向导中最好选择运行全部测试,进行所有检测就能够查看到服务器之间创建群集的全部设置,包括网络、共享磁盘、操做系统等。
169
确认相关测试项。
170
注意:测试须要必定时间,测试完毕后建议查看报告,报告中可详细查看具体的告警项,对于存储的警告,因为当前没有添加任何的存储设备,可忽略。对于网络警告,因为各个节点只有一个网卡(心跳和业务共用),可忽略。
171

4.3 建立WSFC

服务器管理 -> 工具 -> 故障转移群集管理器 -> 建立群集。
172
进入建立群集向导。
173
输出群集名称:SQLCLUSTER
174
注意:此IP为集群的管理名称和管理IP,跟AlwaysOn无关。
因为咱们当前尚未任何存储,因此不勾选将全部符合条件的存储添加到群集。
175
等待建立群集完毕。
176
建立群集完成。
177

五 查看验证群集建立

5.1 查看相关信息

经过故障转移群集可查看相关信息。
178

5.2 域控进行查看

在dsserver域控节点,控制面板 -> 管理工具 -> Active Directory 用户和计算机。
179
提示:生产环境强烈建议将业务网络和心跳网络进行独立。

六 配置群集

6.1 配置群集仲裁设置

180
进入配置群集仲裁向导。
181
选择高级仲裁配置,即手动配置仲裁。
182
选择全部节点。
183
不配置仲裁见证。
184
提示:对于本环境3个群集节点的状况,不须要仲裁磁盘,而所谓多数节点就是在正常节点数量占多数的状况下,集群才会提供服务,不然就中止服务。这种配置适用于奇数节点的集群,例如5个节点的集群,其正常节点数量必须至少3个,集群才会提供服务。
185
配置完成。
186

七 安装SQLServer 2012

参考《003.SQLServer数据库镜像高可用部署》第六步便可。
注意:安装SQLServer 2012建议临时将DNS改成外网DNS,如223.5.5.5,安装过程须要更新相关补丁;
服务器配置,保持默认,安装完毕后修改成域帐号便可;
同时建议使用本地用户Administrator登陆这三个集群节点进行安装,不要用域用户sqluser登陆,若是一开始使用域用户sqluser来登陆集群节点机器,在安装SQL Server的过程当中SQL Server安装程序会链接故障转移集群,可是实际上单机安装SQL Server不须要链接故障转移集群,其余操做同样。

7.1 配置SQLServer以域账户运行

注销本地administrator用户,使用域帐户登陆,在全部节点的“管理工具”中打开“服务”(或者用“SQL Server 配置管理器”),修改SQL Server实例的属性,将登陆身份改成“imxhy\sqluser”。修改以后,重启SQL Server实例。
187
如图所示服务设置为自动,并登陆身份使用域帐户。
188
提示:安装过程当中服务器配置已添加域帐户可跳过此7.1步骤。
说明:全部节点都须要如上配置。

八 受权域帐户相关权限

8.1 授予域帐号sysadmin角色

使用sa用户登陆。
189
添加域帐户。
190
授予sysadmin和public权限便可。
191
注意:nodea.imxhy.com、nodeb.imxhy.com、nodec.imxhy.com参考如上配置便可。

九 配置AlwaysOn可用性组

9.1 启用AlwaysOn可用性组

使用域帐号IMXHY\sqluser登陆数据。
192
进入SQL Server配置管理器,SQL Server服务开启AlwaysOn高可用性。
193
注意:集群节点必定要能进行通讯,若是集群节点之间断开通讯,那么启用AlwaysOn的时候会报错。
重启SQL Server。
194
若是AlwaysOn启用成功,在服务器属性里HADR状态置为True。
195
注意:nodea.imxhy.com、nodeb.imxhy.com、nodec.imxhy.com参考如上配置便可。
在集群任意节点的SQL Server中验证各节点的投票数,命令以下:
SELECT * FROM sys.dm_hadr_cluster_members;
196
 
197

十 测试数据库准备工做

略,参考《003.SQLServer数据库镜像高可用部署》第七步。
注意:本过程须要将nodea用于测试的MDB还原至nodeb、nodec节点。

十一 新建可用性组

11.1 进入新建可用性组向导
198
简介,下一步。
199
输入可用性组名称,如USAG。
200
选择须要添加的数据库,数据库必需要是完整恢复模式而且要先进行一次完整备份。
201
使用添加副原本将其余节点添加到可用性组中,设置为可读,并选择自动故障转移节点和同步提交节点。
202
端点和备份首选项默认便可。
203
提示:端点URL也可以使用IP的方式,若服务器存在多个网卡(业务和心跳分开),使用FQDN长名的方式可能不能保证端点数据经过心跳网卡来传送。
配置侦听器,参考以下:
204
数据库同步,经过第十步已经将数据库MDB同步至全部节点,选择仅联接便可。
205
确认相关验证。
206
点击“下一步”来检查并确认以前的配置信息,若无误,点击“完成”。同时也可保存创建可用性组脚本,以便分步诊断故障之用。
207
等待配置完成。
208

十二 确认验证

12.1 数据库验证

查看主库,数据库变为已同步。
209
查看辅助副本,辅助副本是可读的,在主副本上对MDB数据库作的更改都能同步到辅助副本上的MDB库。
210
 
211
 

12.2 故障转移集群验证

控制面板 -> 管理工具 -> 故障转移群集管理器
212
可用性组成为一个集群角色。
213

12.3 AlwaysOn可用性面板验证

AlwaysOn高可用性 -> 右键显示面板
214

12.4 域控制器验证

在域控节点控制面板 -> 管理工具 -> Active Directory 用户和计算机查看相应的侦听器。
215

12.5 功能验证

任意节点经过侦听器地址:172.24.8.101登陆数据库。
216
登陆成功则表示AliwaysOn可用性组配置成功。
217
注意:加入到AlwaysOn可用性组的数据库必须符合下面要求
  • 数据库的恢复模式必须是“完整”恢复模式
  • 数据库已进行了一次完整备份
  • 须要是用户库,系统库不能加入可用性组
  • 数据库能够读写,只读库不能加入到可用性组
  • 数据库处于多用户模式
  • 数据库没有使用AUTO_CLOSE
  • 不属于任何其余的可用性组
  • 数据库没有配置数据库镜像
相关文章
相关标签/搜索