当前位置:首页 > 虚拟化 > 正文

libvirt可管理的虚拟化技术


一、没有使用libvirt的虚拟机,通过什么对虚拟机进行管理虚拟机控制器。根据中国计算机学会官网介绍,不使用libvirt的虚拟机通过虚拟机控制器来管理虚拟机。Libvirt是一组管理虚拟机、存储和网络的软件集合,包括API库。守护程序(libvirtd)和命令行工具(virsh)主要为各种虚拟化工具提供统一可靠的API,允许上层以单一方式管理多种不同的虚拟化技术。


二、libvirtandQEMU基础篇

在计算机世界中,操作系统就像舞台上的演员,有自己的区域和权限。处理器按权限级别划分。用户态和内核态就像不同阶段之间的界限。Linux内核巧妙地将用户程序放置在第三层。只有获得特殊权限(0级)才能安全地处理回关键硬件资源。虚拟化是这个阶段的向导,它允许一台机器同时运行多个独立的play,并通过hypervisor巧妙地分配和控制硬件使用权限。


完全虚拟化,就像演员的服装一样,无需修改,Hypervisor直接控制硬件通道,让每个虚拟系统都能展示其独特的能力。
半虚拟化是演员和导演之间的密切合作。操作系统必须进行部分修改才能与虚拟机管理程序一起工作,以实现流畅的虚拟世界。
对于软件虚拟化来说,就像用场景来模仿现实一样。QEMU等工具也发挥着类似的作用。效率较低,但通过模拟技术实现虚拟化。

现代处理器,如Intel的VT-x和AMD-V,引入了硬件辅助虚拟化,就像舞台灯光的精确聚焦一样,显着提高了虚拟化的效率。虚拟化技术的核心是为操作系统提供一个底层抽象,就像构建一个虚拟景观一样,让每个操作系统无需修改就可以运行。凭借其优异的性能,原生虚拟化几不需要对代码进行大规模修改,而HVM技术通过CPU指令和MMU的精细化设计进一步提高了效率。比如SR-IOV技术对于网卡性能有很大的帮助。


Linux内核的KVM技术是虚拟场景的主角。它直接与硬件通信,无需Hypervisor的干预,具有优异的性能。KVM的优点是它基于CPU的VT或AMD-V扩展。这些扩展就像舞台上的特效一样,直接提高了虚拟化执行的速度。libvirt与阶段调度程序一样,负责连接应用程序和虚拟化世界。尽管内核已经支持虚拟化,但它仍然是一个重要的组件。


libvirt是一个功能强大的虚拟化API库,支持多种编程语言,例如C、Python、Perl和Go,并提供直观的界面来轻松管理虚拟化平台,例如在RHEL7中,已经是默认的管理工具。它涵盖了安全的主机管理、主机之间的通用接口和资源调度,并采用驱动架构设计,使扩展变得简单轻松。


QEMU作为舞台仿真大师,不仅是通用的机器仿真器,还具有处理器仿真、器件仿真和调试的综合功能。QEMU作为用户空间进程,通过KVM模块为虚拟化提供硬件加速,使得虚拟机运行得像真实硬件一样流畅。QEMU和KVM的区别在于QEMU是一种仿真,而KVM使用硬件辅助进行加速。当QEMU将KVM加速与其模拟功能相结合时,虚拟化性能将显着提高。在实际操作中,QEMU经常与libvirt等工具配合使用,为KVM用户空间管理提供强有力的支持。