相关疑难解决方法(0)

KVM/qemu - 直接使用 LVM 卷而不使用图像文件?

我不太确定如何表达这个问题(因此标题很糟糕),所以让我提供一个我正在尝试做的事情的例子。

在我的(旧)Xen 主机上,我能够直接向每个来宾提供 LVM 文件系统。这些文件系统实际上是在主机上创建和格式化的,并直接通过。例如,对于我的一台主机使用单独的 tmp 和交换分区,我这样定义存储:

磁盘 = [
'phy:/dev/vg1/guest1-swap,sda1,w',
'phy:/dev/vg1/guest1-disk,sda2,w',
'phy:/dev/vg1/guest1-tmp,sda3 ,w',
]

因此,guest1-swap 被格式化为交换分区,guest1-disk 和 guest1-tmp 被格式化为 ext4,从来宾的角度来看,它只是将它们视为 /dev/sda 下的三个格式化分区。

(这听起来可能需要做很多工作,但是有一些配置脚本,例如很棒的xen-tools,几乎可以自动化所有内容)。

这提供了一些非常有用的功能,其中两个我对找出 KVM 特别感兴趣:

  • 从主机操作系统挂载来宾文件系统。我可以随时对任何来宾文件系统进行只读挂载,即使是在来宾运行时也是如此。这有一个附带好处,即允许我在来宾运行时创建任何现有卷的 LVM 快照。通过这种方式,我可以在运行时从主机集中备份所有来宾。

  • 在线卷大小调整。因为这些卷包含标准的 Linux 文件系统,所以我可以使用 lvextend 和 resize2fs 的组合来扩展我的来宾文件系统,再次在它们在线时。

我目前正在设置将替换 Xen 主机的 KVM 主机。与 Xen 设置类似,我利用 LVM 提供直接文件系统访问,但 KVM/qemu 的行为有所不同,因为它始终为来宾创建映像文件,即使在 LVM 卷上也是如此。从来宾的角度来看,它认为这是一个未分区的磁盘,由来宾应用分区标签,然后创建分区和文件系统。

从访客的角度来看这很好,但从服务器/管理的角度来看,它似乎远不如我描述的 Xen 设置灵活。我还是 KVM 的新手,所以我可能(希望)遗漏了一些东西。

当我尝试在 KVM 主机上重新实现我以前的备份解决方案时遇到了这个问题,并且当我尝试挂载来宾的文件系统之一时挂载命令被阻塞。所以,解决这个问题是我目前的担忧,但这也让我担心调整大小的事情,因为我相信这个问题也会在某个时候出现。

所以,这里是我的问题:

  1. 有没有办法让 kvm/qemu 直接使用 LVM 卷文件系统,就像我在 Xen 设置中描述的那样?如果这有所作为,我会使用 libvirt 进行管理。

  2. 如果没有,我该怎么做才能在 KVM 下获得类似的挂载/备份功能?我已经看到有关使用带有 FUSE 的 libguestfs …

linux lvm kvm-virtualization

23
推荐指数
2
解决办法
4万
查看次数

标签 统计

kvm-virtualization ×1

linux ×1

lvm ×1