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

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

作者介绍:李斯达,微软最具价值专家、认证讲师、无界工程师、场景式学习倡导者,曾在阿里O2O仓储解决方案公司担任系统架构师一职,目前就职于互联网企业担任系统运维工程师,致力于IT改善生活的实践之路。

在国内公有云厂商上搭建一套SQL Cluster的难度相信做Windows的童鞋都会很清楚,并非它的搭建有多少难度,只是很多细节需要注意。

腾讯云,QCloud,为什么选择QCloud来做这个实验,除了QCloud是我的东家(这里我没收任何广告费啊),其实QCloud对Windows原生态保留得最好,所以很多种Windows实验(解决方案)在QCloud都是支持的。

所以,今天我就来讲讲如何在QCloud构建SQL Cluster,讲到这里,就有童鞋要问了,你们QCloud不是提供了PaaS级别的MSSQL吗?为啥子还要自建这么麻烦呢?这位童鞋问得很好,PaaS级别的MSSQL属于直接应用级别的,而大部分的传统过度到互联网(目前很多企业正在处于这个阶段)的公司需要的是半灵活半自动的架构,自已采购服务器搭建运维成本过于高,管理纬度相对多,风险也相对高点,所以折中的方案是把DB以下的架构交给我们的消防队员来做,DB以上的架构完全可以自已DIY来搞嘛。

Okay,话不多说,以下是今天需要的服务器信息(本例中会开通外网流量主要为了方便Demo,但是生产环境中不建议使用外网带宽):

编号 服务器名称 IP 角色 计费方式 配置
1 Q-DC01 192.168.108.188 DC 包年 S1,2C4G,无外网
2 Q-SG01 192.168.108.206 共享存储 包年 I1,4C16G,无外网
3 Q-SQL01 192.168.108.254 SQL Node1 随量计费 I1 或 S1 均可 8C32G,无外网
4 Q-SQL02 192.168.108.114 SQL Node2 随量计费 I1 或 S1 均可 8C32G,无外网

涉及架构如下:

Okay,开始动手:

一.创建实验内网:

PS:这里创建私有网络的好处就是在购买时可以选择这个私有网络作为机器内网网络,并且互相可以通讯,这样就可以组建起一个VPC网络,解决了AD中所需要的DNS、SVR等问题。

二.创建实验所用的项目组(仅仅作为标记用),进入用户中心-选择新建项目:


PS:这里是一个使用习惯问题,QCloud支持一个账户下多个开发商同时进行操作,这个项目组除了可以区分服务器类型、归属,同时也可以计算消耗。

三.购买服务器:

  1. Q-DC01:

  2. Q-SG01(选择自定义镜像,见槽点2):

  3. Q-SQL01、Q-SQL02(选择自定义镜像,见槽点2):

四. 设置DC策略

好,现在开干,先设置DC策略(这里是第一个需要注意的点),我们需要把本地管理员账户密码的复杂度提升上去,否则重启后无法登录(至少字母、数字、特殊字符):

五.改名后重启

接下来我们拿这台机子改名后重启(请注意改名后,相当于这台机子已经不能在控制台进行操作了,大部分国内公有云并不支持从主机内改名、改密码操作):

六.搭建AD域

Ok,现在我们开始搭建AD域,在服务器管理器添加角色与功能,接着按截图指引进行安装:



(勾选域服务)

(其他按照默认的来)

七.安装完成后,点击提升服务器为域控制器:


(输入域名)

输入恢复模式密码(非域管理员密码):

(正式环境这里的文件请选择备份目录)

(确认设置并开始安装)

(域搭建完成)

八.将三个节点加入到域中

首先把内网DNS改为DC的DNS地址(192.168.108.188),修改完成后尝试ping下q-vmcloud.com,如果能通,则加域可以成功:

(由于采用了私有网络,所以开机后会提示需要更改为以内网IP为名字的主机名,这里直接进行更改主机名即可)

(重启后加域完成)

附录,本篇槽点:

  1. 高IO的本地SSD盘大小是随配置的增加而增加,对于存储要求高的数据库来说,这明显设计不合理
  2. 国内大部分公有云为了提升生产速度,所以一般会把sysprep这一步给忽略,内置SID是相同的,

    所以同一批产生的虚拟机是无法加入域,关于这一点QCloud提供了解决方案(目测适用于所有平台):

所以在这一块,在国内公有云的标准操作其实是:
先生产一台虚拟机——Sysprep——提交为自定义镜像——然后再以该镜像作为基础镜像去生产

完成后关机并提交为自定义镜像(记得点击“执行sysprep制作镜像”):

然后把之前用公共镜像生产的虚拟机重新用自定义镜像生产:

在腾讯云上创建您的SQL Cluster(1)的更多相关文章

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

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

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

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

  3. 【腾讯云的1001种玩法】在腾讯云上创建您的SQL Cluster(5)

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

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

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

  5. 创建Django项目并将其部署在腾讯云上

    这段时间在做scrapy爬虫,对爬出来的数据基于Django做了统计与可视化,本想部署在腾讯云上玩玩,但是因为以前没有经验遇到了一些问题,在这里记录一下: 首先说下Django的创建与配置: 1. 创 ...

  6. 腾讯云上PhantomJS用法示例

    崔庆才 前言 大家有没有发现之前我们写的爬虫都有一个共性,就是只能爬取单纯的html代码,如果页面是JS渲染的该怎么办呢?如果我们单纯去分析一个个后台的请求,手动去摸索JS渲染的到的一些结果,那简直没 ...

  7. 如何用Baas快速在腾讯云上开发小程序-系列4:实现客户侧商品列表、商品详情页程序

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

  8. 如何用Baas快速在腾讯云上开发小程序-系列3 :实现腾讯云COS API调用

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

  9. 本地docker镜像上传Docker Hub,并且在腾讯云上pull该镜像,最后运行成功。

    1:在docker hub 上注册一个账号(本人直接能注册,有的说不能),然后创建自己的仓库. 2:登录docker hub ( longdbdocker --hub账号,longdb --仓库名称) ...

随机推荐

  1. mysql获取当前时间,及其相关操作

    获取UNIX时间戳 : UNIX_TIMESTAMP(NOW()) 1.1 获得当前日期+时间(date + time)函数:now() 除了 now() 函数能获得当前的日期时间外,MySQL 中还 ...

  2. ioshittest的用法

    昨天,发一个一个BUG.应用了一个第三方控件.一切好,效果出来符合要求. 准备收工时,再次进行测试,发现一个很严重后果的BUG,view上的按钮事件都没了. 经过各种测试,发现就是新引入的第三方控件引 ...

  3. FlexCell控件的使用

    private void grid1_GetCellText(object Sender, FlexCell.Grid.GetCellTextEventArgs e) { // 要使用虚表,可以在Gr ...

  4. zookeeper系列之十一—zookeeper会话超时

    1.会话概述 在Zookeeper中,客户端和服务端建立连接后,会话随之建立,生成一个全局唯一的会话ID(Session ID).服务器和客户端之间维持的是一个长连接,在SEESSION_TIMEOU ...

  5. iOS深入学习:(UITableView系列3:insertRow)

    前面一篇博客,我使用了reloadData来刷新界面,但是这样没有动画效果,那么我这里通过insertRowsAtIndexPaths:withRowAnimation设置动画效果,希望对大家有所帮助 ...

  6. Mysql 中 text类型和 blog类型的异同

    MySQL存在text和blob: (1)相同 在TEXT或BLOB列的存储或检索过程中,不存在大小写转换,当未运行在严格模式时,如果你为BLOB或TEXT列分配一个超过该列类型的最大长度的值值,值被 ...

  7. CurlSharp

    https://github.com/masroore/CurlSharp clone版本库之后,在本地使用,会遇到找不到dll的情况 编译EasyGet项目之后,进行调试,会提示 System.Ba ...

  8. 获取Token不完整问题

    有时会遇到获取Token只能获取一半的问题,明明有两个Cookie,但只获取到一个,这个是因为301重定向跳转设置问题,设置为True就可以获取到完整的Token了. myHttpWebRequest ...

  9. Xcode error: conflicting types for 'XXXX'

    问题描述:在main方法中调用了一个写在main方法后面的方法,比如: void main(){ A(); } void A(){} Xcode编译后就报错:conflicting types for ...

  10. nyoj325 zb的生日(DFS)

    zb的生日 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集训.他想给这两位兄弟买点什么 ...