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

什么是虚拟机迁移

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

虚拟机拟机迁移分类虚

热迁移:开机状态下迁移

冷迁移:关机状态下迁移

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

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.hqwc.cn/news/472258.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM-JVM中对象的生命周期

申明:文章内容是本人学习极客时间课程所写,文字和图片基本来源于课程资料,在某些地方会插入一点自己的理解,未用于商业用途,侵删。 原资料地址:课程资料 对象的创建 常量池检查:检查new指令是否能在常量池…

LeetCode--代码详解 3.无重复字符的最长子串

3.无重复字符的最长子串 题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: s "bb…

linux系统zabbix监控分布式监控的部署

分布式监控 服务器安装分布式监控安装工具安装mysql导入数据结构配置proxy端浏览器配置 zabbix server端监控到大量zabbix agent端,这样会使zabbix server端压力过大,使用zabbix proxy进行分布式监控 服务器安装分布式监控 安装工具 rpm -Uvh https://…

【摸鱼日常】使用Docker部署RPG网页小游戏

一、本次实践介绍 1. 本次实践简介 本次实践部署环境为个人测试环境,快速使用docker部署RPG网页小游戏。 rootWellDone:/home/goodjob# uname -a Linux WellDone 6.5.0-14-generic #14~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 20 18:15:30 UTC 2 x86_64 x86_…

N-144基于微信小程序在线订餐系统

开发工具:IDEA、微信小程序 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 前端技术:vue、ElementUI、 Vant Weapp 服务端技术:springbootmybatisredis 本系统分微信小程序和…

算法学习——LeetCode力扣贪心篇4

算法学习——LeetCode力扣贪心篇4 763. 划分字母区间 763. 划分字母区间 - 力扣(LeetCode) 描述 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足&#xf…

零基础学编程怎么入手,中文编程工具构件箱之星空构件用法教程,系统化的编程视频教程上线

零基础学编程怎么入手,中文编程工具构件箱之星空构件用法教程,系统化的编程视频教程上线 一、前言 今天给大家分享的中文编程开发语言工具资料如下: 编程入门视频教程链接 http://​ https://edu.csdn.net/course/detail/39036 ​ 编程…

cefsharp121(cef121.3.7Chromium121.0.6167.160)升级测试及其他H264版本

一、版本说明 1.1 本此版本 此版本CEF 121.3.7+g82c7c57+chromium-121.0.6167.160 / Chromium 121.0.6167.160 1.2 其他支持H264版本 支持H264推荐版本:V100,V109,V111,V119版本,其他V114,V115,V108,V107 支持win7/win8/win8.1最后版本v109.x 支持NET4.5.2最后版本v114.x …

配置oracle连接管理器(cman)

Oracle Connection Manager是一个软件组件,可以在oracle客户端上指定安装这个组件,Oracle连接管理器代理发送给数据库服务器的请求,在连接管理器中,我们可以通过配置各种规则来控制会话访问。 简而言之,不同于专用连接…

第4讲引入JWT前后端交互

引入JWT前后端交互 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519); JWT就是一段字符串,用来进行用户身份认证的凭证,该字符串分成三段【头部、载荷、签证】 后端接口测试&…

JVM工作原理与实战(三十八):JIT即时编译器原理

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、JIT即时编译器 二、HotSpot中的JIT编译器 三、JIT优化技术 1.方法内联 2.逃逸分析 四、JIT优化建议 总结 前言 JVM作为Java程序的运行环境,其负责解释和执行字节…

问题:下列不属于影响职业选择的内在因素是()。 #微信#微信

问题:下列不属于影响职业选择的内在因素是()。 A.健康 B.个性特征 C.性别 D.家庭的影响 参考答案如图所示