版权声明:本文由李斯达原创文章,转载请注明出处: 
文章原文链接:https://www.qcloud.com/community/article/248

来源:腾云阁 https://www.qcloud.com/community

在上一篇我们介绍了如何在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授权哟)

  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来做(见槽点二)。

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

在腾讯云上创建您的SQL Cluster(2)的更多相关文章

  1. 在腾讯云上创建您的SQL Cluster(4)

    版权声明:本文由李斯达原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/255 来源:腾云阁 https://www.qclo ...

  2. 在腾讯云上创建您的SQL Cluster(3)

    版权声明:本文由李斯达原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/250 来源:腾云阁 https://www.qclo ...

  3. 在腾讯云上创建您的SQL Cluster(1)

    版权声明:本文由李斯达原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/247 来源:腾云阁 https://www.qclo ...

  4. 【腾讯云的1001种玩法】在腾讯云上创建您的SQL Cluster(5)

    版权声明:本文由李斯达 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/97264001482830465 来源:腾云阁 h ...

  5. 创建Django项目并将其部署在腾讯云上

    这段时间在做scrapy爬虫,对爬出来的数据基于Django做了统计与可视化,本想部署在腾讯云上玩玩,但是因为以前没有经验遇到了一些问题,在这里记录一下: 首先说下Django的创建与配置: 1. 创 ...

  6. 腾讯云上PhantomJS用法示例

    崔庆才 前言 大家有没有发现之前我们写的爬虫都有一个共性,就是只能爬取单纯的html代码,如果页面是JS渲染的该怎么办呢?如果我们单纯去分析一个个后台的请求,手动去摸索JS渲染的到的一些结果,那简直没 ...

  7. 如何用Baas快速在腾讯云上开发小程序-系列4:实现客户侧商品列表、商品详情页程序

    版权声明:本文由贺嘉 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/431172001487671163 来源:腾云阁 h ...

  8. 如何用Baas快速在腾讯云上开发小程序-系列3 :实现腾讯云COS API调用

    版权声明:本文由贺嘉 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/640268001487425627 来源:腾云阁 h ...

  9. 本地docker镜像上传Docker Hub,并且在腾讯云上pull该镜像,最后运行成功。

    1:在docker hub 上注册一个账号(本人直接能注册,有的说不能),然后创建自己的仓库. 2:登录docker hub ( longdbdocker --hub账号,longdb --仓库名称) ...

随机推荐

  1. EasyUI DataGrid 添加排序

    这个事例演示了如何在点击列头的时候排序DataGrid中全部的列可以通过点击列头被排序.你可以定义可以被排序的列.默认的,列不能被排序除非你设置sortable属性为TRUE,下面是例子:标记 < ...

  2. WebForm在JS中从Dropdownlist添加数据,在C#段读取

    (1)页面设置和JS代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Def ...

  3. 详细Java中的内存泄漏

    1.Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址.Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Hea ...

  4. CodeForces 34B Sale

    Sale Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status ...

  5. Cheatsheet: 2013 07.09 ~ 07.20

    Mobile How to implement Android Splash Screen Migrating iOS MVC Applications to Windows Phone 8 (M-V ...

  6. MySql性能优化相关

    原来使用MySql处理的数据量比较少,小打小闹的,没有关注过性能的问题.最近要处理的数据量飙升,每天至少20W行的新增数据,导致MySql在性能方面已经是差到不可用的地步了,必须要重视MySql的优化 ...

  7. Linux系统下如何配置SSH?如何开启SSH

    查询\安装SSH服务 1.登陆linux系统,打开终端命令.输入 rpm -qa |grep ssh 查找当前系统是否已经安装 2.如果没有安装SSH软件包,可以通过yum  或rpm安装包进行安装( ...

  8. [SAP ABAP开发技术总结]字符串表达式String Expressions

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. 多线程技术在iOS开发中的使用

    进程和线程 要使用多线程,首先需要理解进程和线程这2个概念.这里我简单的说一下. 所谓进程对应的是一个应用程序,负责开辟内存空间供应用程序使用,但是进程不能执行任务(指令).一个进程至少包含一条线程, ...

  10. find command in linux terminal

    Say you want to search for files with keyword as "keyword". find / -name keyword 2> /de ...