【腾讯云的1001种玩法】在腾讯云上创建您的SQL Server 故障转移集群(2)

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

上一篇文章中我们介绍了如何在 QCloud 标准化的搭建一套域环境,并介绍了如何在生产过程中如何避免一些坑,今天,我们来介绍此次demo中真正需要注意的一些细节及实现技术手段,主要为了让大家理解群集环境的隔离如何在 QCloud 上实现,先来看看以下两个 FQA :

Q1:QCloud 提供了虚拟机多个网卡的技术,但是如何确保它们在物理上是隔离的呢?

A1:不可能完全隔离,因为不单单是 QCloud ,大部分的公有云(包括国际)底层都是采用多个网卡做 team 来进行多卡容灾,如果要多个 vNet 拆分对应多个物理网卡无非是增加服务器硬件成本,不过目前为止貌似也没有哪个公有云厂商敢宣称做了完全的 SDN ( SDN 意味着屏蔽了硬件,vNet 可随机落在某个宿主机的某个网卡上,这一点至少我们已经在日程上了),如果有兄弟知道这方面的资源欢迎纠偏指正。

Q2:既然无法完全物理隔离难道没办法解决线路分离问题吗?

A2:完全物理分离的完美方案几乎不可能,对国内公有云来说也的确有点为难,所以尽可能的去避免单点故障还是有可能的,有这么一种方案,现在 QCloud 的虚拟机投放策略是尽可能打散在不同宿主机,那就意味着同一台宿主机多个虚拟机同一个物理网卡的可能性是微乎其微的,为了确保这个信息,可以提交工单来确保这个问题:

Okay,回答了上述问题后,我们开始进入正题,以下是今天需要的服务器信息(本例中会开通外网流量主要为了方便 Demo,但是生产环境中不建议使用外网带宽):

编号

服务器名称

生产 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

4

Q-SQL02

192.168.108.114

10.11.11. 10.10.10.234

关于 SG,是用来作为 SQL Cluster 共享存储,存储作用一共分为三块,一块作为仲裁盘,一块作为生产数据,一块作为备用(未启用预留空间)。

涉及架构如下:

Okay,开始动手:

  1. 创建多个网卡作为辅助网卡添加到对应的CVM中,这里暂时不支持从控制台直接新建(已经快上线的功能)

所以咱们通过API来进行添加即可,可以参考这两篇文章:创建私有网络VPC内通过keepalived搭建高可用主备集群 (记得先申请API授权哟)。

  1. 创建完成后得使用DescribenetworkInterfaces遍历网卡(使用api创建的网卡不会在界面显示
  1. 进行网卡改绑定(目前也仅能通过API):

PS:注意是networkinterfaceid不是name,且成功后也不会在控制台上体现,但是在系统内部可以看到。

  1. 使用同样的方式创建网卡,确认两个sql子机都可以获得网卡后(分别有三块,1块生产、1块心跳、1块存储),这里偷了下懒用内部系统看了下对应关系是正确的:

(存储网络,两个SQL节点,一个存储节点)

(心跳网络,两个SQL节点)

  1. 确保心跳网络、存储网络两两之间是通的。

附录,本篇槽点:

一. 创建弹性网卡到绑定主机这个流程太考验运维实力了,运维童鞋的代码能力直接决定了这个架构是否搭建成功,因为创建弹性网卡需要API调用,查看弹性网卡需要API调用,绑定弹性网卡也需要API调用(这一点博主已经直接怼了研发童鞋跟产品童鞋进行双向整改)。

二. 这里其实有更加优化的方案去做网络隔离,那就是私有网络也用不同的,但是这是博主之后想到,创建网卡也需要指定子网ID,就意味着要修改网卡重,根据槽点A这是致命的,所以博主按照规范及架构考虑,强烈建议分离,操作如下:

  1. 创建VPC私有网络
  2. (以同样的方式创建存储心跳) 效果如下:
  3. 接下来将SQL01、SQL02根据正文中的步骤重新创建网卡并做绑定(无法直接进行修改,见槽点三)

三.修改弹性网卡的API ModifyNetworkInterface竟然只能修改网卡名称跟网卡描述,如果要更改网卡,要经过 解绑主机网卡 —— 删除弹性网卡 —— 创建新弹性网卡 —— 绑定主机。。而这一切,是的还是得通过API来做(见槽点二)。

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我是攻城师

为什么要用Docker?

3396
来自专栏喵了个咪的博客空间

Kubernetes(一) - Docker管理工具

1053
来自专栏架构师之路

为啥总在凌晨上线,如何无损发布

1583
来自专栏编程

DNS 负载均衡:如何提升网站性能

如果你想提高你的网站或Web应用程序的访问速度,DNS负载均衡或许可以帮助你实现这一目标。通过帮助你分散收到的流量,有助于使网站以最佳的速度运行。 ? 什么是D...

1746
来自专栏贾老师の博客

关于 docker 的一些总结和观点

1175
来自专栏维C果糖

史上最简单的 MySQL 教程(三十八)「事务(上)」

而事务安全,是一种保护连续操作同时实现(完成)的机制。事务安全的意义就是,保证数据操作的完整性。

4009
来自专栏FreeBuf

SOC日志收集实践:企业邮件服务日志收集

这次我们举个接近实际生产的例子,来说明开源SOC系统如何采集数据,如果之前介绍系统是抽象的,现在就是实例具象的。平时我们利用日志系统收集了大量的各类的日志数据,...

890
来自专栏SDNLAB

分层安全用于通用客户端设备(uCPE)部署的准则

1285
来自专栏腾讯云技术沙龙

小白也能玩转Kubernetes 你与大神只差这几步

6月30日,腾讯云联合InfoQ举办的云+社区技术沙龙,以Kubernetes 上云一键部署、云上大规模计算平台构建、CIS底层技术实现、Tencent Hub...

59717
来自专栏IT大咖说

你只知大数据的便利,却不知漏洞——hadoop安全完整解析

内容来源:2017 年 07 月 29 日,威客安全技术合伙人安琪在“CDAS 2017 中国数据分析师行业峰会”进行《大数据平台基础架构hadoop安全分析》...

1094

扫码关注云+社区