KVM虚拟化解决方案系列之KVM架构篇

这篇具有很好参考价值的文章主要介绍了KVM虚拟化解决方案系列之KVM架构篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

虚拟化是云计算的基础,在有虚拟化之前,一个物理主机上只能安装一个操作系统和运行一个核心业务程序。在有了虚拟化之后,一个物理主机上可以运行多台虚拟机,虚拟机上可以安装不同的操作系统和运行不同的核心业务程序,虚拟机共享物理主机的CPU、内存、I/O硬件资源,但是逻辑上虚拟机之间是相互隔离的。

1. 类型1和类型2虚拟化

物理主机是通过一个叫虚拟机监控器(Hypervisor)的软件程序实现硬件资源虚拟化的,那么根据Hypervisor是直接安装在硬件之上还是直接安装在宿主机操作系统之上,又将虚拟化分为类型1虚拟化和类型2虚拟化,如图1所示。

KVM虚拟化解决方案系列之KVM架构篇

图1. 类型1虚拟化和类型2虚拟化

类型1虚拟化,宿主机上没有安装Linux或Windows常规操作系统,Hypervisor直接安装在宿主机之上,虚拟机运行在Hypervisor之上,由Hypervisor直接控制硬件资源以及虚拟机。典型的类型1虚拟化有Xen和VMware ESXi。

类型2虚拟化,宿主机上安装了Linux或Windows常规操作系统,Hypervisor直接安装在宿主机操作系统之上,也就是说这类型的Hypervisor是宿主机操作系统的一个应用程序,受宿主机操作系统的管理。典型的类型2虚拟化有KVM、VirtualBox和VMware Workstation。

2. KVM虚拟化介绍

KVM是在硬件辅助虚拟化技术之上构建起来的虚拟机监控器,所以小编在介绍KVM架构之前,假设各位看官对CPU、内存、I/O等硬件虚拟化技术有大概的了解,如果有不太了解的,可以到网上去了解相关的内容,这里就不再赘述。

KVM的全称是Kernel-based Virtual Machine,即基于内核的虚拟机,是采用硬件虚拟化技术的开源全虚拟化解决方案,也是业界主流的Linux虚拟化解决方案。

2.1. KVM功能

KVM是Linux操作系统的一个内核模块kvm.ko,通过直接加载kvm.ko模块将Linux内核转变为一个虚拟机监视器(Hypervisor),同时借助Linux内核来管理硬件,所以KVM是一个典型的类型2虚拟化,其功能框架如图2所示。注意,图2摘自危机百科,考虑到国内访问危机百科不方便,这里就不贴访问路径了。

KVM虚拟化解决方案系列之KVM架构篇

图2. KVM功能框架-原图

小编将图2的英文翻译成中文,方便英文不好的小伙伴们去理解,如图3所示。

KVM虚拟化解决方案系列之KVM架构篇

图3. KVM功能框架-中文

在介绍KVM功能之前,我们先来了解一下什么是“宿主机”,什么是“客户机”,什么是“物理机”,什么是“虚拟机”,这里我只是讲个大概,大家知道是那个意思就行了。虚拟机监视器(Hypervisor)运行的实际物理机,称为宿主机。虚拟机监视器(Hypervisor)上虚拟出来的虚拟机,称为客户机。所以在大约的情况下,宿主机等同于物理机,客户机等同于虚拟机。

下面我们开始介绍KVM功能框架。客户机是在宿主机操作系统上的一个抽象,通常抽象就是进程,所以一个KVM客户机对应于一个Linux进程,每个vCPU则是这个进程下的一个线程,还有单独的处理IO的线程,也在一个线程组内。所以宿主机上各个客户机是由宿主机内核像调度普通进程一样调度的,即可以通过Linux操作系统的各种进程调度的手段来实现不同客户机的权限限定、优先级等功能。

客户机所看到的硬件设备是QEMU模拟出来的(不包括VT-d直通设备),当客户机对模拟设备进行操作时,由QEMU截获并转换为对实际的物理设备的驱动操作来完成。

2.1.1. QEMU进程

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

2.1.2. 实时迁移

KVM支持实时迁移,这提供了在宿主机之间转移正在运文章来源地址https://www.toymoban.com/news/detail-494488.html

