KVM虚拟化基础二(QEMU,KVM,Hypervisor,Libvirt)
admin
2023-04-07 11:21:22
0
QEMU是什么?

QEMU is a generic and open source machine emulator and virtualizer QEMU官网
QEMU是一套由 Fabrice Bellard 开发者编写的模拟处理器的自由软件,是一个完整的可以单独运行的软件。可独立模拟出整台计算机(CPU/内存/IO设备)它是通过一个特殊的“重编译器”对特定的处理器(CPU)的二进制代码进行翻译转换来提供一系列的硬件模拟,使Guest OS认为自己和硬件直接打交道(其实是同QEMU模拟出来的硬件打交道)。QEMU再将这些指令翻译给真正硬件进行操作,通过这种模式Guest OS可以和主机上的各种IO类及USB设备等进行交互。但由于其所有指令都需要经过QEMU来翻译因而性能会比较差(存软件模拟);
QEMU有两种工作模式:
系统模式:可模拟出整个电脑系统
用户模式:可运行不同与当前硬件平台的其他平台上的程序(如在x86平台上运行跑在ARM平台上的程序)
代码地址:目前最新的版本是3.1,在1.3之后QEMU和QEMU-KVM合二为一叫QEUMU-KVM QEMU 代码
KVM虚拟化基础二(QEMU,KVM,Hypervisor,Libvirt)

KVM 是什么?

红帽的官网KVM知识点参考 红帽官网
KVM的知识点社区参考 KVM社区
KVM(Kernel -base-virtual machine)实际上是类Linux发行版内核中提供的虚拟化技术(内核级虚拟化),可将内核直接充当Hypervisor来使用,在内核中独立存在可动态加载。
注意:其处理器(CPU)自身必须支持虚拟化扩展
工作原理:
KVM包含一个内核模块kvm.ko其用来实现核心虚拟化功能,以及一个和处理器强相关的模块 kvm-intel.ko或kvm-amd.ko。KVM本身不实现任何模拟仅仅是暴露了一个 /dev/kvm 接口。这个接口可被宿主机用来主要负责vCPU的创建、虚拟内存的地址空间分配、vCPU寄存器的读写以及vCPU的运行。有了KVM以后Guest OS的CPU指令不用再经过QEMU来转译便可直接运行,大大提高了运行速度。但KVM的kvm.ko本身只提供了CPU和内存的虚拟化,其它网络等IO的支持需配合另一组件 QEMU-KVM;
动态装载:
如果装载了kvm模块内核立即变为僵尸并变成了Hypervisor(悄悄并腐蚀了寄生在内核级宿主机之上的Hypervisor)用户空间就变为了其中一台虚拟机的管理控制台,完全寄生不驱动任何驱动管理程序;
KVM虚拟化基础二(QEMU,KVM,Hypervisor,Libvirt)

Hypervisor 是什么?

通俗来讲 Hypervisor 是一种将操作系统与硬件抽象分离的一种技术实现方法。一种运行在物理服务器和操作系统之间的中间软件层(可以是软件程序,也可以是固件程序);
它允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统;
它可以协调访问服务器上的所有物理设备和虚拟机,当服务器启动并执行Hypervisor时它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统,它能够使得这些虚拟机可高效地去分享物理服务器的硬件资源。也叫虚拟机监视器VMM(Virtual Machine Monitor);
Hypervisor是所有虚拟化技术的核心,非中断地支持多工作负载迁移的能力是Hypervisor的基本功能;
Hypervisor 翻译过来就是超级监督者,被引申为超级管理程序、超多功能管理器、虚拟机管理器、VMM;
Hypervisor(主机虚拟化)的两种类型
1型虚拟化:在硬件上跑的不是宿主机(直接跑的是虚拟化软件,需驱动底层硬件)所创建每个主机都是虚拟机
2型虚拟化:在硬件安装操作系统(操作系统安装虚拟软件vmware,virtualbox)
KVM虚拟化基础二(QEMU,KVM,Hypervisor,Libvirt)

Libvirt 是什么?

