这篇文章主要介绍了用于简化KVM虚拟化配置和管理的各类工具,它们对原生的 qemu-kvm 命令行进行了封装和功能增强。
核心内容总结如下:
- libvirt:这是最核心的管理工具和应用程序接口(API)。它是一个开源的中间适配层,支持包括KVM在内的多种虚拟化方案。libvirt 屏蔽了底层不同 Hypervisor 的细节,为上层管理工具提供了一个统一、稳定的接口。其核心组成部分包括:API库:提供稳定的C语言接口及其他语言(如Python)绑定。
守护进程 (libvirtd):运行在宿主机上,负责执行管理指令。
命令行工具 (virsh):默认的管理工具。
libvirt 的管理功能涵盖域(虚拟机)的生命周期、远程节点、存储、网络等,并通过XML文件进行配置。 - virsh:基于 libvirt API 的命令行管理工具,是系统管理员实现自动化管理的理想选择。它支持交互模式和非交互模式,提供了丰富的命令来管理域、宿主机、网络和存储等。
- virt-manager:基于 libvirt 的图形化桌面管理工具。它提供了易用的界面,用于创建、编辑、启动、暂停虚拟机,进行动态迁移,以及监控虚拟机和宿主机的性能。
- 其他辅助工具:virt-viewer:一个轻量级的图形界面查看器,用于连接并显示虚拟机的桌面。
virt-install:用于创建和安装新虚拟机的命令行工具,支持自动化安装。
virt-top:类似于系统top命令,用于实时监控虚拟机的资源使用状态。 - OpenStack:一个开源的云计算平台(IaaS),其计算组件(Nova)可以通过 libvirt API 来管理 KVM 等 Hypervisor,从而在云平台上提供弹性的虚拟服务器。文章简要介绍了其核心组件和如何使用 DevStack 脚本快速搭建开发环境。
总结来说,这些工具构成了一个从底层API到命令行、图形界面,再到云平台的管理体系。libvirt 是基石,virsh 和 virt-manager 是直接面向管理员的操作工具,而 OpenStack 则是在此基础上构建的、面向大规模资源管理的云计算解决方案。它们共同降低了 KVM 的使用和管理难度。
