我不太确定该如何表达这个问题(因此标题很差),所以让我提供一个示例来说明我要做什么。
在我的(旧)Xen主机上,我能够将LVM文件系统直接呈现给每个来宾。这些文件系统实际上是在主机上创建和格式化的,并直接通过。例如,对于使用单独的tmp和swap分区的主机之一,我定义存储如下:
磁盘= [
'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,从guest的角度来看,它只是将它们视为/ dev / sda下的三个格式化分区。
(这听起来可能需要做很多工作,但是有一些配置脚本,例如很棒的xen-tools,几乎可以使所有内容自动化)。
这提供了一些非常有用的功能,其中两个我特别想了解KVM:
从主机OS挂载来宾文件系统。即使来宾正在运行,我也可以随时对任何来宾文件系统进行只读装载。这样做的附带好处是,允许我在来宾运行时创建任何现有卷的LVM快照。这样,我可以在运行时从主机集中备份所有来宾。
在线批量调整大小。由于卷包含标准的Linux文件系统,因此我可以结合使用lvextend和resize2fs来增长我的客户机文件系统,使其再次处于联机状态。
我目前正在设置KVM主机,它将替换Xen主机。与Xen设置类似,我利用LVM提供直接的文件系统访问,但是KVM / qemu的行为有所不同,因为它始终为来宾创建映像文件,即使在LVM卷上也是如此。从guest虚拟机的角度来看,它将其视为未分区的磁盘,并且由guest虚拟机负责应用分区标签,然后创建分区和文件系统。
从来宾的角度来看,这很好,但是从服务器/管理的角度来看,它似乎比我描述的Xen设置要灵活得多。我还是KVM的新手,所以(希望)我缺少一些东西。
尝试在KVM主机上重新实现以前的备份解决方案时遇到了这个问题,当我尝试挂载客户机的文件系统之一时,挂载命令出现问题。因此,解决这是我当前的关注,但是这也让我关注调整大小的问题,因为我确定这个问题也会在某个时候出现。
所以,这是我的问题:
如我为Xen设置所述,有什么方法可以让kvm / qemu直接使用LVM卷文件系统?如果可以,我使用libvirt进行管理。
如果没有,我该怎么做才能在KVM下获得类似的挂载/备份功能?我已经看到了有关使用带有FUSE的libguestfs进行此操作的讨论,但这真的是最好的选择吗?如果可能的话,我宁愿坚持使用本机文件系统挂载。
如果不是,是否可以在KVM下调整在线文件系统的大小?我已经找到了一些关于此的讨论/方法,但是答案似乎无处不在,没有明确的,绝对没有直接的解决方案。
抱歉,很长的帖子,只想确保它清楚。请让我知道是否可以提供其他有用的信息。期待讨论。:-)