版权声明:本文由李斯达 原创文章,转载请注明出处: 
文章原文链接:https://www.qcloud.com/community/article/97264001482830465

来源:腾云阁 https://www.qcloud.com/community

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

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

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

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

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

有些童鞋肯定存在疑问,为什么做一个SQL Cluster需要这么多CLB(VIP),这么多角色有点混乱,现在我们就来捋一捋,涉及到本系列文章其实最重要有三个角色:

  • Cluster

  • DTC

  • SQL Cluster

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

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

编号 服务器名称 生产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
4 Q-SQL02 192.168.108.114 10.11.11. 10.10.10.234 SQLClusterName 192.168.108.99
  1. ClusterName群集名已经用了一个CLB,现在要启用CLB第二、三个IP作为SQLCluster群集VIP绑定给两台CVM并指定DNS,记得把反向区域创建好,避免nslookup出现解析错误: 

  2. 在SQL01、SQL02安装DTS角色: 

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

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

  5. 点击SQLServerSetup安装程序,切换到安装: 

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

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

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

  9. 输入之前配置好的群集名称及输入实例名称: 

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

  11. 在群集磁盘页面选择SQL Data01作为SQLCluster共享存储: 

  12. 配置管理账户(这里选定域管理,后面再添加SQLAdmin作为管理账户,建议生产环境直接使用SQLAdmin域账户作为管理账户) 

  13. 为确保管理遍历,这里启用SA账户: 

  14. 确认配置后开始安装: 

  15. 完成搭建,检查群集状态: 

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

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

  18. 登录SQL02,打开安装并选择: 

  19. 一路下一步就会识别到群集并进行安装: 


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

【腾讯云的1001种玩法】在腾讯云上创建您的SQL Cluster(5)的更多相关文章

  1. 【腾讯云的1001种玩法】腾讯云搭建DiscuzX论坛

    版权声明:本文由艾可德原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/506828001481866457 来源:腾云阁 h ...

  2. 【第1期】腾讯云的1001种玩法征集,Ipad mini和Kindle 等你拿!(文章评审中)

    版权声明:本文由阁主的小跟班原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/695994001482226944 来源:腾云 ...

  3. 【腾讯云的1001种玩法】几种在腾讯云建立WordPress的方法(Linux)(二)

    版权声明:本文由张宁原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/126547001488207964 来源:腾云阁 ht ...

  4. 【腾讯云的1001种玩法】 Laravel 整合万向优图图片管理能力,打造高效图片处理服务

    版权声明:本文由白宦成原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/574549001488234358 来源:腾云阁 h ...

  5. 【腾讯云的1001种玩法】 Laravel 整合微视频上传管理能力,轻松打造视频App后台

    版权声明:本文由白宦成原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/108597001488193402 来源:腾云阁 h ...

  6. 在腾讯云上创建您的SQL Cluster(4)

    版权声明:本文由李斯达原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/255 来源:腾云阁 https://www.qclo ...

  7. 在腾讯云上创建您的SQL Cluster(3)

    版权声明:本文由李斯达原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/250 来源:腾云阁 https://www.qclo ...

  8. 在腾讯云上创建您的SQL Cluster(1)

    版权声明:本文由李斯达原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/247 来源:腾云阁 https://www.qclo ...

  9. 在腾讯云上创建您的SQL Cluster(2)

    版权声明:本文由李斯达原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/248 来源:腾云阁 https://www.qclo ...

随机推荐

  1. c#的逻辑运算符重载

    不光是C++,实际上C#中同样可以对操作符重载.如:namespace Com.EVSoft.Math{  public class Vector3:BaseObject  {    ...    . ...

  2. ImageLoader加载图片

    先导universal-image-loader-1.9.3包 在application配置 android:name=".MyApplication" intent权限 1 pa ...

  3. PhpStorm创建Drupal模块项目开发教程(3)

    rush是 Drupal的脚本界面,PhpStorm的命令行工具支持Drush 5.8和更高版本. 接下来就Drush配置和基本操作进行设置,首先点击打开Settings | Command Line ...

  4. SQL常用语句整理

    有次笔试最后一页的三个数据库连接查询,没有写出来,被考官暗讽了下.现在想来,实习初,确实很LOW.现公司刚入职的时候,负责过ETL方面,所以和数据库打了不少交道,五十行的联合查询.上百行的存储过程很常 ...

  5. [JS]jQuery,javascript获得网页的高度和宽度

    [JS]jQuery,javascript获得网页的高度和宽度网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeigh ...

  6. PRINCE2项目管理七大流程之指导流程

    PRINCE2项目管理七大流程之指导流程   今天学习七大流程之二--项目指导流程 项目指导流程的目的就是使项目管理委员会能够对项目的成功负责,具体来说,是由项目管理委员会作出关键决策,并进行总体控制 ...

  7. 什么是Unicode letter

    起因:从一段代码说起 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...

  8. Android的学习第六章(布局二--RelativeLayout)

    今天我们来说一下Android布局中的Relativelayout布局(相对布局) 根据英译过来意思是相对布局,很容易理解,这一样布局使用的是元素与元素之间的微调做到布局的 含义:通过元素与元素之间的 ...

  9. Spring获取bean的工具类

    package com.tech.jin.util; import org.springframework.context.ApplicationContext; import org.springf ...

  10. 双层路由设置,WAN口和LAN口连接的方法设置

    WAN口设置方法,社路由器分别为路1 和路2 1 路2的LAN口地址改为172.16.1.1,重启 2 笔记本改成172.16.1.X,然后进入设置,在里面WAN地址设置为静态地址 192.168.1 ...