当前位置: 首页 > news >正文

云计算基础-虚拟机迁移原理

什么是虚拟机迁移

虚拟机迁移是指将正在运行的虚拟机实例从一个物理服务器(或主机)迁移到另一个物理服务器(或主机)的过程,而不会中断虚拟机的运行。

虚拟机拟机迁移分类虚

热迁移:开机状态下迁移

冷迁移:关机状态下迁移

虚拟机可以迁移哪些东西?

1. 虚拟机的配置文件

2. 虚拟机的内存呢

3. 虚拟机的磁盘文件

虚拟机配置文件迁移

虚拟机配置文件迁移就是从主机A将虚拟机的配置文件移动至主机B的过程

首先看配置文件,在执行迁移前,虚拟机的配置文件是在CNA03上的

迁移完成,再看虚拟机的配置文件已经不在CNA03上了

CNA02上可以看到该虚拟机的配置文件

内存迁移

内存迁移使用了写时重定向,流程如下(只考虑内存迁移,不考虑脏页等其他任何情况)

1. 迁移前虚拟机对内存的读写如图

2. 在迁移时,虚拟机的原宿主机会在内存中生成内存位图,并将原内存空间置为只读状态

3. 内存位图内保存了原内存空间的指针,后续虚拟机的所有读写都是往内存位图空间去读写,内存位图有点类似于ROW的快照空间

如图,此时虚拟机所有读写操作都是在内存位图所在内存上操作,通过内存位图中的指针来读取VM的原有数据,新数据全部写入到内存位图所在内存

4. 然后将这块只读的内存通过迁移网络迁移到目标宿主机

5. 多次迭代迁移

迭代迁移只需要迁移变化的内存就可以了,假设每100M内存迁移需要10秒,VM1占用内存为1000M,则迁移这1000M内存需要100秒,假设这100秒内又产生了200M的新内存,如果此时阻止上层IO下发并将这200M内存迁移到目标主机后运行,这过程中则需要终端2秒业务,所以需要多次迭代迁移,减小业务中断时间直至为无感知状态

6. 当最后一次迭代迁移的内存足够小时,系统立即阻止上层IO下发,最后一次同步内存数据到目标主机,并将虚拟机的配置文件迁移到目标主机

7. 虚拟机在目标主机上运行,迁移完成

存储热迁移

为什么要存储热迁移

  1. 原存储老旧,需要更换
  2. 原存储负载太重,添加存储分担原存储压力
  3. 原存储性能不足,无法满足虚拟机运行要求,希望迁移到性能更好的存储上
  4. 改变磁盘模式

存储热迁移原理

  1. 在目的数据存储上生成差分磁盘文件,该磁盘文件中记录了原磁盘磁盘文件的指针,将虚拟机的虚拟磁盘修改为差分磁盘,此时,虚拟机所有的读写操作都是在差分磁盘文件上操作
  2. 将原磁盘文件合并到差分磁盘文件中
  3. 迁移完毕

虚拟机迁移注意事项

1. 虚拟机迁移不会影响业务,但会影响虚拟机性能,建议业务空闲时操作

2. 跨集群热迁移条件

  1. CPU必须兼容
  2. 两个集群共享同一个存储资源
  3. 跨集群热迁移必须手动,无法自动实现

http://www.lryc.cn/news/301560.html

相关文章:

  • 云计算基础-云计算概念
  • 如何将阿里云服务器迁移
  • 如何将本地的python项目部署到linux服务器中
  • 每日五道java面试题之java基础篇(五)
  • HiveSQL——用户行为路径分析
  • 专利的申请
  • 嵌入式学习 C++ Day5、6
  • 阿里云香港服务器cn2速度测试和租用价格表
  • 《学成在线》微服务实战项目实操笔记系列(P92~P120)【下】
  • php数据类型以及运算符、判断条件
  • 大数据01-导论
  • 智能网卡(SmartNIC):增强网络性能
  • 算法刷题day14
  • 个性签名大全
  • 前端常用代码整理(不断更新中)— js,jquery篇(2)
  • 普中51单片机学习(六)
  • visual studio注册码
  • Studio One 6.5下载安装激活图文教程
  • Kubernetes(K8S)集群部署实战
  • 流畅的Python(十)-序列的修改、散列和切片
  • TCP/IP五层各层协议详解
  • MySQL 基础知识(九)之视图
  • 算法之力扣数青蛙
  • 【后端高频面试题--Nginx篇】
  • TiDB 在医疗保障信息平台的应用实践
  • 支付交易——跨境交易
  • 上位机图像处理和嵌入式模块部署(上位机主要功能)
  • 【前端工程化面试题】webpack的module、bundle、chunk分别指的是什么?
  • 软件实例分享,家具生产出库管理系统软件教程
  • [uniapp的页面传参]详细讲解uniapp中页面传参的传递方式和接受方式 使用案例 代码注释