安装了 Ubuntu 14.04,并且将根据一些建议放弃 VirtualBox 而转向 KVM。
考虑到这一点,我有一个完整的物理 SATA 磁盘,我想在几个虚拟机之间共享。使用 KVM 可以实现这一点吗?
本质上,每个虚拟机都会安装它并使用它来每天备份配置和其他文件。
答案1
我认为有两种选择:
使用 NFS
正如其他评论者所说 - NFS 似乎是阻力最小的路径
调整磁盘分配并使用一些编排工具
- 使用 KVM,您可以通过以下方式执行“热插拔”磁盘等操作:
$ virsh 附加磁盘...
- 然后在连接此磁盘的 VM 内安装磁盘并进行备份
- 卸载虚拟机内的磁盘
- 在虚拟机主机上分离磁盘:
$ virsh 分离磁盘...
- 对其余虚拟机重复上述操作
为了实现这一点,您需要运行一些编排 - 可能是一些 Ansible/Puppet/Chef/whatever,因为您的任务跨越多个主机。
答案2
常规选项 1
在同一主机上运行的两个 KVM 之间可以共享物理驱动器,或者一般来说共享任何块设备。只需将设备文件名传递给-drive
选项即可。
常规选项 2
如果需要在两个不同主机上的两个虚拟机之间共享驱动器(一般来说),通常需要 SAN(存储访问网络)。
它可以是光纤通道连接(最佳性能)或 iSCSI。
在这两种情况下,您都需要发起者和目标。
- 发起者——‘消耗’块设备的机器。
- 目标 - 机器(或设备)
启动器 - 也是 VM 主机。连接的块设备按名称作为块设备传递给 VM。
尖端
必读:-drive format=raw, cache=off
为了演出,virtio
强烈推荐。