kvm虚拟机管理命令

作者: 谭叔以, 发布: 2021-03-29 13:03:06

I、使用Cockpit作为Virt-Manager替代方来管理KVM虚拟机Cockpit是RedHat开发的开源服务器管理工​​具。 它提供基于Web的界面,帮助用户集中管理服务器资源,例如存储、网络和虚拟机。 无需安装任何软件,通过网页浏览器即可作Cockpit,非常方便。
安装Cockpit相对容易。 根据不同的Linux发行版使用相应的命令。 虚拟机模块需要额外安装来管理KVM虚拟机。
访问Cockpit后,通过浏览器输入服务器的IP地址和默认端口号9090即可开始管理。
使用Cockpit管理KVM虚拟机的步骤如下:首先,确保服务器上安装了KVM。 接下来,您通过Cockpit创建虚拟机,为其命名,选择作系统ISO映像,设置ISO映像存储路径,并分配CPU和存储空间。 最后,创建并运行虚拟机。
创建虚拟机后,用户可以直接访问虚拟机界面并调整其设置。 Cockpit还提供对终端和其他服务器设置的直接访问,使其成为KVM管理的理想工具,特别是在没有图形用户界面的服务器环境中。

综上所述,Cockpit作为Virt-Manager的替代方,为用户提供了灵活强大的服务器管理方式,简化了虚拟机管理流程,提高了工作效率。 II、虚拟化技术—QEMU-KVM基于内核的虚拟机

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


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


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


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


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


虽然QEMU-KVM分支是QEMU的一部分,但在KVM环境中,我们更喜欢称QEMU为KVM的执行引擎。 KVM表现出色kvm.ko位于内核空间,通过/dev/kvm与用户空间实时交互,并提供libkvm库。 QEMU通过open、close、ioctl等系统调用访问KVM接口,实现CPU、内存和I/O虚拟化,而VM管理和I/O模拟则由QEMU独立处理。


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


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


QEMU-KVM的架构设计巧妙。 HostOS调度时,vCPU由GuestOS和HostOS共同管理,形成两层调度:GuestOS负责高层。 HostOS(LinuxScheduler)负责涉及vCPU线程、QEMU线程和物理CPU的低级调度。 KVM支SMP和NUMA,允许用户自定义虚拟机的vCPU布,保证迁移过程中CPU型号的安全。


通过-qemu-kvm命令,开发者可以自定义虚拟机的CPU配置,并选择自定义型号和功能。 然而,应该注意的是,软件模拟会影响性能。 默认使用-host模式,磁盘驱动器选项丰富多样,包括文件路径、接口类型、索引、格式等。 -boot等引导选项用于指定引导设备,并根据体系结构支不同的字符标识符。 QEMU的网卡模拟功能强大,支多种网卡类型、MAC地址和VLAN。 它甚至可以通过Tap接口连接到物理网络,并支用户模式下的网络堆栈设计。


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

相关文章