KVM虚拟机的冷热迁移

首先了解在KVM(Kernel-based Virtual Machine)环境中,冷热迁移是指将虚拟机从一台主机迁移到另一台主机的过程,根据虚拟机是否需要停机,迁移分为热迁移和冷迁移:

冷迁移(Cold Migration)

  • 定义:冷迁移指在虚拟机关机的状态下进行迁移,即将虚拟机停止运行后,将其数据迁移到另一台物理主机,然后在新主机上启动。
  • 优点:实现方式较为简单,资源占用低,适合在不要求高可用性的场景中使用。
  • 应用场景:适用于需要较长时间的迁移、主机硬件维护或计划停机等情况下。
  • 技术原理:在虚拟机完全停止后,将虚拟机的配置文件和存储卷复制到目标主机,然后在目标主机上重启虚拟机。

热迁移(Live Migration)

  • 定义:热迁移指在不关闭虚拟机的情况下,将其从一台物理主机转移到另一台物理主机上。这意味着虚拟机在迁移过程中几乎不影响运行。
  • 优点:实现了虚拟机在不停机状态下的转移,适合需要高可用性和持续运行的业务场景。
  • 应用场景:当需要进行主机维护或负载均衡时,可以通过热迁移将虚拟机转移到其他主机,避免中断服务。
  • 技术原理:KVM 使用内存预拷贝(pre-copy)机制,在迁移前将虚拟机内存状态复制到目标主机。迁移时,首先复制内存的静态部分,随后实时同步内存的变化部分,直到两边内存状态完全一致。

实验环境:

主机IP
server10.0.0.200
Ubuntu0210.0.0.201

配置SSH免密和设置hosts解析
请在两台主机上分别执行
在这里插入图片描述

ssh key-gen
ssh-copy-id root@10.0.0.200

1、 冷迁移案例之无依赖环境迁移

环境查看
在这里插入图片描述

在这里插入图片描述
如若虚拟机还在运行中,请先关闭虚拟机在进行冷迁移动作

virsh destroy xxxxx

查看要迁移的虚拟机对应的磁盘文件路径,(这里我们迁移ubuntu20.04)
在这里插入图片描述

拷贝虚拟机的配置文件和磁盘到目标节点
在这里插入图片描述

在Ubuntu02主机上导入虚拟机并启动
在这里插入图片描述
可以使用用Xmanager打开窗口看的更清楚点
在这里插入图片描述
发现迁移前后,IP地址不变

2、热迁移

部署NFS服务器 源KVM虚拟机上操作

apt -y install nfs-kernel-server

编辑配置文件

[root@server ~]# vim /etc/exports
/data/isos *(rw,sync,no_root_squash)
#其中,* 表示允许所有客户端访问该共享。您可以根据需求更改为特定的 IP 地址或 IP 范围。选项说明:#rw:读写权限。
#sync:同步写入。
#no_root_squash表示当前客户机以root身份访问时赋予本地root权限
#(默认是root_squash,将作为nfsnobody用户对待),若不加no_root_squash,可能会导致被降权,而无法进行读写(rw)。

更新配置及重启服务

exportfs -a
systemctl restart nfs-kernel-server.service

在这里插入图片描述

配置NFS服务 在目标虚拟机上操作

apt install nfs-common -y

在客户端上创建一个挂载点,并将服务器的NFS共享目录挂载到该挂载点

mount -t nfs 10.0.0.200:/data/isos /data/isos

也可以设置开机自动挂载(可选)

10.0.0.200:/data/isos   /data/isos    nfs    defaults    0    0

在这里插入图片描述

热迁移时保证是不可以影响服务,这边是按照正在运行中的虚拟机进行迁移

为了模拟服务过程,这里采用长ping的方式进行测试
在这里插入图片描述
命令行进行迁移

virsh migrate --live ubuntu20.04-test --unsafe qemu+ssh://ubuntu02/system
#可选
--persistent 表示同时虚拟机的迁移配置文件。
--undefinesource 表示迁移时删除源虚拟机。

跟踪日志发现迁移过程

tail -f /var/log/libvirt/qemu/ubuntu20.04-test.log

在这里插入图片描述
迁移完成后,虚拟机并未停止中断服务,并已经运行在Ubuntu02虚拟机上
在这里插入图片描述

观察长ping的服务,发现就中断了一下,这个是不影响服务的
在这里插入图片描述
至此热迁移已完成

也可以在virt-manager上进行操作 建议使用
在这里插入图片描述
在这里插入图片描述
也可以反向再迁移回去到server服务器上去。

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

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

相关文章

掌握ElasticSearch(八):聚集、文档间的关系

文章目录 一、聚集聚集类型示例 二、文档间的关系1. 对象类型(Object Type)2. 嵌套文档(Nested Documents)定义嵌套字段索引嵌套文档查询嵌套文档 3. 父子关系(Parent-Child Relationship)定义父子关系索引…

sqlalchemy进阶使用

from sqlalchemy import create_engine# 替换为你的MySQL数据库信息 username root password 123456 host localhost # 例如:localhost 或 127.0.0.1 port 3306 # 通常是 3306 database ee# 创建连接引擎 engine create_engine(fmysqlpymysql://{username}:…

AIGC时代LaTeX排版的应用、技巧与未来展望

文章目录 一、LaTeX简介与基础设置二、常用特殊符号与公式排版三、图片与表格的插入与排版四、自动编号与交叉引用五、自定义命令与样式六、LaTeX在AIGC时代的应用与挑战七、LaTeX的未来展望《LaTeX 入门实战》内容简介作者简介目录前言/序言读者对象本书内容充分利用本书 在AI…

Ansible 部署应用

