个人介绍:微软最具价值专家、认证讲师、无界工程师、场景式学习倡导者,曾在阿里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,开始动手:
所以咱们通过API来进行添加即可,可以参考这两篇文章:创建私有网络和VPC内通过keepalived搭建高可用主备集群 (记得先申请API授权哟)。
PS:注意是networkinterfaceid不是name,且成功后也不会在控制台上体现,但是在系统内部可以看到。
(存储网络,两个SQL节点,一个存储节点)
(心跳网络,两个SQL节点)
一. 创建弹性网卡到绑定主机这个流程太考验运维实力了,运维童鞋的代码能力直接决定了这个架构是否搭建成功,因为创建弹性网卡需要API调用,查看弹性网卡需要API调用,绑定弹性网卡也需要API调用(这一点博主已经直接怼了研发童鞋跟产品童鞋进行双向整改)。
二. 这里其实有更加优化的方案去做网络隔离,那就是私有网络也用不同的,但是这是博主之后想到,创建网卡也需要指定子网ID,就意味着要修改网卡重,根据槽点A这是致命的,所以博主按照规范及架构考虑,强烈建议分离,操作如下:
三.修改弹性网卡的API ModifyNetworkInterface竟然只能修改网卡名称跟网卡描述,如果要更改网卡,要经过 解绑主机网卡 —— 删除弹性网卡 —— 创建新弹性网卡 —— 绑定主机。。而这一切,是的还是得通过API来做(见槽点二)。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。