mos*_*sno 12 storage lvm centos software-raid kvm-virtualization
我刚刚构建了一个全新的基于 KVM/libvirt 的虚拟机主机,包含 4 个 SATA II 硬盘驱动器,并运行 CentOS 5.5 x86_64。
我决定在作为 libvirt 存储池管理的 LVM 卷组中创建虚拟机磁盘作为逻辑卷,而不是将磁盘创建为 qcow 映像的通常做法。
我无法决定是应该在 VM 主机的卷组中还是在专用卷组中创建虚拟机逻辑卷。
我应该选择哪种方法,为什么?
md0
包含/boot
文件系统的小型 RAID1md1
占用剩余空间的大型 RAID10 ,其中包含一个 LVM 卷组vghost
。vghost
包含 VM 主机的根文件系统和交换分区vghost
根据需要创建虚拟机磁盘作为逻辑卷vghost
相对轻松地从中分配更多空间尽管这种方法似乎有效,但我无法摆脱这样的感觉,即这在某种程度上是个坏主意。我觉得:
md0
,并md1
在方法1,除了化妆md1
只是大到足以容纳VM主机(如5至10GB)md2
占用剩余空间。md2
包含一个 LVM 卷组vgvms
,其逻辑卷将由虚拟机独占使用vgvms
不用担心破坏主机操作系统vgvms
,这看起来不太好。更新#1:
我担心在方法 2 中用完 VM 主机磁盘空间的原因之一是因为我不知道 VM 主机是否足够强大以运行虚拟机中的所有服务,即。我可能需要将部分/所有服务从虚拟机迁移到主机操作系统。
更新#2:
在方法 1 中,我觉得系统可能没有被设计为使用主机 VG 作为 libvirt 存储池的原因之一是我在 virt-manager 中注意到的一些行为:
深思熟虑的问题!
我会选择方法 2,但这更多的是个人喜好。对我来说,方法 2 的缺点并不是什么大问题。我认为主机操作系统不会超出其 5-10GB 分区的容量,除非您开始在其上安装额外的东西,而您确实不应该这样做。为了简单性和安全性,主机操作系统实际上应该是一个最低限度的安装,除了管理所需的最低限度(例如 sshd)之外,不运行任何东西。
在我看来,方法 1 的缺点也不是真正的问题。我认为不会有任何额外的安全风险,因为如果 root 虚拟机能够以某种方式突破其分区并感染/损坏其他分区,那么将主机操作系统放在单独的 VG 上可能不会有任何区别。另外两个缺点我无法从直接经验中谈起,但我的直觉告诉我,CentOS、LVM 和 libvirt 足够灵活和强大,无需担心它们。
编辑 - 对更新 1 的响应
如今,虚拟化的性能影响非常低,尤其是使用内置支持虚拟化的处理器,因此我认为将服务从来宾虚拟机迁移到主机操作系统不值得。你可能会通过在“裸机”上运行,不值得,国际海事组织。
鉴于此,我还是倾向于方法2。
对更新 2 的回应
看来 libvirt 假定存储布局的特定方式是支持方法 2 的另一个观点。我的建议是:使用方法 2。