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

什么是虚拟机迁移

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

虚拟机拟机迁移分类虚

热迁移:开机状态下迁移

冷迁移:关机状态下迁移

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

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. 跨集群热迁移必须手动,无法自动实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/390515.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT高效提问—prompt实践(健康助手)

ChatGPT高效提问—prompt实践(健康助手) ​ 随着社会经济的发展,人们的生活条件不断改善,人们对身体健康也日益重现。让ChatGPT作为健康助手也是一件不错的事。开始之前,还是老样子,先设置角色。 ​ 输入…

HTML | DOM | 网页前端 | 常见HTML标签总结

文章目录 1.前端开发简单分类2.前端开发环境配置3.HTML的简单介绍4.常用的HTML标签介绍 1.前端开发简单分类 前端开发,这里是一个广义的概念,不单指网页开发,它的常见分类 网页开发:前端开发的主要领域,使用HTML、CS…

基于Springboot的社区物资交易互助平台(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的社区物资交易互助平台(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系…

游戏安全组件运行时发生异常1-0-0

可能是这个服务,可能被禁用了。 如果是文件缺少直接修复游戏

15-k8s控制器资源-deployment/部署控制器

一、deployment部署控制器概念 在学习rc和rs控制器资源时,我们指导,这两个资源都是控制pod的副本数量的,但是,他们两个有个缺点,就是在部署新版本pod或者回滚代码的时候,需要先apply资源清单,然…

云计算基础-网络虚拟化

虚拟交换机 什么是虚拟交换机 虚拟交换机是一种运行在虚拟化环境中的网络设备,其运行在宿主机的内存中,通过软件方式在宿主机内部实现了部分物理交换机的功能,如 VLAN 划分、流量控制、QoS 支持和安全功能等网络管理特性 虚拟交换机在云平…

java8-用流收集数据-6

本章内容口用co1lectors类创建和使用收集器 口将数据流归约为一个值 口汇总:归约的特殊情况 数据分组和分区口 口 开发自己的自定义收集器 我们在前一章中学到,流可以用类似于数据库的操作帮助你处理集合。你可以把Java8的流看作花哨又懒惰的数据集迭代器。它们…

[office] Excel设置打印表头 #学习方法#学习方法#微信

Excel设置打印表头 有时候需要在每页上都显示表头,这样好查看数据,下面我们来看一个练习; 1、启动Excel 1)点击“开始-所有程序-Microsoft-Microsoft Office Excel 2003"; 2)出现一个满是格子的空白窗口,这就是一张电子表格了&#x…

Simulink模块说明

Simulink库 Commonly Used Blocks Bus Creator 将一组输入元素合并成一条总线**输入:**要包含在总线中的输入元素。**输出:**由合并的输入元素组成的输出总线,指定为虚拟或非虚拟总线。 Bus Selector Bus Selector 模块输出您从输入总线选…

CTFshow web(文件上传158-161)

web158 知识点: auto_append_file 是 PHP 配置选项之一,在 PHP 脚本执行结束后自动追加执行指定的文件。 当 auto_append_file 配置被设置为一个文件路径时,PHP 将在执行完脚本文件的所有代码后,自动加载并执行指定的文件。 这…

物流快递管理系统

文章目录 物流快递管理系统一、系统演示二、项目介绍三、13000字论文参考四、系统部分页面展示五、部分代码展示六、底部获取项目源码和万字论文参考(9.9¥带走) 物流快递管理系统 一、系统演示 校园物流快递管理系统 二、项目介绍 主要技术…

2024.2.16日总结(小程序开发8)

数据监听器 监听对象属性的变化 数据监听器支持监听对象中单个或多个属性的变化 纯数据字段 什么是纯数据字段 纯数据字段指的是哪些不用于页面渲染的data字段 应用场景:例如有些情况下,某些 data 中的字段既不会展示在界面上,也不会传递给其他组件…

【每日一题】06 排序链表

问题描述 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 求解 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* sortList(struct ListNode* head) {struct…

SpringBoot RabbitMQ收发消息、配置及原理

今天分析SpringBoot通过自动配置集成RabbitMQ的原理以及使用。 AMQP概念 RabbitMQ是基于AMQP协议的message broker,所以我们首先要对AMQP做一个简单的了解。 AMQP (Advanced Message Queuing Protocol) is a messaging protocol that enables conforming client a…

476. Number Complement(数字的补数)

问题描述 对整数的二进制表示取反(0 变 1 ,1 变 0)后,再转换为十进制表示,可以得到这个整数的补数。 例如,整数 5 的二进制表示是 “101” ,取反后得到 “010” ,再转回十进制表示…

JavaSE-03笔记【继承~super】

文章目录 1. 继承1.1 继承概述(理解)1.2 如何继承(掌握)1.2.1 继承的语法格式1.2.2 具体举例 1.3 继承的相关特性(掌握)1.4 对继承自Object类的方法的测试(理解)1.5 难点解惑1.5.1 掌…

07-k8s中secret资源02-玩转secret

一、回顾secret资源的简单实用 第一步:将想要的数据信息【key:value】中的value值,使用base64编码后,写入secret资源清单中; 第二步:创建secret资源; 第三步:pod资源引用secret资源&…

【Linux网络编程六】服务器守护进程化Daemon

【Linux网络编程六】服务器守护进程化Daemon 一.背景知识:前台与后台二.相关操作三.Linux的进程间关系四.自成会话五.守护进程四步骤六.服务器守护进程化 一.背景知识:前台与后台 核心知识就是一个用户在启动Linux时,都会给一个session会话&a…

最小生成树(Kruskal算法及相关例题)

1.Kruskal算法概念以及基本思路 (1)概念: 克鲁斯卡尔算法是求连通网的最小生成树的另一种方法。它的时间复杂度为O(ElogE)(E是图G的边的总数),适合于求边稀疏的网的最小生成树 。 其基本思想是&#xff…

JDBC访问数据库

目录 加载Driver驱动配置驱动地址 获取数据库连接创建会话-SQL命令发送器通过Statement发送SQL命令并得到结果处理结果关闭数据库资源测试 加载Driver驱动 1.在模块JDBC中新建一个lib目录文件 2. 将mysql-connector-j-8.2.0包粘贴至lib目录中。 配置驱动地址 // 加载…