随着企业引入OpenStack平台以后,从边缘应用需求逐步进入到准核心,甚至是核心业务的需求和趋势,私有云运营团队常常需要面对多样化的虚拟机迁移问题和需求(包括计划内和计划外)。

例如,物理服务器进行计划内的停机维护,或者根据对计算和存储更加细粒度的管理和规划,需要将计算和存储融合部署的架构,拆成分离部署架构,以便于未来业务的扩展。这些都涉及到虚拟机的迁移。

根据迁移操作对业务的影响,虚拟机的迁移一般分为两类:

1、冷迁移(Cold Migration / Non-live Migration

虚拟机需要先停机,等待与此虚拟机相关的计算和存储等资源迁移完成后,再重新启动。在迁移期间,业务无法访问,只有迁移完成后,业务才能恢复。由于迁移过程中涉及到存储数据的拷贝,如果数据量比较大,会造成停机时间过长且不可控,因此冷迁移仅适用于对系统可用性要求不高的业务。

2、热迁移(Live Migration

虚拟机在迁移过程中保持运行状态,业务可正常访问,根据虚拟机的存储类型又可分为:基于共享存储的热迁移、块设备的热迁移和基于卷的热迁移等。 由于涉及到计算、网络和存储的一体化热迁移,对底层基础设施的要求较高。

01两种场景下的对比

我们先来对比VMware和OpenStack对虚拟机迁移的支持情况:

从上图可以看出,VMware历经了十多年的商业化发展道路,对虚拟机迁移的支持更为全面,支持计算和存储的热迁移,甚至是跨集群迁移,这通常对于目标规划两地三中心业务高可用的用户来讲非常重要,但这些功能仅限于VMware场景使用,也就意味着在满足业务高可用需求的同时,选择了相对比较单一的私有云模型,给用户在供应商平台选择上带来局限性;

相比之下,OpenStack对虚拟机迁移功能的支持则不够完善,对于存储迁移,由于OpenStack本身开放的架构,需要依赖存储厂商实现存储层的迁移能力。

以Ceph为例,Ceph RBD作为OpenStack主流的存储后端,默认不支持在线热迁移,RBD裸盘只能进行离线迁移,这就意味着如果进行跨集群迁移,虚拟机需要长时间停机,整体迁移进度受制于存储的迁移进度,如果存储容量较大,更会让整个迁移时间不可控。

如今,XSKY SDS逐步被很多用户引入到已有的OpenStack架构中,用于替换该私有云架构中原有的Ceph SDS集群,这些用户包括对于业务连续性要求非常高的省级,甚至是更大规模的金融平台。

为了帮助用户应对棘手的在线热迁移问题,XSKY基于自主研发的纳管卷、在线卷迁移和多集群存储等特性,设计了XMotion纳管热迁移技术,不但支持多家OpenStack厂商,提供面向虚拟机和租户的存储计算一体化迁移方案,更可将整体迁移效率提升10倍以上

XSKY的纳管迁移方案具有以下优势:

  • 支持存储在线热迁移,业务无需中断,可在业务正常运行中进行迁移;
  • 不仅支持存储独立纳管迁移,也支持计算和存储一体化迁移;
  • 以卷为单位,上层应用无感知,无兼容性问题;
  • 支持从开源Ceph迁移到XSKY存储集群,也支持从XSKY老集群迁移到新集群;
  • 支持跨计算和存储集群进行迁移;
  • 无厂商锁定,支持多家OpenStack厂商;
  • 强一致的数据完整性保证,不丢增量数据;
  • 支持迁移QoS,可根据业务需要自定义迁移速率,并可随时撤销迁移任务;
  • 支持以虚拟机或租户为单位,自动扫描关联的存储,一键迁移;
  • 结合虚机业务的完善回滚方案,应对海量数据迁移过程中的各种硬件和网络异常情况。

02存储纳管迁移

下面以XSKY存储集群纳管开源Ceph为例,介绍存储纳管迁移的步骤:

1、将计算节点添加到XSKY存储集群;

2、OpenStack Nova/Cinder等服务配置存储多集群,可同时访问开源Ceph集群和XSKY存储集群;

3、在XSKY存储集群创建纳管卷,关联该纳管卷与Ceph集群中的被纳管卷;

4、OpenStack Nova/Cinder等服务配置使用纳管卷;

5、XSKY纳管卷启动在线卷迁移;

6、后台数据在线迁移完成后,XSKY纳管卷会自动合并和清理底层临时数据,完成整个迁移过程。

纳管迁移中的IO访问流程如下图所示:

在迁移过程中,由libvirt发起的虚拟机读操作将由迁移网关从开源Ceph读取,写操作则由迁移网关进行同步双写,同时写入纳管卷与被纳管卷;

迁移完成后,读写操作将都只针对新池进行。纳管迁移网关对上层屏蔽迁移细节,libvirt对整个迁移过程无感知,无需做任何修改。

03存算一体化在线迁移

XMotion除了提供存储纳管迁移以外,也支持多家OpenStack厂商之间的存储和计算一体化迁移方案,以虚拟机为单位,自动化迁移虚拟机及其存储部分。

下面我们以某省级农信社的大规模OpenStack生产集群迁移为案例,介绍XMotion的存储和计算一体化在线迁移方案。

因为历史原因,过去为了规避单一供应商的产品和服务风险,该用户在对外省级联社以及对私内部运营,规划和筹建了两套OpenStack集群,这两套集群各自独立运营,资源以及权限分离管理;

而在过去三年的逐步比较中,发现B集群服务商具有更好的产品稳定性和商业服务能力,所以本次迁移的目标是为了将OpenStack厂商A的老集群迁移到OpenStack厂商B的新集群中,同时将原XSKY存储集群迁移到新版本的两套集群中,做存储灾备,因此涉及到计算和存储两个单元的同时跨集群迁移需求。

OpenStack原集群为计算和存储分离部署架构,其中,计算节点49(46台为纯计算节点,3台计算与控制节点融合部署),共2886虚拟机;存储节点107,采用3副本,裸容量4.38PB,有效容量1.46PB,已使用1PB,共5625个卷

集群迁移前后的架构如下图所示:

以单个虚拟机为例,XSKY的存算一体化迁移方案步骤如下:

1、初始化

  • OpenStack厂商创建迁移用的虚拟机,进行网络和计算资源初始化等工作
  • OpenStack配置多集群

2XMotion执行存储和计算的自动一体化迁移

  • 创建纳管卷
  • 迁移虚拟机
  • 纳管卷重命名
  • 启动迁移任务

本次迁移属于计划内升级迁移,因此允许对虚拟机业务停机,迁移耗时不超过3分钟,主要集中于虚拟机跨计算集群的重建和启动阶段,得益于XMotion的纳管热迁移技术,整个迁移过程不受存储容量的限制,新虚拟机启动后挂载纳管卷即可对外提供服务,由XSKY的迁移网关在后台执行数据热迁移,业务在存储迁移过程中不受迁移进度影响,可正常访问。

迁移完成后,在OpenStack控制面板可观察到新虚拟机已正常运行:

而在XSKY存储控制面板则可观察到存储卷为在线迁移状态:

XSKY支持针对在线迁移中的卷执行速率调整和取消迁移任务等操作:

  • 调整迁移速率,支持高、中、低三档迁移速率,如果担心迁移速率过大影响正常业务,则可将迁移速率调小;
  • 取消迁移任务,如果迁移导致业务速率降低,则可以取消迁移任务,释放带宽来满足前端业务需求,后续再重新开启迁移任务。

本次迁移实测的不同档次迁移速率如下:

XMotion迁移不仅可以支持跨OpenStack厂商和存储迁移,方便后期业务扩展,而且可以获得新版本XSKY存储集群的所有特性,迁移完成后的虚拟机性能也获得同步提升:

04更多适用场景

除了以上提到的场景外,XMotion纳管热迁移技术还可灵活应用于多种业务场景。

1、迁移开源Ceph或老版本XSKY存储

迁移需求:

  • 开源Ceph运维难度大, 将开源Ceph迁移到XSKY存储上,获得专业和易用的企业级存储能力;
  • 部署了新版本XSKY存储集群,希望将老集群迁移到新集群,释放老集群资源。

方案优势:

  • 保留OpenStack计算集群,迁移底层Ceph或XSKY老集群到XSKY新集群;
  • 以虚拟机和租户为单位,面向业务迁移;
  • 在线迁移,业务无感知;
  • 自动化迁移,运维成本低。

2、跨集群迁移计算和存储集群

迁移需求:

  • 计算集群升级;
  • 存算分离;
  • 跨集群迁移虚拟机;
  • OpenStack集群跨地域迁移;
  • 不同OpenStack厂商集群切换;
  • 要求迁移时间可控,迁移过程业务不中断。

方案优势:

  • 计算和存储同时迁移;
  • 支持跨计算集群和跨存储集群迁移;
  • 迁移时间可控,不受存储容量限制;
  • 多OpenStack厂商支持;
  • 自动化迁移,运维成本低。

05小结

OpenStack进入我们的视线已经有很多年了,开源且具有开放性的OpenStack平台对于许多植根互联网基因的企业来说具有强大的吸引力,但由于产品化程度不足,运维和开发投入的人力和资金往往不可忽视。

而最终在很多需要跨集群满足业务连续性的场景,无法攻城略地的原因,则来自于OpenStack场景下,天然短板的热迁移(Live-Migration)能力。XSKY  XMotion纳管热迁移技术,让OpenStack也能够支持热迁移,极大提升虚拟机迁移效率。

XSKY发布XMotion纳管热迁移技术,OpenStack集群迁移效率提升超10倍相关推荐

  1. OpenStack 之vmware机器迁移到openstack集群

    原理 openstack本身是支持使用vmware格式的镜像的,但是是需要我们我们在/etc/nova/nova.conf的配置文件中指定该计算节点使用vmware的驱动 1 2 3 4 5 6 7 ...

  2. 多云混合云之多集群统一管理:基于阿里云ACK统一纳管多个不同Kubernetes集群

    目前阿里云云原生产品家族已经支持多集群管理功能,允许使用阿里云容器服务Kubernetes(简称ACK)控制台或kubectl命令接入.统一纳管其他公有云.客户IDC自建K8s集群,集中管理部署K8s ...

  3. mongoDB 从单节点迁移到分布式集群 遇到的问题

    mongoDB 从单节点迁移到分布式集群 遇到的问题: 1.linux 环境下limit 的设置问题: 错误:     $ ps -ef|grep mongod     -bash: fork: re ...

  4. DAGAGUARD追加归档方式迁移到rac集群

    客户新买了oda x6-2,想替换原来的旧数据库服务器.原来的环境安装的是oracle11.2.0.4的单机版本dataguard,新的一体机安装的是oracle11.2.0.4.对于客户来说,想通过 ...

  5. Oracle单实例通过DG迁移至RAC集群(Oracle 11g 超详细文档)

    实验:Oracle单实例通过DG迁移至RAC集群(Oracle 11g 超详细文档) 步骤1:Oracle单实例搭建 1. 系统环境检查 2. 创建用户.组,配置环境变量.安装目录 3. 安装Orac ...

  6. Docker容器热迁移技术(基于CRIU实现)

    文章目录 前言 一.本地环境 二.容器自身迁移 三.跨容器迁移 四.多个进程运行时容器迁移 开始进行容器热迁移实现 回滚 前言 最近呢也是在一直研究docker容器热迁移,在网上查阅了大量相关的资料, ...

  7. Google发布Anthos:Google背书,宣告多集群多云Kubernetes时代已来

    2019独角兽企业重金招聘Python工程师标准>>> 今天, Google Cloud NEXT 2019大会召开,在这场规模三万人的盛会上,Google宣布推出Anthos作为多 ...

  8. mysql 热块_MySQL分布式集群之MyCAT(三)rule的分析【转】

    首先写在最前面,MyCAT1.4的alpha版本已经发布了,这里面修复了不少的bug,也完善了一细节,之前两篇博客已经做了一些修改 ---------------------------------- ...

  9. dubbo k8s 服务发现_将Dubbo微服务迁移到k8s集群环境中前的思考与落地

    将Dubbo微服务迁移到k8s中的思考与落地 说到容器化,不得不提kubernetes这个集群编排系统,它是一个开源系统,用于容器化应用的自动部署.扩缩和管理. Kubernetes 将构成应用的容器 ...

最新文章

  1. 在layui中使用ajax传值给后台,浅谈layui 数据表格前后台传值的问题
  2. response返回一段html,iframe调用后台方法通过response返回html代码
  3. Spark内核以及源码解析
  4. 《UML面向对象设计基础》—第1章1.5节消息
  5. laravel $request 多维数组取值_大白话 Laravel 中间件
  6. mysql 5.6.4以上版本innodb支持全文索引的测试
  7. 鸿蒙第一款手机,拿下“国内第一手机商”的OPPO,打算弃用华为鸿蒙?
  8. 深度学习 Deep Learning UFLDL 最新Tutorial 学习笔记 4:Debugging: Gradient Checking
  9. 73. 文件上传(2)
  10. JSONObject.fromObject()
  11. 内存带宽测试程序——stream2-C语言版
  12. python怎么找出列表中的重复数据_找出python列表中重复项的方法
  13. 小米平板2刷remix_【游戏体验】老旧电脑装安卓系统当平板玩街球
  14. 华为存储发展史:从筚路蓝缕到星辰大海
  15. 考题篇(6.2) 05 ❀ FortiGate ❀ Fortinet 网络安全专家 NSE 4
  16. 系统命名法(IUPAC命名法)
  17. mysql increment_mysql中auto_increment是干什么的?
  18. C语言编写学生成绩信息管理系统
  19. 2012年4月10日 周二
  20. limit用法,左右内连接的写法和区别

热门文章

  1. 使用python爬取猫眼电影、房王、股吧论坛、百度翻译、有道翻译、高德天气、华夏基金、扇贝单词、糗事百科(猫眼电影)
  2. Java操作Elasticsearch的所有方法
  3. finally在什么时候执行
  4. I2C和SPI总线,嵌入式工程师爱用哪个?
  5. fastadmin哪里看php版本,fastadmin-tp6
  6. Ubuntu 文件内容的查看与修改
  7. 结合帧差法与窗口搜索的车道线跟踪方法——第一篇处女座
  8. webSocket 实时语音
  9. 酒店管理系统(Java实现)
  10. MySQL学习笔记(B站网课:MySQL_基础+高级篇- 数据库 -sql -mysql教程_mysql视频_mysql入门_尚硅谷)已完结