KVM 虚拟之间共享 LVM 存储

KVM 虚拟之间共享 LVM 存储

我正在摆弄 KVM 和用于在虚拟机之间共享的不同存储选项。我有一个 LVM 卷组,定义为libvirt.我定义了一个卷并将其作为 virtio 磁盘附加到两个测试虚拟机。这是 virsh dumpxml

<disk type='block' device='disk'>
  <driver name='qemu' type='raw'/>
  <source dev='/dev/kvm_storage/vm_shared'/>
  <target dev='vda' bus='virtio'/>
  <shareable/>
  <alias name='virtio-disk0'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>

我可以读/写文件,但它们不会在两个虚拟之间保持同步,除非我卸载然后重新安装。这还支持吗?

答案1

你需要一个集群文件系统

我不知道你正在使用什么文件系统。但对于标准文件系统来说这是不可能的,并且与 KVM 或 LVM 无关。

另一种解决方案是使用网络文件系统,例如nfscifs

答案2

你必须使用这些级别:

在物理主机上:

  • KVM 级别:VM 的第二个磁盘在 Virt-manager 属性中标记为“共享存储”(仅支持磁盘类型“原始”。在 vm 磁盘编辑屏幕中不支持 qcow2 作为“可共享”,并且 virt-manager 不允许您勾选“可共享”框后单击“应用”)

在虚拟机上:

  • level 0 : DLM (我认为像磁盘逻辑管理) # service dlm start ;要安装的 Linux 软件包
  • 第一级:LVM管理
  • 级别 2:在 LVM 逻辑卷上格式化的 GFS2 文件系统

答案3

虚拟机同时使用的磁盘。否则磁盘上的文件系统将被损坏!您可以使用NAS/NFS/SMB等网络文件系统来共享文件。

相关内容