【KVM-5】KVM架构

前言

大家好,我是秋意零。今天分析的内容是KVM架构。

👿 简介

  • 🏠 个人主页秋意零
  • 🔥 账号 :全平台同名, 秋意零 账号创作者、 云社区 创建者
  • 🧑 个人介绍 :在校期间参与众多云计算相关比赛,如:🌟 "省赛"、"国赛",并斩获多项奖项荣誉证书
  • 🎉 目前状况:24 届毕业生,拿到一家私有云(IAAS)公司 offer,目前已在实习
  • 💕欢迎大家:欢迎大家一起学习云计算,走向年薪 30 万
  • 💕推广 :CSDN 主页左侧,是个人扣扣群推广 。方便大家技术交流、技术博客互助

一、KVM组成部分

KVM是硬件虚拟化技术之上构建起来的虚拟机监控器。

不是非要所有这些(CPU、内存、I/O)硬件虚拟化都支持才能运行KVM虚拟化,KVM对硬件最低的依赖是CPU的硬件虚拟化支持 ,如:Intel的VT技术 和AMD的**AMD-V技术,**而其他的内存和I/O的硬件虚拟化支持,会提高KVM虚拟化的性能。

KVM虚拟化的核心主要由以下两个模块组成:

  • KVM内核模块 :它属于标准Linux内核的一部分 ,是一个专门提供虚拟化功能的模块 ,主要负责CPU和内存的虚拟化,包括: 客户机的创建、虚拟内存的分配、CPU执行模式的切换、vCPU寄存器的访问、vCPU的执行。
  • QEMU用户态工具 :它是一个普通的Linux进程 ,为客户机提供设备模拟的功能,包括模拟BIOS、PCI/PCIE总线、磁盘、网卡、显卡、声卡、键盘、鼠标等。同时它通过ioctl系统调用与内核态的KVM模块进行交互。

二、KVM架构图

KVM是在硬件虚拟化支持下的完全虚拟化技术,也就是没有修改过客户机内核的虚拟化,所以它能支持在相应硬件上运行几乎所以的操作系统,如:LInux、Windows、MacOS等。

  • 每个客户机就是一个QEMU进程,在一个宿主机上有多少个虚拟机就会有多少个QEMU进程;
  • 客户机中的每一个虚拟vCPU对应QEMU进程中的一个线程
  • 一个宿主机中只有一个KVM内核模块,所有客户机与这个KVM内核模块进行交互

可以看到图中,最底层是 VT和AMD-V硬件虚拟化技术 -> Linux系统内核包含KVM内核 -> 用户进程和QEMU虚拟机进程。

相关推荐
码农小白AI4 小时前
AI报告审核加速融入自动化实验室:IACheck破解智能设备时代报告管理新挑战
运维·人工智能·自动化
utf8mb4安全女神4 小时前
克隆的虚拟机怎么更改ip地址
运维
xingyuzhisuan4 小时前
自建聚合网关VS第三方聚合平台,适配场景与数据实测
人工智能·ai·云计算·oneapi
万能的知了5 小时前
服务器托管 vs 云主机 vs 裸金属:一个决策故事
运维·服务器·云计算
杨云龙UP6 小时前
Oracle RAC / ODA 生产环境指定 PDB 启动 SOP
linux·运维·数据库·oracle
溜达的大象6 小时前
从到处找资源到统一检索:飞牛NAS部署Pansou实战记录
网络·云计算
luweis6 小时前
企智孪生 ETA(3.3 认知算法层:ETA 的思维内核 3.4 基础架构:算力与弹性)【浙江联保网络 卢伟舜】
大数据·运维·线性代数·ai·矩阵·学习方法
极客老王说Agent7 小时前
屏幕理解能力是下一代自动化的关键吗?2026年自动化范式演进深度解析
运维·人工智能·ai·chatgpt·自动化
LT10157974447 小时前
2026年电商RPA选型指南:电商运营全流程自动化测评
运维·自动化·rpa
JAVA社区8 小时前
Java高级全套教程(十一)—— Kubernetes 超详细企业级实战详解
java·运维·微服务·容器·面试·kubernetes