11.2. 卷
存储池被分成多个存储卷。存储卷是物理分区、LVM 逻辑卷、基于文件的磁盘镜像以及 libvirt 处理的其他存储类型的抽象。无论底层硬件是什么,存储卷都作为本地存储设备向虚拟客户机呈现。
引用卷
要引用特定卷,可以使用三种方法:
- 卷和存储池的名称
- 卷可以通过名称来指代,以及它所属的存储池的标识符。在 virsh 命令行中,格式为
--pool
storage_pool volume_name。例如,在 guest_images 池中名为 firstimage 的卷。# virsh vol-info --pool guest_images firstimage Name: firstimage Type: block Capacity: 20.00 GB Allocation: 20.00 GB virsh #
- 主机物理机器系统中存储的的完整路径
- 卷也可能由文件系统中的完整路径来引用。使用此方法时,不需要包含池标识符。例如,名为 secondimage.img 的卷,对主机物理机器系统作为 /images/secondimage.img 可见。该镜像可以指代为 /images/secondimage.img。
# virsh vol-info /images/secondimage.img Name: secondimage.img Type: file Capacity: 20.00 GB Allocation: 136.00 kB
- 唯一卷密钥
- 当卷首次在虚拟化系统中创建时,将生成唯一标识符并为其分配它。唯一标识符术语 卷键。此卷密钥的格式因所使用的存储而异。与基于块的存储(如 LVM)一同使用时,卷密钥可能会采用以下格式:
c3pKz4-qPVc-Xf7M-7WNM-WJc8-qSiz-mtvpGn
与基于文件的存储一起使用时,卷密钥可能是卷存储的完整路径的副本。/images/secondimage.img
例如,卷键为 Wlvnf7-a4a3-Tlje-lJDa-9eak-PZBv-LoZuUr:# virsh vol-info Wlvnf7-a4a3-Tlje-lJDa-9eak-PZBv-LoZuUr Name: firstimage Type: block Capacity: 20.00 GB Allocation: 20.00 GB
virsh 提供在卷名称、卷路径或卷密钥间进行转换的命令:
- vol-name
- 当提供卷路径或卷密钥时,返回卷名称。
# virsh vol-name /dev/guest_images/firstimage firstimage # virsh vol-name Wlvnf7-a4a3-Tlje-lJDa-9eak-PZBv-LoZuUr
- vol-path
- 当提供卷密钥或存储池标识符和卷名称时,返回卷路径。
# virsh vol-path Wlvnf7-a4a3-Tlje-lJDa-9eak-PZBv-LoZuUr /dev/guest_images/firstimage # virsh vol-path --pool guest_images firstimage /dev/guest_images/firstimage
- vol-key 命令
- 当提供卷路径或存储池标识符和卷名称时,返回卷密钥。
# virsh vol-key /dev/guest_images/firstimage Wlvnf7-a4a3-Tlje-lJDa-9eak-PZBv-LoZuUr # virsh vol-key --pool guest_images firstimage Wlvnf7-a4a3-Tlje-lJDa-9eak-PZBv-LoZuUr