社区站点:libvirt 社区站点
这是 RedHat 开始支持KVM后搞的一个用户空间虚拟机管理工具。目标是提供一个单一途径以管理多种不同虚拟化方案以及虚拟化主机,其包括:KVM/QEMU,Xen,LXC,OpenVZ 或 VirtualBox hypervisors等 ;
它Libvirt内置的API广泛用于云解决方案开发中的虚拟机监视器编排层(Orchestration Layer)。常用的管理工具如,virsh,virt-install,virt-manager等;
Libvirt 的一些主要功能

  • VM management(虚拟机管理)
    各种虚拟机生命周期的操作,如:启动、停止、暂停、保存、恢复和迁移等;多种不同类型设备的热插拔操作,包括磁盘、网络接口、内存、CPU等
  • Remote machine support(支持远程连接)
    Libvirt 的所有功能都可以在运行着 libvirt 守护进程的机器上执行,包括远程机器。通过最简便且无需额外配置的 SSH 协议,远程连接可支持多种网络连接方式
  • Storage management(存储管理)
    任何运行 libvirt 守护进程的主机都可以用于管理多种类型的存储:创建多种类型的文件镜像(qcow2,vmdk,raw,...),挂载 NFS 共享,枚举现有 LVM 卷组,创建新的 LVM 卷组和逻辑卷,对裸磁盘设备分区,挂载 iSCSI 共享,以及更多......
  • Network interface management(网络接口管理)
    任何运行 libvirt 守护进程的主机都可以用于管理物理的和逻辑的网络接口,枚举现有接口,配置(和创建)接口、桥接、VLAN、端口绑定
  • Virtual NAT and Route based networking(虚拟 NAT 和基于路由的网络)
    任何运行 libvirt 守护进程的主机都可以管理和创建虚拟网络。Libvirt 虚拟网络使用防火墙规则实现一个路由器,为虚拟机提供到主机网络的透明访问
  • 安装:安装 libvirt 以及至少一个虚拟运行环境(hypervisor)
    基于守护进程/客户端架构的 libvirt 只需装在需要实现虚拟化的机器上,服务及客户端可以是相同的物理机器
    Libvirt 的 KVM/QEMU 驱动 KVM/QEMU驱动站点

    Archlinux站点上的Libvirt参考?

    libvirt wiki 参考

相关内容

热门资讯

徐巧芯剖析赖清德:最怕自己丢掉... 海峡导报综合报道 大罢免投票一周年纪念活动26日举行,台北市长蒋万安出席并怒轰,民进党一年过后仍没有...
中国红十字会总会紧急向广东调拨... 记者从中国红十字会总会了解到,针对台风“红霞”给广东造成的灾情,中国红十字会总会启动四级应急响应,紧...
这些少年,正被“毒蛋”围猎 李梦抽了几口电子烟,吐出了白色的烟雾,有一股浓烈的水果香味。随后,她看着自己握电子烟的手,跟身边人说...
蒋万安号召“倒阁”,卢秀燕认为... 海峡导报综合报道 台北市长蒋万安27日抛出震撼议题,表示多名民代向他提议推动“倒阁”,要求台行政机构...
特朗普将在白宫会见两位重要客人 俄乌战争仍未结束,美伊冲突又有升级风险。在此背景下,美国总统特朗普将在白宫接见乌克兰和以色列领导人。...
新租客打扫卧室柜子上掉落4万元... 近日,莲前西路某小区内,张倩签下一套房子的租赁合同。当天上午,她带着12岁的大女儿周馨怡和11岁的小...
六部门通告:禁止涉军队退役报废... 关于禁止涉军队退役报废装备销售活动的通告近年来,部分经营者在线上线下公开销售涉及我军退役报废装备(指...
九寨沟景区发生泥石流,部分道路... 7月26日,九寨沟风景名胜区管理局发布泥石流灾害通报:2026年7月26日15时50分,九寨沟景区局...
空调26度不凉是什么原因 从空调内部元器件来说,不凉的原因有可能是温度传感器出现故障了,也有可能是空调压缩机或者铜管出现问题,...
鲸鸿动能携手香港国际机场、鸿蒙...   2026 年 7 月 25 日,十余位鸿蒙车主组成的车队从珠海出发,经港珠澳大桥通关抵达香港国际...