KVM虚拟机迁移:无缝迁徙,重塑云上未来

- 作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注
- 座右铭: 云端筑梦,数据为翼,探索无限可能,引领云计算新纪元
- 个人主页:团儿.-CSDN博客
目录
前言:
正文:
虚拟机迁移:
热迁移步骤:
1.开起两台图形化宿主机
2.搭建NFS服务:192.168.8.11
3.两台kvm挂载nfs共享
4.复制要迁移的虚拟机xml文件和qcow2文件到/nfs
5.取消原先的虚拟机,重新定义新的虚拟机
6.kvm主机做ssh互信
两边互信测试:
7.两台kvm修改hosts
8.qemu连接第二台kvm,热迁移
kvm调优
1.cpu优化
2.内存优化
查看虚拟机内存限制:
设置虚拟机最大内存:
3.磁盘I/O优化
查看虚拟机权重:
修改虚拟机权重:
设置虚拟机的读写速度:
4.系统调优工具tuned/tuned-adm
查看当前系统优化方案
显示所有优化方案
延迟性能调试的服务器配置,以提高功耗 为代价优化确定性性能
吞吐性能调整的服务器profile。如果系统没有企业级存储,则建议使用这个 profile
企业级服务器配置中使用这个profile,其中包括电池备份控制程序、缓存保护 及管理磁盘缓存
根据enterprise-storage配置,virtual-host还可减少可置换的虚拟内存,并启 用更多集合脏页写回。
前言:
随着云计算与虚拟化技术的飞速发展,KVM(Kernel-based Virtual Machine)作为Linux内核中的原生虚拟化解决方案,正逐渐成为企业IT架构中的核心组件。KVM不仅提供了高效、安全的虚拟化环境,更以其强大的可扩展性和灵活性,满足了企业对于资源优化和业务连续性的双重需求。
然而,在日益复杂的IT环境中,如何确保虚拟机的灵活调度与高效迁移,成为了企业面临的一大挑战。KVM虚拟机迁移技术,正是应对这一挑战的有力武器。它允许企业在不中断服务的情况下,将虚拟机从一台物理服务器迁移到另一台,无论是为了负载均衡、硬件升级,还是灾难恢复,都能轻松应对。
本文将深入探讨KVM虚拟机迁移的核心原理、技术实现以及最佳实践,带您领略这一技术如何重塑数字世界的灵活边界,让企业在瞬息万变的商业环境中保持领先。无论您是虚拟化技术的初学者,还是经验丰富的IT专家,都能从中获得宝贵的见解与启示。

正文:
虚拟机迁移:
冷迁移:关闭虚拟机,把虚拟机的配置和磁盘文件移动到其他kvm主机重新定义虚拟机
热迁移: 把配置和磁盘文件放到共享存储,在开机状态下迁移到其他kvm主机,业务不中断
热迁移步骤:
1.开起两台图形化宿主机
kvm:192.168.8.60
kvm2:192.168.8.70
2.搭建NFS服务:192.168.8.11
yum install nfs-utils rpcbind -y
mkdir /nfsdir
vim /etc/exports
/nfsdir *(rw,no_root_squash,sync)
systemctl restart nfs rpcbind
3.两台kvm挂载nfs共享
mkdir /nfs
mount -t nfs 192.168.8.11:/nfsdir /nfs
4.复制要迁移的虚拟机xml文件和qcow2文件到/nfs
cp /etc/libvirt/qemu/generic.xml /nfs
cp /kvm_store/generic.qcow2 /nfs
cd /nfs
vim generic.xml
<devices>
<source file=’/nfs/generic.qcow2’/>

5.取消原先的虚拟机,重新定义新的虚拟机
virsh undefine genericcd /nfs
virsh define generic.xmlvirsh start generic
6.kvm主机做ssh互信
ssh-keygen
cd /root/.ssh
mv id_rsa.pub authorized_keys
scp -r /root/.ssh root@192.168.8.70:/root
两边互信测试:
ssh 192.168.8.70 hostnamessh 192.168.8.60 hostname
7.两台kvm修改hosts
cat >> /etc/hosts << EOF
192.168.8.60 kvm01
192.168.8.70 kvm02
EOF
8.qemu连接第二台kvm,热迁移
测试:
在60上随意打开配置文件写入内容,迁移之后在第二台查看是否同步




注:报错提醒,两台均需安装openssh-askpass


