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

什么是虚拟机迁移

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

虚拟机拟机迁移分类虚

热迁移:开机状态下迁移

冷迁移:关机状态下迁移

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

  1. 虚拟机的配置文件

  2. 虚拟机的内存呢

  3. 虚拟机的磁盘文件

虚拟机配置文件迁移

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

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

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

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

内存迁移

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

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

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

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

  1. 然后将这块只读的内存通过迁移网络迁移到目标宿主机
  1. 多次迭代迁移

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

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

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

存储热迁移

为什么要存储热迁移

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

存储热迁移原理

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

虚拟机迁移注意事项

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

  2. 跨集群热迁移条件

  3. CPU必须兼容

  4. 两个集群共享同一个存储资源

  5. 跨集群热迁移必须手动,无法自动实现

相关推荐
AOwhisky1 小时前
云计算一阶段Ⅱ——12. SELinux 加固 Linux 安全
linux·安全·云计算
记得开心一点嘛4 小时前
实名认证 —— 腾讯云人脸识别接口
云计算·腾讯云
INFINI Labs13 小时前
Easysearch 集成阿里云与 Ollama Embedding API,构建端到端的语义搜索系统
阿里云·云计算·openai·embedding·easysearch
萌吖LOVETurtle~13 小时前
阿里云部署微调chatglm3
elasticsearch·阿里云·云计算
AKAMAI15 小时前
运维逆袭志·第1期 | 数据黑洞吞噬一切 :自建系统的美丽陷阱
运维·人工智能·云计算
在云上(oncloudai)16 小时前
AWS Lambda Function 全解:无服务器计算
serverless·云计算·aws
JuiceFS19 小时前
3000 台 JuiceFS Windows 客户端性能评估
后端·云原生·云计算
XR101yqm122120 小时前
川翔云电脑:引领开启算力无边界时代
服务器·网络·云计算
AOwhisky21 小时前
云计算一阶段Ⅱ——11. Linux 防火墙管理
linux·运维·云计算
wb1892 天前
服务器的Mysql 集群技术
linux·运维·服务器·数据库·笔记·mysql·云计算