KVM虚拟机迁移原理与实践

虚拟机迁移

迁移(migration)包括系统整体的迁移和某个工作负载的迁移,系统整体迁移是将系统上的所有软件,包括操作系统,完全复制到另一台物理硬件机器上,而工作负载迁移仅仅迁移特定的工作负载。

虚拟化技术的出现,丰富了迁移技术的内涵和实践,在传统的应用环境中,没有虚拟化技术的支持,系统整体迁移主要是静态迁移,静态迁移主要考系统备份和恢复技术,将系统的软件完全复制到另一台机器上,可以通过先做出来系统的镜像文件,然后复制到其他机器上,或者直接使用硬盘复制达到迁移的目的。早些年网吧常用的GHOST备份恢复技术,就是这种类型的迁移。

在虚拟化环境中的迁移,又分为静态迁移和动态迁移,或者冷迁移和热迁移,也可以叫离线迁移和在线迁移。静态迁移和动态迁移最大的区别就是,静态迁移有一段明显的时间客户机中的服务不可用,而动态迁移则没有明显的服务暂停时间。

虚拟化中的静态迁移也可以分为两种,一种是关闭客户机后,将其硬盘镜像复制到另一台宿主机上然后恢复启动,这种迁移不能保留客户机中运行的工作负载,另一种是两台宿主机共享存储系统,只需在暂停(不是完全关闭)客户机后,复制其内存镜像到另一台宿主机中恢复启动即可,这种迁移可以保持客户机迁移前的内存状态和系统的系统运行的工作负载。

动态迁移是指在保证客户机上应用服务正常运行的同时,让客户机在不同的宿主机之间进行迁移,为了保证迁移过程中客户机服务的可用性,迁移过程仅有非常短暂的停机时间,动态迁移允许系统管理员将客户机在不同的物理机上迁移,同时不会断开访问客户机中服务的客户端或应用程序的连接。迁移后保证客户机的内存,硬盘存储,网络连接在迁移到目标的主机后依然保持不变,而且迁移过程的服务暂停时间较短。

另外,虚拟化的底层技术有多种,比如常见的kvm, virtualbox, Xen等,对于虚拟化环境的迁移,不仅包括相同Hypervisor之间的客户机迁移,比如KVM迁移到KVM, Xen迁移到Xen,还包括不同的Hypervisor之间客户机的迁移,比如Xen迁移到KVM,VMware迁移到KVM等等。

不同的迁移技术可以总结如下图表示:

KVM静态迁移实践

step1:启动源虚拟机

$ sudo qemu-system-x86_64 -m 4096 -smp 4 --enable-kvm -drive file=./ps.img -monitor stdio

这一步需要注意两点:

1.启动QEMU虚拟机中不能不能带有透传的PCIE设备,如果虚拟机安装的时候包含PCIE设备的透传,则需要将透传参数删掉后再启动虚拟机。

2.最好运行一个负载应用,比如top程序,以便迁移后检测负载是否正常运行。

step2:备份虚拟机

在qemu的monitor控制台中,输入如下命令保存完整的虚拟机快照:

savevm czl.vm.tag

这里的"savem"命令保存的完整客户机状态包括CPU,内存,设备状态,磁盘内容等。这种方法需要使用qcow2格式的磁盘映像文件,目前只有这种格式的文件才支持快照特性。

然后关闭源虚拟机,同时将虚拟机安装镜像(本例中是ps.img)通过网络或者离线磁盘拷贝到目标机器环境下。

step3:在目标机恢复虚拟机快照

在目标机中,首先用源主机一样的命令启动拷贝过来的虚拟机镜像(本例是上一步拷贝过来的ps.img)

sudo qemu-system-x86_64 -m 4096 -smp 4 --enable-kvm -drive file=/media/zlcao/7CC840FCC840B5E4/out/ps.img -monitor stdio

然后在qemu monitor中,用如下命令恢复上一步保存下来的快照。即可完全加载保存快照时保存的客户机状态,在快照恢复的瞬间,虚拟机界面将从上图转换为下图,显示的恰好是我们保存快照时,虚拟机TOP副在运行时刻的状态。

loadvm czl.vm.tag

KVM动态迁移实践

结束

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

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

相关文章

upload 文件自动上传写法,前后端 下载流文件流

<el-uploadv-model:file-list"fileList":action"app.api/student/student/import":headers"{// Content-Type: multipart/form-data;boundary----split-boundary, 此处切记不要加&#xff0c;否则会造成后端报错 Required request part file is…

