在国内公有云厂商上搭建一套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,开始动手:
1、 创建实验内网:
PS:这里创建私有网络的好处就是在购买时可以选择这个私有网络作为机器内网网络,并且互相可以通讯,这样就可以组建起一个VPC网络,解决了AD中所需要的DNS、SVR等问题。
2、 创建实验所用的项目组(仅仅作为标记用),进入用户中心-选择新建项目:
PS:这里是一个使用习惯问题,QCloud支持一个账户下多个开发商同时进行操作,这个项目组除了可以区分服务器类型、归属,同时也可以计算消耗。
3、 购买服务器:
a) Q-DC01:
b) Q-SG01(选择自定义镜像,见槽点2):
c) Q-SQL01、Q-SQL02(选择自定义镜像,见槽点2):
4、 好,现在开干,先设置DC策略(这里是第一个需要注意的点),我们需要把本地管理员账户密码的复杂度提升上去,否则重启后无法登录(至少字母、数字、特殊字符):
5、 接下来我们拿这台机子改名后重启(请注意改名后,相当于这台机子已经不能在控制台进行操作了,大部分国内公有云并不支持从主机内改名、改密码操作):
6、 Ok,现在我们开始搭建AD域,在服务器管理器添加角色与功能,接着按截图指引进行安装:
(勾选域服务)
(其他按照默认的来)
7、 安装完成后,点击提升服务器为域控制器:
(输入域名)
输入恢复模式密码(非域管理员密码):
(正式环境这里的文件请选择备份目录)
(确认设置并开始安装)
(域搭建完成)
8、 将三个节点加入到域中,首先把内网DNS改为DC的DNS地址(192.168.108.188),修改完成后尝试ping下q-vmcloud.com,如果能通,则加域可以成功:
(由于采用了私有网络,所以开机后会提示需要更改为以内网IP为名字的主机名,这里直接进行更改主机名即可)
(重启后加域完成)
附录,本篇槽点:
a) 高IO的本地SSD盘大小是随配置的增加而增加,对于存储要求高的数据库来说,这明显设计不合理
b) 国内大部分公有云为了提升生产速度,所以一般会把sysprep这一步给忽略,内置SID是相同的,
所以同一批产生的虚拟机是无法加入域,关于这一点QCloud提供了解决方案(目测适用于所有平台):
https://www.qcloud.com/doc/product/213/4829
所以在这一块,在国内公有云的标准操作其实是:
先生产一台虚拟机——Sysprep——提交为自定义镜像——然后再以该镜像作为基础镜像去生产
完成后关机并提交为自定义镜像(记得点击“执行sysprep制作镜像”):
然后把之前用公共镜像生产的虚拟机重新用自定义镜像生产: