第 11 章 存储概念
本章介绍了用于描述和管理存储设备的概念。存储池和卷等术语在后续小节中阐述。
11.1. 存储池
存储池 是由 libvirt 管理的文件、目录或存储设备,用于向客户机虚拟机提供存储。存储池可以是本地的,也可以通过网络共享。存储池是管理员设置的存储数量(通常是专用存储管理员)供客户机虚拟机使用。存储池由存储管理员或系统管理员划分到存储卷,卷则作为块设备分配到客户机虚拟机。在简短的存储卷中,需要对什么是存储池进行分区。虽然存储池是一个虚拟容器,但有两个因素限制: qemu-kvm 允许的最大值,以及主机物理机器上的磁盘大小。存储池不能超过主机物理机器上的磁盘大小。最大大小如下:
- virtio-blk = 2^63 字节或 8 Exabytes(使用原始文件或磁盘)
- Ext4 = ~ 16 TB(使用 4 KB 块大小)
- XFS = ~8 Exabytes
- 在尝试非常大的镜像大小时,qcow2 和主机文件系统会保留自己的元数据和可扩展性。使用原始磁盘意味着可能会影响可扩展性或最大大小的层数。
libvirt 使用基于目录的存储池
/var/lib/libvirt/images/
目录作为默认存储池。可以将默认存储池改为另一个存储池。
- 本地存储池 - 本地存储池直接附加到主机物理机器服务器。本地存储池包括:本地目录、直接附加磁盘、物理分区和 LVM 卷组。这些存储卷存储客户机虚拟机镜像,或作为额外存储附加到客户机虚拟机。由于本地存储池直接附加到主机物理服务器,它们在开发、测试和小型部署非常有用,不需要迁移或大量客户机虚拟机。本地存储池不适用于许多生产环境,因为本地存储池不支持实时迁移。
- 网络(共享)存储池 - 网络的存储池包括使用标准协议通过网络共享的存储设备。使用 virt-manager 在主机物理机之间迁移虚拟机时需要网络存储,但在使用 virsh 迁移时是可选的。网络的存储池由 libvirt 管理。网络存储池支持的协议包括:
- 基于光纤通道的 LUN
- iSCSI
- NFS
- GFS2
- SCSI RDMA 协议(SCSI RCP), InfiniBand 和 10GbE iWARP 适配器中使用的块导出协议。
注意
不应创建或使用多路径存储池,因为它们没有被完全支持。