centos – KVM / libvirt主机和来宾之间共享的LVM卷组:这是个坏主意吗?

我刚刚构建了一个闪亮的新KVM / libvirt虚拟机主机,包含4个SATA II硬盘,并运行CentOS 5.5 x86_64.

我决定将虚拟机磁盘创建为作为libvirt存储池管理的LVM卷组中的逻辑卷,而不是通常将磁盘创建为qcow映像.

我无法决定是否应在VM主机的卷组或专用卷组中创建虚拟机逻辑卷.

我应该选择哪种方法,为什么?

方法1:使用VM主机的卷组

执行:

>包含/ boot文件系统的小型RAID1 md0
>大型RAID10 md1占用剩余空间,其中包含一个LVM卷组vghost. vghost包含VM主机的根文件系统和交换分区
>根据需要,在vghost中将虚拟机磁盘创建为逻辑卷

优点:

>如果VM主机的根文件系统空间不足,我可以相对轻松地从vghost分配更多空间
>系统已经启动并运行(但重启并不是什么大不了的事)

缺点:

解决这个方法似乎工作的事实,我不能动摇这种感觉,这在某种程度上是一个坏主意.我觉得:

>这可能是某种安全风险
>在未来的某个时刻,我可能会发现设置有一些限制,并希望我使用专用组
>系统(CentOS,libvirt等)可能并非真的被设计为像这样使用,因此在某些时候我可能会意外地损坏/丢失VM主机的文件和/或文件系统

方法2:使用专用卷组

执行:

>与方法1中相同的md0和md1,除了使md1足够大以包含VM主机(例如5到10GB)
>大型RAID10 md2占用剩余空间. md2包含LVM卷组vgvms,其逻辑卷将由虚拟机专用

优点:

>我可以修改vgvms而不用担心破坏主机操作系统
>这似乎是一个更优雅和安全的解决方案

缺点:

>如果VM主机的文件系统空间不足,我将不得不将其部分文件系统(例如/ usr或/ var)移动到vgvms上,这看起来不太好.
>我必须重新安装主机操作系统(如前所述,我真的不介意做)

更新#1:

我担心方法2中的VM主机磁盘空间不足的一个原因是因为我不知道VM主机是否足够强大以运行虚拟机中的所有服务,即.我可能必须将部分/全部服务从虚拟机迁移到主机操作系统.

VM主机硬件规格:

> Phenom II 955 X4黑色版处理器(3.2GHz,4核CPU)
> 2x4GB金士顿PC3-10600 DDR3内存
>技嘉GA-880GM-USB3主板
> 4x WD Caviar RE3 500GB SATA II硬盘(7200rpm)
> Antec BP500U Basiq 500W ATX电源
> CoolerMaster CM 690案例

更新#2:

我觉得系统可能不是设计为在方法1中将主机VG用作libvirt存储池的一个原因是我在virt-manager中注意到的一些行为:

>在添加时,它抱怨它无法激活VG(显然,因为主机操作系统已经激活它)
>删除后,它拒绝这样做,因为它无法停用VG(显然,因为主机操作系统仍在使用root并交换LV)

经过深思熟虑的问题!

我会选择方法2,但这更像是个人偏好.对我来说,方法2缺点不是问题.我没有看到主机操作系统超过其5-10GB分区,除非你开始在其上安装额外的东西,你真的不应该这样做.为了简单和安全起见,主机操作系统确实应该是一个简单的最小安装,除了管理所需的最低限度之外不运行任何东西(例如sshd).

方法1缺点也不是真正的问题,IMO.我不认为会有任何额外的安全风险,因为如果有根的VM能够以某种方式突破其分区并感染/破坏其他分区,那么将主机操作系统放在单独的VG上可能没有任何区别.另外两个缺点不是我可以从直接经验中谈到的东西,但我的直觉说CentOS,LVM和libvirt非常灵活和强大,不用担心它们.

编辑 – 对更新1的响应

目前,虚拟化的性能损失非常低,尤其是使用内置支持的处理器,因此我认为将来自客户虚拟机的服务转移到主机操作系统中并不值得.通过运行“裸机”可能会提高10%的速度,但是您将失去拥有小型,紧凑,安全的主机操作系统的好处,并可能影响整个服务器的稳定性.不值得,IMO.

鉴于此,我仍然赞成方法2.

对更新2的回应

似乎libvirt假设存储的特定方式是另一个有利于方法2的点.我的建议是:使用方法2.

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim /etc/sysconfig/network-scripts/ifcfg-eth0 B...