![]()
成功
kvm调优
1.cpu优化
虚拟机的vcpu,不允许超出物理cpu个数
2.内存优化
KSM(kernel samepage merging,相同页合并)
服务:ksm和ksmtuned
启用:echo '1' > /sys/kernel/mm/ksm/run
配置文件:/etc/ksmtuned.conf
ksmtuned会一直保持循环执行,以调节ksm服务运行。
pages_shared文件记录了KSM共享的总页面数;
pages_sharing文件中记录了当前共享的页面数。
每个页面的大小为4KB,可计算出共享内存为:4 * 页面数 = 内存大小(KB)。
查看虚拟机内存限制:
virsh memtune centos7.0
设置虚拟机最大内存:
virsh memtune generic --hard-limit 1024000 --live
3.磁盘I/O优化
设置在整体中的权重,范围在100-1000
限制具体的I/O
查看虚拟机权重:
virsh blkiotune centos7.0
修改虚拟机权重:
virsh blkiotune generic --weight 500
设置虚拟机的读写速度:
virsh blkdeviotune --help
4.系统调优工具tuned/tuned-adm
监控和收集系统各个组件的数据,并依据数据提供的信息动态调整系统设置,达到动态优化系统的目的
yum install tuned -ysystemctl start tuned
查看当前系统优化方案
tuned-adm active
显示所有优化方案
tuned-adm list
延迟性能调试的服务器配置,以提高功耗 为代价优化确定性性能
latency-performance
吞吐性能调整的服务器profile。如果系统没有企业级存储,则建议使用这个 profile
throughput-performance
企业级服务器配置中使用这个profile,其中包括电池备份控制程序、缓存保护 及管理磁盘缓存
virtual-guest
根据enterprise-storage配置,virtual-host还可减少可置换的虚拟内存,并启 用更多集合脏页写回。
同时推荐在虚拟化主机中使用这个配置,包括KVM和红帽企业版 linux虚拟化主机
virtual-host tuned-adm profile virtual-host
修改优化方案为virtual-host
期待您的关注~
相关文章:
KVM虚拟机迁移:无缝迁徙,重塑云上未来
作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注 座右铭: 云端筑梦,数据为翼,探索无限可能,引领云计算新纪元 个人主页:团儿.-CSDN博客 目录 前言&#…...
CSS常见适配布局方式
在网页设计中,布局是确保内容按预期显示的关键部分。CSS 提供了多种布局方式,每种方式都有其特定的用途和优势。以下是您提到的五种布局方式的详细解释: 1. 流式布局(百分比布局) 概述: 流式布局…...
ArkUI常用布局:构建响应式和高效的用户界面
在HarmonyOS应用开发中,ArkUI作为用户界面开发框架,提供了多种布局方式来帮助开发者构建响应式和高效的用户界面。本文将详细介绍ArkUI中的常用布局方式,包括线性布局、层叠布局、弹性布局、相对布局、栅格布局、列表和轮播布局,并…...
论面向服务架构设计及其应用
一、引言 企业应用集成(Enterprise Application Integration,EAI)是企业实现信息系统协同工作的关键途径,尤其是在当前多系统、多平台并存的企业环境下,集成需求愈发显著。面向服务架构(Service-Oriented …...
HTML5 + CSS3 + JavaScript 编程语言学习教程
HTML5 CSS3 JavaScript 编程语言学习教程 欢迎来到这篇关于 HTML5、CSS3 和 JavaScript 的详细学习教程!无论你是初学者还是有一定基础的开发者,这篇文章都将帮助你深入理解这三种技术的核心概念、语法和应用。 目录 HTML5 1.1 HTML5 简介1.2 HTML5 …...
Java日志脱敏——基于logback MessageConverter实现
背景简介 日志脱敏 是常见的安全需求,最近公司也需要将这一块内容进行推进。看了一圈网上的案例,很少有既轻量又好用的轮子可以让我直接使用。我一直是反对过度设计的,而同样我认为轮子就应该是可以让人拿去直接用的。所以我准备分享两篇博客…...
在 Ubuntu 22.04 上部署Apache 服务, 访问一张照片
要在 Ubuntu 22.04 上部署一张照片,使其可以通过 Apache 访问,你可以按照以下步骤进行操作: 1. 安装 Apache(如果尚未安装) 如果你还没有安装 Apache,可以使用以下命令: sudo apt update sud…...
从0学习React(10)
示例代码: const columns: ProColumns<API.BasicInfoItem>[] [{title: 设备编码,dataIndex: deviceCode,ellipsis: true,width: 40,},{title: 设备名称,dataIndex: deviceName,ellipsis: true,width: 50,},{title: 产线-工序,dataIndex: deviceClassifyName…...
Redis-结构化value对象的类型
文章目录 一、Redis的结构化value对象类型的介绍二、Redis的这些结构化value对象类型的通用操作查看指定key的数据类型查看所有的key判断指定key是否存在为已存在的key进行重命名为指定key设置存活时间pexpire与expire 查看指定Key的存活时间为指定key设置成永久存活 三、Redis…...
【QT】Qt对话框
个人主页~ Qt窗口属性~ Qt窗口 五、对话框2、Qt内置对话框(1)Message Box(2)QColorDialog(3)QFileDialog(4)QFontDialog(5)QInputDialog 五、对话框 2、Qt内…...
【计算机网络篇】数据链路层(14)虚拟局域网VLAN(概述,实现机制)
文章目录 🛸虚拟局域网VLAN🍔虚拟局域网VLAN的实现机制🥚IEEE 802.1Q帧🥚以太网交换机的接口类型🗒️例一:在一个交换机上不进行人为的VLAN划分,交换机各接口默认属于VLAN1且类型为Access的情况…...
伺服中的电子凸轮与追剪
一、机械凸轮 机械凸轮是一个具有曲线轮廓或凹槽的构件,它把运动特性传递给紧靠其边缘移动的推杆,推杆又带动机架做周期性运动。 凸轮的推杆位置跟随凸轮角度的周期性变化而变化,其运动特性与机械凸轮的外形相关,定义凸轮…...
Oracle 第22章:数据仓库与OLAP
第22章:数据仓库与OLAP 1. 数据仓库概念 数据仓库(Data Warehouse, DW) 是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。数据仓库中的数据通常来自不同的操作型系统或外部数据源,…...
在Ubuntu上安装TensorFlow与Keras
文章目录 1. 查看系统和Python版本信息1.1 查看Ubuntu版本信息1.2 查看Python版本信息 2. 安装pip2.1 下载get-pip.py2.2 运行get-pip.py2.3 查看pip版本 3. 安装Jupyter Notebook3.1 安装Jupyter Notebook3.2 运行Jupyter Notebook3.3 安装jupyter-core3.4 配置Jupyter Notebo…...
vue data变量之间相互赋值或进行数据联动
摘要: 使用vue时开发会用到data中是数据是相互驱动,经常会想到watch,computed,总结一下! 直接赋值: 在 data 函数中定义的变量可以直接在方法中进行赋值。 export default {data() {return {a: 1,b: 2};},methods: {u…...
如何理解ref,toRef,和toRefs
1. ref ref 是 Vue 3 提供的一个用于创建响应式数据的 API。它可以用来创建简单的响应式变量,例如数字、字符串、布尔值或对象等。通过使用ref,当数据发生变化时,相关的组件视图会自动更新。 用法 创建响应式数据: import { ref …...
从单一到多元:揭秘 Hexo Diversity 主题的运行原理
揭秘 Hexo Diversity 主题的运行原理 一、 引言二、 Diversity 主题2.1 Hexo 控制台命令2.2 Hexo 核心 API2.3 运行原理2.3.1 多主题配置相关2.3.2 多主题执行指令 2.4 版本演进2.4.1 V1版本2.4.2 V2版本2.4.2.1 PC 端2.4.2.2 Phone 端 2.5 后续展望 三、 总结 一、 引言 众所…...
软考中级(系统集成项目管理工程师)案例分析计算题-笔记
案例分析计算题必拿分!! 1.成本进度管理 初中数学题,整了一堆缩写,容易给人绕晕 知道英文全称后就好理解了名词汇总: 英文缩写英文全称含义公式PVPlanned Value (计划值)按照计划到当前时间点需要花费的钱根据题目自…...
Docker打包自己项目推到Docker hub仓库(windows10)
一、启用Hyper-V和容器特性 1.应用和功能 2.点击程序和功能 3.启用或关闭Windows功能 4.开启Hyper-V 和 容器特性 记得重启生效!!! 二、安装WSL2:写文章-CSDN创作中心https://mp.csdn.net/mp_blog/creation/editor/143057041 三…...
CesiumJS 案例 P20:监听鼠标滚轮、监听鼠标左键按下与松开、监听鼠标右键按下与松开、监听鼠标左击落点
CesiumJS CesiumJS 是一个开源的 JavaScript 库,它用于在网页中创建和控制 3D 地球仪(地图) CesiumJS 官网:https://www.cesium.com/ CesiumJS 下载地址:https://www.cesium.com/platform/cesiumjs/ CesiumJS API 文…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
热烈祝贺埃文科技正式加入可信数据空间发展联盟
2025年4月29日,在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上,可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞,强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...
rm视觉学习1-自瞄部分
首先先感谢中南大学的开源,提供了很全面的思路,减少了很多基础性的开发研究 我看的阅读的是中南大学FYT战队开源视觉代码 链接:https://github.com/CSU-FYT-Vision/FYT2024_vision.git 1.框架: 代码框架结构:readme有…...
【大模型】RankRAG:基于大模型的上下文排序与检索增强生成的统一框架
文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点 C 模型结构C.1 指令微调阶段C.2 排名与生成的总和指令微调阶段C.3 RankRAG推理:检索-重排-生成 D 实验设计E 个人总结 A 论文出处 论文题目:RankRAG:Unifying Context Ranking…...
虚幻基础:角色旋转
能帮到你的话,就给个赞吧 😘 文章目录 移动组件使用控制器所需旋转:组件 使用 控制器旋转将旋转朝向运动:组件 使用 移动方向旋转 控制器旋转和移动旋转 缺点移动旋转:必须移动才能旋转,不移动不旋转控制器…...
k8s从入门到放弃之Pod的容器探针检测
k8s从入门到放弃之Pod的容器探针检测 在Kubernetes(简称K8s)中,容器探测是指kubelet对容器执行定期诊断的过程,以确保容器中的应用程序处于预期的状态。这些探测是保障应用健康和高可用性的重要机制。Kubernetes提供了两种种类型…...