到了这里,关于KVM虚拟化解决方案系列之KVM架构篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IBM LSF 集群虚拟化和工作负载管理解决方案

    IBM LSF 集群虚拟化和工作负载管理解决方案 全面综合的工作负载管理解决方案,不仅能够简化 HPC,还能大幅改善用户和管理员体验、可靠性和性能 用途 IBM Spectrum® LSF Suites 组合通过为任务关键型 HPC 环境提供集成解决方案,重新定义集群虚拟化和工作负载管理。 这有助于提

    2024年02月15日
    浏览(32)
  • 【经验】VMware|Win11的Ubuntu虚拟机启动虚拟化,报错此平台不支持虚拟化的 Intel VT-x/EPT(方案汇总+自己的解决方案)

    我开虚拟化是为了在虚拟机中运行VirtualBox,如果不开CPU虚拟化,会报错 VBoxManage error: VT-x is not available (VERR_VMX_NO_VMX) 。 参考:VBoxManage error: VT-x is not available (VERR_VMX_NO_VMX) 先装cpu-check,获得kvm-ok指令: 运行下面这个指令检查是否支持KVM: 如果没有启用,会显示(继续第二个步

    2024年02月13日
    浏览(44)
  • PikVM:轻量级虚拟化解决方案,让云计算更简单

    项目地址:https://gitcode.com/pikvm/pikvm PikVM 是一个创新的、轻量级的虚拟化平台,旨在简化云计算环境的部署和管理。它基于KVM(Kernel-based Virtual Machine),但提供了一种更加简洁且易于使用的接口,适合开发者、运维人员以及对虚拟化技术感兴趣的任何人。 PikVM 的核心理念是“

    2024年04月16日
    浏览(38)
  • Cloud Computing HCIA-③华为企业级虚拟化解决方案

    FusionCompute 是华为的一款虚拟化产品,它属于华为 FusionSphere虚拟化套件 中的重要一员。此外还有 FusionCloud:华为云产品 , FusionAccess:华为桌面云 , FusionInsight:华为大数据产品等等 。 FusionCompute包括两个重要组件: 1.CNA(computing node agent):计算机节点代理 2.VRM(virtual resource managem

    2024年02月15日
    浏览(41)
  • 01 openEuler虚拟化-KVM虚拟化简介

    1.1 简介 在计算机技术中,虚拟化是一种资源管理技术,它将计算机的各种实体资源(处理器、内存、磁盘、网络适配器等)予以抽象、转换后呈现,并可分割、组合为一个或多个计算机配置环境。这种资源管理技术打破了实体结构不可分割的障碍,使这些资源在虚拟化后不

    2023年04月26日
    浏览(62)
  • [ 云计算相关 ] KVM虚拟化平台windows虚拟机迁移到openstack虚拟化平台(KVM虚拟化环境中Windows虚拟机安装Virtio驱动程序)

    👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋 🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋 🙏作者水平有

    2024年02月02日
    浏览(42)
  • 【KVM虚拟化】· KVM中的网络

      目录 🍎虚拟机的网络模式 🍒网络配置文件 🍒virsh查看命令 🍎基于NAT的虚拟网络 🍎基于网桥的虚拟网络 🍎基于隔离的虚拟网络     🦐博客主页:大虾好吃吗的博客     🦐专栏地址:KVM虚拟化专栏 基于NAT(Network Address Translation)的虚拟网络 基于网桥(Bridge)的虚拟

    2024年02月06日
    浏览(55)
  • kvm虚拟化

    虚拟化是云计算的基础。简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU、内存、IO 硬件资源,但逻辑上虚拟机之间是相互隔离的。 物理机我们一般称为宿主机(Host),宿主机上面的虚拟机称为客户机(Guest)。 那么 Host 是如何将自

    2024年01月17日
    浏览(43)
  • 【KVM虚拟化环境部署】

    1、装系统时手动选择安装 2、CentOS 7 最小化安装 安装好CentOS 7后,去设置里面点击处理器,将右边虚拟化引擎勾上 添加一块硬盘 分区并格式化 创建虚拟机,本例使用iso镜像 选择镜像路径

    2024年02月12日
    浏览(33)
  • KVM虚拟化ubuntu

    KVM(Kernel-based Virtual Machine)是一种基于Linux内核的虚拟化技术,它将Linux内核作为虚拟机的底层操作系统,利用硬件虚拟化支持创建和管理虚拟机。KVM虚拟化技术被广泛应用于云计算、虚拟化服务器、虚拟化桌面等场景。 KVM虚拟化技术的主要特点包括: 1.硬件虚拟化支持:

    2024年02月10日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包