【腾讯云的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 条评论
登录 后参与评论

相关文章

来自专栏BeJavaGod

SSO - 我们为何需要单点登录系统

SSO,Single Sign On,也就是单点登录,保证一个账户在多个系统上实现单一用户的登录 现在随着网站的壮大,很多服务会进行拆分,会做SOA服务,会使用...

2755
来自专栏WeTest质量开放平台团队的专栏

如何应对苹果 app 的 ipv6 时代?腾讯专家教您进行环境改造

WWDC 2015 苹果宣布在 ios9 支持纯 IPv6 的网络服务,并且要求2016年提交到 app store 的应用必须兼容纯 IPv6 的网络,要求适...

1K1
来自专栏胡彬的专栏

腾讯云分布式数据库 DCDB 架构解密

腾讯云金融级数据库 CDB for TDSQL (Cloud DataBase for Tecent Distribute SQL)是一个适用于 OLTP 场景...

4060
来自专栏IT大咖说

初识华为开源项目 ServiceComb

摘要 本文将向介绍ServiceComb开源项目的整体架构及特点、ServiceComb Release 0.3.0的增强功能、基于ServiceComb介绍参...

4646
来自专栏FreeBuf

真实网站劫持案例分析

1. 概述 上段时间一直忙于处理大会安全保障与应急,借助公司云悉情报平台,发现并处置几十起网站被劫持的情况。对黑客SEO技术颇有感觉。正好这段时间有时间,把以前...

3075
来自专栏CSDN技术头条

使用HAProxy、PHP、Redis和MySQL支撑10亿请求每周架构细节

【编者按】在公司的发展中,保证服务器的可扩展性对于扩大企业的市场需要具有重要作用,因此,这对架构师提出了一定的要求。Octivi联合创始人兼软件架构师Anton...

2466
来自专栏程序人生 阅读快乐

MySQL技术内幕(第4版) - 杜波依斯

由杜波依斯编著的《MySQL技术内幕(第4版)》介绍了MySQL的基础知识及其有别于其他数据库系统的独特功能,包括SQL的工作原理和MySQL API的相关知识...

451
来自专栏AI2ML人工智能to机器学习

轻度解释Cloud Foundry命令行

我们知道Cloud Foundry (CF)是一个PaaS平台。 CF命令行(CLI)作为开始部署使用CF云平台的用户来说,一个轻度的CF CLI的解释会是一...

663
来自专栏腾讯大讲堂的专栏

InnoDB 列压缩,提升 DB 性能

十年来腾讯游戏致力于带给玩家最好的快乐体验,腾讯游戏的后台数据库一直守护着亿万玩家的数据,提供稳定透明的服务。 腾讯后台数据库大部分使用的是MySQL数据库,现...

1829
来自专栏JAVA后端开发

通用数据级别权限的框架设计与实现(1)-相关业务场景的分析

个人代码已经完成,如需要请打赏后通知我。谢谢,如果你觉得该文章对你有帮助,麻烦点赞。 欢迎继续查看下篇文章-通用数据级别权限的框架设计与实现(2)-数据权限的...

893

扫码关注云+社区