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

虚拟化技术特性(kvm虚拟化技术)


一、工控机的虚拟化技术特点是怎么样的呢?虚拟化技术的优点:
①资源利用率高——虚拟化可以支持物理资源和资源池的动态共享,提高资源利用率,特别是当它们的平均需求远低于期望时。。
简化公共行政任务;此外,虚拟化还可以支持通用设备在多个平台上的使用。
③提高使用灵活性——虚拟化可以实现动态资源部署和重新配置,以满足不断变化的业务需求。
④提高安全性——简单的共享方式无法实现虚拟隔离和分区。
⑤高可用性——虚拟化可以删除、修改或改变物理资源而不影响用户。
⑥更高的可扩展性——根据产品的不同,资源分配和集成可以支持比单个物理资源小得多或大得多的虚拟资源的实施,这意味着它们可以在不改变物理资源配置的情况下进行扩展。
⑦通信和投资保护——虚拟资源可以提供底层物理资源无法提供的不同接口和协议的兼容性。
⑧提高资源可用性——与单个物理资源单元相比,虚拟化可以以更小的单元进行分配。


二、虚拟化技术—QEMU-KVM基于内核的虚拟机

探索虚拟化巅峰:QEMU-KVM的基石与高效运行


QEMU-KVM作为与Linux内核集成的高效虚拟化解决方案,其核心是TYPE1Hypervisor,它采用与Linux内核紧密配合的硬件辅助虚拟化技术,以其优异的性能和资源管理能力而脱颖而出。要了解KVM,首先要知道它是如何利用硬件支持作为内核模块来提供对虚拟环境的控制和优化,以保证兼容性和效率。


2007年,KVM正式加入Linux家族,支持多核架构(SMP)和NUMA,功能扩展到LiveMigration和KernelSame-pageMerging(KSM),动态性显着提升。虚拟机迁移和内存管理效率。启动时,KVM内核模块在RootMode下初始化,通过UserApplicationQEMU,像魔术一样模拟虚拟硬件,为虚拟机提供服务。


QEMU由天才开发者FabriceBellard于2001年推出,名为TYPE2Hypervisor,依靠动态二进制翻译技术来兼容多种CPU架构和硬件模拟,虽然其性能略显逊色。低于KVMInferior,但QEMU的灵活性使其可以与KVM结合,产生强大的QEMU-KVM分支。两者共同推动虚拟化技术的创新。


KVM软件组件包括:内核模块、QEMU开源虚拟机管理器、AWS、阿里云等云服务商使用的QEMU-KVM以及virtio驱动程序共同构建为虚拟化技术奠定了坚实的基础。


虽然QEMU-KVM分支是QEMU的一部分,但在KVM环境中,我们更喜欢将QEMU称为KVM执行引擎。KVM工作得非常出色。QEMU通过open、close、ioctl等系统调用访问KVM接口,实现CPU、内存和I/O虚拟化,而VM管理和I/O模拟则由QEMU独立处理。


创建虚拟机的过程就像一门艺术一样精确:首先打开/dev/kvm,通过ioctl命令创建虚拟机并配置硬件抽象层(HVA)和物理层地址(HPA),以及PCI设备模拟。然后映射QEMU映像、构建vCPU并启动GuestOS。在此过程中,主线程不断监听VM退出事件,以响应中断和设备对虚拟环境的访问。


当页面错误或设备访问中断触发退出事件时,KVM接管CPU,Linux内核通过ioctl与QEMU交互,管理虚拟机和vCPU。KVM支持三种操作模式:User、Kernel(root模式)和Guest(非root模式)。QEMU通过/dev/kvm实现内存虚拟化,并映射全局页表(GPA)以确保GuestOS隔离。对于I/O虚拟化,QEMU负责模拟设备并捕获I/O请求,构建QEMU-KVM架构,该架构由vCPU、虚拟内存、虚拟I/O和GuestOS构建而成,形成用户进程的独特结构。


QEMU-KVM的架构设计巧妙。调度,而HostOS(LinuxScheduler)负责底层调度。KVM支持SMP和NUMA,允许用户自定义虚拟机的vCPU布局,保证迁移过程中CPU型号的安全。


通过-qemu-kvm命令,开发人员可以自定义VM的CPU配置并选择自定义模型和功能,但需要注意的是,软件模拟会影响性能。默认使用-host模式,磁盘设备选项丰富多样,包括文件路径、接口类型、索引、格式等。引导选项(例如-boot)用于指定引导设备并根据体系结构支持不同的字符标识符。QEMU的网卡模拟功能强大,支持多种网卡类型、MAC地址和VLAN,甚至可以通过Tap接口连接到物理网络,并支持用户态网络设计。


QEMU-KVM是虚拟化技术的卓越之旅,以其卓越的性能和灵活性,带我们探索更高层次的计算世界。无论是基本配置还是高级功能,QEMU-KVM以其优秀的工程设计为云计算和虚拟化环境提供了强有力的支持。