【VMC实验室】在QCloud上建立您的SQL Cluster(5)

本篇已被腾讯云官网腾云阁收录《在QCloud上建立您的SQL Cluster(5)》sql


终于到了本系列最后一篇,在上一篇中,咱们准备好了各类资源,包括搭建SQL Cluster群集的底层,在发布了前面四篇后我收到了大量反馈,如今集中回答下。安全

A、文中采用iscsi服务器做为共享存储仅仅是为demo效果,可是生产环境毫不推荐使用IAAS层面的iscsi服务器,那么究竟什么样的架构才能够相对合理(IaaS层面的Guest Cluster没有绝对合理的架构)呢?我我的建议是这样的,能够采用AlwayON来进行搭建SQL高可用(这也是从SQL Server 2012以后就主推的架构),AlwayON(可是一样须要安装Cluster,只是不须要再起SQL Role,在SQL Server 2016 Always On不依赖域)能够无存储进行搭建,若是确确实实须要搭建SQL Cluster,有什么办法呢?目前来讲,国内大部分公有云厂商不支持双挂NAS盘的架构,QCloud实际上底层支持,可是这一样须要必定的level(钱。)才能够支持这种特殊配置,据我所知,目前客户群体中不超过两位数。服务器

B、那既然SQL Servr2012以后不推崇SQL Server Failover Cluster了,为毛你还要写SQL Server Failover Cluster文章?首先写SQL Server Failover ClusterC最主要的目的是给大部分客户在国内云厂商上搭建 Failover Cluster(不仅仅是SQL Cluster)提供指引,其次也是为了验证国内云厂商的可折(tu)腾(cao)性,单从这两点来看,目前效果仍是不错的,从文章被官方腾云阁收录的状况来看,国内云厂商的容忍度仍是比较高的。网络

C、 后续计划是怎么样的?大家觉得就只有SQL Cluster吗?看过我我的博客的童鞋应该都知道,我所写的文章基本都是系列文,并且是平行世界炒鸡大的系列文,既然此次系列文反响还不错,那么解下来的尿性应该就是《在QCloud上建立您的XXXX》的一大堆博文了,最终会跟我 VMCloud云平台系列文章 作整合,这算是埋下的一个彩蛋,敬请期待。架构

有些童鞋确定存在疑问,为何作一个SQL Cluster须要这么多CLB(VIP),这么多角色有点混乱,如今咱们就来捋一捋,涉及到本系列文章其实最重要有三个角色:运维

l Cluster分布式

l DTCide

l SQL Cluster测试

其中Cluster做为DTC、SQL的基础群集服务,天然不用多讲,那么DTC与SQL之间存在什么关系,我我的是运维集成工程师,并非专业DBA,经过请教DBA大师得知,DTC(分布式事务协调器)主要目的是为了实现分布式的事务型任务处理,确保节点间进程通讯一致,若是不作Cluster的话DTC不须要搭建,若是须要作到群集的话,DTC就是必要条件之一,当前环境只存在一个SQL Cluster,默认选择第一个(也是惟一一个)DTC实例做为分布式实例(为确保群集完整,这是SQL Server 2008以后才有的验证)。ui

好了,话痨了这么久,如今上正菜,涉及架构及相关网络以下:

wpsB2FD.tmp    

编号

服务器名称

生产IP

存储IP

心跳IP

对外VIP

1

Q-DC01

192.168.108.188

2

Q-SG01

192.168.108.206

10.11.11.231

3

Q-SQL01

192.168.108.254

10.11.11.

10.10.10.2

ClusterName

192.168.108.99

SQLClusterName

192.168.108.68

4

Q-SQL02

192.168.108.114

10.11.11.

10.10.10.234



一、 ClusterName群集名已经用了一个CLB,如今要启用CLB第2、三个IP做为SQLCluster群集VIP绑定给两台CVM并指定DNS,记得把反向区域建立好,避免nslookup出现解析错误:

wpsB30D.tmp

wpsB30E.tmp

wpsB31F.tmp

二、 在SQL0一、SQL02安装DTS角色:

wpsB320.tmp

wpsB321.tmp

三、 确认SQL0一、SQL02介质到位,初始化两个节点的数据盘(咱们将SQL主程序安装在数据盘上,避免出问题),开始进行安装:

wpsB332.tmp

wpsB333.tmp

四、 点击 群集管理器 将SQLData01 进行脱机删除(上一篇主要为了测试将 共享存储 进行转换成CSV测试转移):

wpsB343.tmp

wpsB344.tmp

五、 点击SQLServer Setup安装程序,切换到安装:

wpsB355.tmp

六、 第一个节点(Q-SQL01)点击新的群集安装并输入License:

wpsB356.tmp

七、 一路点到安装故障转移群集规则检测,默认会有群集警告(前篇介绍过因为virio驱动):

wpsB366.tmp

八、 功能目录、实例根目录统一选择输入数据盘路径:

wpsB367.tmp

九、 输入以前配置好的群集名称及输入实例名称:

wpsB378.tmp

十、 在检查群集资源页上下一步(因为存在仲裁盘及默认cluster这里的SQL组不可用是正常的):

wpsB379.tmp

十一、 在群集磁盘页面选择SQL Data01做为SQLCluster共享存储:

wpsB38A.tmp

十二、 配置管理帐户(这里选定域管理,后面再添加SQLAdmin做为管理帐户,建议生产环境直接使用SQLAdmin域帐户做为管理帐户)

wpsB38B.tmp

1三、 为确保管理遍历,这里启用SA帐户:

wpsB39B.tmp

1四、 确认配置后开始安装:

wpsB39C.tmp

1五、 完成搭建,检查群集状态:

wpsB3AD.tmp

1六、 完成第一个节点的建立后,打开群集管理器,点击角色——选中SQL Server右键——选择添加资源——分布式事务处理协调器来添加DTC进行事务处理:

wpsB3AE.tmp

1七、 检查分布式事务处理协调器是否状态正常,正常后对SQL01进行重启下:

1八、 登陆SQL02,打开安装并选择:

wpsB3BE.tmp

1九、 一路下一步就会识别到群集并进行安装:

wpsB3BF.tmp

wpsB3D0.tmp

wpsB3D1.tmp

wpsB3D2.tmp

至此,完成群集搭建完成,若是应用要使用调用能够直接采用q-sqlcluster01.q-vmcloud.com(192.168.108.68)进行访问,当一个SQL节点挂了后Cluster就会切换到另一个节点(这里会存在停机时间1~2s),若是要实现没有停机时间的群集,能够采用目前推荐使用的AlwayOn或者直接采用PaaS级别的CDB(底层其实也是AlwayOn),效果以下:

wpsB3E3.tmp

模拟切换:

wpsB3E4.tmp

切换过程当中:

wpsB3F4.tmp

切换完成:

wpsB3F5.tmp


关于如何链接该群集实例 及 安全相关

l 直接使用SQL Server Manager Stuio连接,注意使用SQLCluster VIP:192.168.108.68进行连接

l 链接后先添加一个SQL管理员到登陆名中并指定相关权限

下批系列预告:


将放出更多基于QCloud的微软架构文章


logo_thumb

相关文章
相关标签/搜索