根据文章内容,本章主要讲解了KVM虚拟化环境中的虚拟存储管理,核心内容总结如下:
1. 虚拟存储概述
- 定义:虚拟存储是宿主机物理存储的一部分,通过模拟的块设备分配给虚拟机。
- 管理方式:分为托管存储(由libvirt通过存储池、存储卷管理)和非托管存储(管理员手动管理,适用于测试或小环境)。
2. 核心概念与术语
- 虚拟机存储设备:可通过
virsh domblk*系列命令查看和管理。在XML配置中,关键属性包括设备类型(type)、设备(device)、驱动程序(driver)、源(source)和目标(target总线/设备)。 - 宿主机存储资源:主要包括映像文件、LVM逻辑卷、物理设备(如磁盘、分区)和分布式存储系统(如Ceph、Gluster)。
3. 非托管存储
- 特点:配置路径固定,不灵活,主要用于测试。
- 创建映像文件:使用
dd或qemu-img命令创建(如raw、qcow2格式)。 - 管理工具:
virsh attach-disk/detach-disk:为虚拟机附加或分离磁盘。virt-manager:图形化添加磁盘(添加后会自动转为托管存储)。
4. qemu-img 命令详解
- 功能:管理虚拟磁盘映像的核心命令行工具。
- 关键操作:创建与格式化:
create,支持多种格式(如raw、qcow2),可设置预分配模式。
检查:check检查映像一致性。
调整大小:resize(qcow2仅支持扩容)。
转换格式:convert在不同格式间转换。
快照管理:snapshot创建、列出、应用、删除快照。
派生映像:基于基础映像创建,节省空间。
信息查看:info、map查看映像详情和布局。
5. 托管存储:存储池与存储卷
- 存储池:存储资源的抽象容器,是libvirt管理存储的“中间层”。类型:包括目录、物理磁盘设备、LVM卷组、网络文件系统(NFS/CIFS)、iSCSI目标等。
管理命令:virsh pool-*系列命令(如define、build、start、list、destroy)。 - 存储卷:存储池中的具体存储单元(如一个文件、一个LVM逻辑卷)。管理命令:
virsh vol-*系列命令(如create-as、list、info、delete)。
分配给虚拟机:推荐使用virsh attach-device配合XML文件,或通过virt-manager/Cockpit界面操作,以利用存储池的灵活性。
6. 本章小结
本章系统介绍了KVM虚拟存储的管理,从基础术语、非托管存储的简单使用,到功能强大的qemu-img工具,最后深入讲解了代表最佳实践的托管存储模型(存储池与存储卷),为灵活、高效地管理虚拟机存储奠定了基础。
