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


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


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


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


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

 

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

编号服务器名称生产IP存储IP心跳IP对外VIP
1Q-DC01192.168.108.188
2Q-SG01192.168.108.20610.11.11.231
3Q-SQL01192.168.108.25410.11.11.    10.10.10.2

4Q-SQL02192.168.108.11410.11.11.    10.10.10.234

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


涉及架构如下:

Okay,开始动手:


  1. 创建多个网卡作为辅助网卡添加到对应的 CVM 中,这里暂时不支持从控制台直接新建(已经快上线的功能)所以咱们通过 API 来进行添加即可 可以参考这两篇文章:创建私有网络 VPC 内通过keepalived搭建高可用主备集群(记得先申请 API 授权哟)


  2. 创建完成后得使用 DescribenetworkInterfaces 遍历网卡(使用 api 创建的网卡不会在界面显示


  3. 进行网卡改绑定(目前也仅能通过 API ):

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


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

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

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


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


附录(本篇槽点):


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


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


  1. 创建 VPC 私有网络

  2. (以同样的方式创建存储心跳) 效果如下:

  3. 接下来将 SQL01、SQL02 根据正文中的步骤重新创建网卡并做绑定(无法直接进行修改,见槽点三)


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





©著作权归作者所有:来自51CTO博客作者mb5fdb0a87e2fa1的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 在腾讯云上创建您的 SQL Cluster (1)
  2. 如何在Mac上的照片中创建新的相册或文件夹?
  3. 入门教程:5步创建K8S Job,搞定批处理
  4. php守护进程创建和简要分析
  5. python + ldap +jira 发送 钉钉@艾特人
  6. Java 8 Stream API 入门者教程
  7. Phoenix实战 | Phoenix ODPSBulkLoadTool使用案例
  8. ESXi主机网卡识别为10Mb导致业务缓慢
  9. linux下逻辑卷的创建和管理

随机推荐

  1. Android初小试---一分钟傻瓜式打包
  2. android studio 提示no android sdk foun
  3. Robotium Recorder的初试
  4. Android各种花式酷炫自定义控件开源库集
  5. 关于RelativeLayout的一点经验
  6. android 4.0 sdk直接下载地址
  7. UI
  8. andoid sys bug 转载
  9. [Android] Android的音频采集
  10. AndroidStudio中jniLibs目录自动生成