CSS 移动端 1px(线条/边框) 不同机型上显示粗细不同,解决办法

由于不同的手机有不同的像素密度导致的。如果移动显示屏的分辨率始终是普通屏幕的2倍&#xff0c;1px的边框在devicePixelRatio2的移动显示屏下会显示成2px&#xff0c;所以在高清瓶下看着1px总是感觉变胖了 <!DOCTYPE html> <html lang"en"> <head&g…

19.删除链表的倒数第N个结点(LeetCode)

想法一 先用tail指针找尾&#xff0c;计算出节点个数&#xff0c;再根据倒数第N个指定删除 想法二 根据进阶的要求&#xff0c;只能遍历一遍链表&#xff0c;那刚刚想法一就做不到 首先&#xff0c;我们要在一遍内找到倒数第N个节点&#xff0c;所以我们设置slow和fast两个指…

优化编辑距离以测量文本相似度

一、说明 编辑距离是一种文本相似度度量&#xff0c;用于测量 2 个单词之间的距离。它有许多方面应用&#xff0c;如文本自动完成和自动更正。 对于这两种用例中的任何一种&#xff0c;系统都会将用户输入的单词与字典中的单词进行比较&#xff0c;以找到最接近的匹配项&#x…

Codeforces Round 908 (Div. 2)题解

目录 A. Secret Sport 题目分析: B. Two Out of Three 题目分析: C. Anonymous Informant 题目分析: A. Secret Sport 题目分析: A,B一共打n场比赛&#xff0c;输入一个字符串由A和‘B’组成代表A赢或者B赢&#xff08;无平局&#xff09;&#xff0c;因为题目说明这个人…

FPGA与STM32_FSMC总线通信实验

FPGA与STM32_FSMC总线通信实验 内部存储器IP核的参数设置创建IP核FPGA代码STM32标准库的程序 STM32F407 上自带 FSMC 控制器&#xff0c;通过 FSMC 总线的地址复用模式实现STM32 与 FPGA 之间的通信&#xff0c;FPGA 内部建立 RAM 块&#xff0c;FPGA 桥接 STM32 和 RAM 块&…

图论13-最小生成树-Kruskal算法+Prim算法

文章目录 1 最小生成树2 最小生成树Kruskal算法的实现2.1 算法思想2.2 算法实现2.2.1 如果图不联通&#xff0c;直接返回空&#xff0c;该图没有mst2.2.2 获得图中的所有边&#xff0c;并且进行排序2.2.2.1 Edge类要实现Comparable接口&#xff0c;并重写compareTo方法 2.2.3 取…

网络运维Day10

文章目录 SHELL基础查看有哪些解释器使用usermod修改用户解释器BASH基本特性 shell脚本的设计与运行编写问世脚本脚本格式规范执行shell脚本方法一方法二实验 变量自定义变量环境变量位置变量案例 预定义变量 变量的扩展运用多种引号的区别双引号的应用单引号的应用反撇号或$()…

HTML使用lable将文字与控件进行关联以获取焦点

先养养眼再往下看 注释很详细&#xff0c;直接上代码 <form action""><!-- 第一种方法:用id的方式绑定账户(文字)和输入框 --><label for"zhanghu">账户</label><input "text" id"zhanghu" name"ac…

一步一步详细介绍如何使用 OpenCV 制作低成本立体相机

在这篇文章中,我们将学习如何创建定制的低成本立体相机(使用一对网络摄像头)并使用 OpenCV 捕获 3D 视频。我们提供 Python 和 C++ 代码。文末并附完整的免费代码下载链接 我们都喜欢观看上面所示的 3D 电影和视频。您需要如图 1 所示的红青色 3D 眼镜才能体验 3D 效果。它是…

时间序列预测实战(九)PyTorch实现LSTM-ARIMA融合移动平均进行长期预测

一、本文介绍 本文带来的是利用传统时间序列预测模型ARIMA(注意&#xff1a;ARIMA模型不属于机器学习)和利用PyTorch实现深度学习模型LSTM进行融合进行预测&#xff0c;主要思想是->先利用ARIMA先和移动平均结合处理数据的线性部分&#xff08;例如趋势和季节性&#xff09…

C语言求解猴子分桃问题

题目&#xff1a; 海滩上有一堆桃子&#xff0c;五只猴子来分。第一只猴子把这堆桃子凭据分为五份&#xff0c;多了 一个&#xff0c;这只猴子把多的一个扔入海中&#xff0c;拿走了一份。第二只猴子把剩下的桃子又平均分 成五份&#xff0c;又多了一个&#xff0c;它同样把多…