Ansible Ansible 是基于 Python 开发,集合了众多优秀运维工具的优点,实现了批量运行命令、部署程序、配置系统等功能的自动化运维管理工具。默认通过 SSH 协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,从而使得自动…

centos7 rpm -ivh *.rpm --nodeps 会导致有哪些问题?

使用 rpm -ivh *.rpm --nodeps 命令来安装 RPM 包会忽略所有依赖关系,这可能导致以下几种问题: 缺少依赖库: ● 如果某个包依赖的库文件没有安装,那么该包可能无法正常运行。例如,如果 keepalived 依赖于 libnetsnmp.s…

基于SpringBoot+Gpt个人健康管家管理系统【提供源码+答辩PPT+参考文档+项目部署】

作者简介:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容:🌟Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…

React中常用的hook函数(三)——useReducer和useContext

React中常用的hook函数(一)——useState和useEffect_usestate useeffect-CSDN博客https://blog.csdn.net/Mrs_Lupin/article/details/142905749?sharetypeblogdetail&sharerId142905749&sharereferPC&sharesourceMrs_Lupin&spm1011.2480.3001.8118React中常用…

Android问题 -- DJ多多的下载文件在哪里? DJ多多dat格式转换为mp3

目的 想要将安卓 DJ多多 应用所下载的歌曲文件转换为 mp3 格式, 以便于传输到手表上进行播放 (健身跑步用) 但是找不到在安卓手机中DJ多多的下载的文件路径 文件路径 使用 ES文件浏览器 查看, 自带文件管理器一般查不到 文件路径: 内部存储/Android/data/com.shoujiduoduo.…

使用 Elastic、OpenLLMetry 和 OpenTelemetry 跟踪 LangChain 应用程序

作者:来自 Elastic Bahubali Shetti Langchain 应用程序的使用正在增长。构建基于 RAG 的应用程序、简单的 AI 助手等的能力正在成为常态。观察这些应用程序更加困难。考虑到现有的各种选项,本博客展示了如何将 OpenTelemetry 检测与 OpenLLMetry 结合使…

Vue项目与IE浏览器的兼容性分析(Vue|ElementUI)

总体分析 Vue.js的兼容性在不同版本间有所差异,具体针对IE浏览器的推荐版本如下: Vue 2.x 官方支持:Vue 2.x版本官方宣布支持IE9及以上版本的IE浏览器。限制与Polyfill:虽然Vue 2.x支持IE9及以上版本,但在使用时可能…

如何使用Web-Check和cpolar实现安全的远程网站监测与管理

文章目录 前言1.关于Web-Check2.功能特点3.安装Docker4.创建并启动Web-Check容器5.本地访问测试6.公网远程访问本地Web-Check7.内网穿透工具安装8.创建远程连接公网地址9.使用固定公网地址远程访问 前言 本期给大家分享一个网站检测工具Web-Check,能帮你全面了解网…

LabVIEW适合开发的软件

LabVIEW作为一种图形化编程环境,主要用于测试、测量和控制系统的开发。以下是LabVIEW在不同应用场景中的适用性和优势。 一、测试与测量系统 LabVIEW在测试与测量系统中的应用广泛,是工程测试领域的主流工具之一。利用其强大的数据采集与处理功能&…

面试题:JVM(四)

new对象流程?(龙湖地产) 对象创建方法,对象的内存分配。(360安全) 1. 对象实例化 创建对象的方式有几种? 创建对象的步骤 指针碰撞:以指针为分界线,一边是已连续使用的…

ERP研究 | 颜值美和道德美,哪个更重要?

摘要 道德美和颜值美都会影响我们的评价。在这里,本研究采用事件相关电位(ERPs)技术探讨了道德美和颜值美如何交互影响社会判断和情感反应。参与者(均为女性)将积极、中性或消极的言语信息与高吸引力或低吸引力面孔进行关联,并对这些面孔进行评分&#…

kafka消费端常见故障及处理方法

文章目录 前言一、消费端某个进程已经crash1. 主要心跳相关配置2. 完整的消费者配置示例3. 调整参数的建议 二、客户端没有crash,但是消费阻塞1. 工作机制2. 示例配置3.运用在代码里3. 配置建议 前言 kafka消费端经常会出现一些故障,一起来分析一下故障…

figma的drop shadow x:0 y:4 blur:6 spread:0 如何写成css样式

figma的drop shadow x:0 y:4 blur:6 spread:0 如何写成css样式 在CSS中,我们可以使用box-shadow属性来模拟Figma中的Drop Shadow效果。box-shadow属性接受的值分别是:横向偏移、纵向偏移、模糊半径、扩展半径和颜色。 但是,Figma的Drop Sha…

CSS中常见的两列布局、三列布局、百分比和多行多列布局!

目录 一、两列布局 1、前言: 2. 两列布局的常见用法 两列布局的元素示例: 代码运行后如下: 二、三列布局 1.前言 2. 三列布局的常见用法 三列布局的元素示例: 代码运行后如下: 三、多行多列 1.前言 2&…

Vue3版本的uniapp项目运行至鸿蒙系统

新建Vue3版本的uniapp项目 注意,先将HbuilderX升级至最新版本,这样才支持鸿蒙系统的调试与运行; 按照如下图片点击,快速升级皆可。 通过HbuilderX创建 官方文档指导链接 点击HbuilderX中左上角文件->新建->项目 创建vue3…

Nature文章《deep learning》文章翻译

这篇文章是对Nature上《deep learning》文章的翻译。原作者 Yann LeCun, Yoshua Bengio& Geoffrey Hinton。 这篇文章的中心思想是深入探讨深度学习在机器学习中的革命性贡献,重点介绍其在特征学习、监督学习、无监督学习等方面的突破,并阐述其在图…