硬件:英特尔® 酷睿™ i7-920、12 GB DDR3 RAM、2 个 1500 GB SATA-II HDD(没有 SoftRaid,因为 Proxmox 开发人员不支持 softraid,而且他们确信你会遇到问题)
软件:Proxmox VE和虚拟机和开放VZ支持和德比安到处
我想在这台服务器上运行多个 Linux VM。一个用于防火墙(我想尝试普富思), 一个用于 MySQL, 一个 VM 用于 nginx (我的东西) 和大约 2 个带有 nginx 的 VM 用于其他人的网站。
我认为 pfSense 不会在 OpenVZ 环境中运行,但它应该在 KVM 中运行。
问题是我应该使用 KVM 还是 OpenVZ 设置其他虚拟机。在 OpenVZ 中,操作系统本身的开销应该较小,但我不知道性能如何。我听说 KVM 更稳定,但需要更多 RAM 和 CPU。
我找到了这个图表显示开放VZ在我使用的相同硬件上设置。这个人为在他的服务器上运行的每个网站使用自己的虚拟机。我想不出他使用这么多虚拟机有什么好处。
编辑:
有没有办法在 OpenVZ 或 KVM 中为虚拟机提供“动态”内存?我的意思是,这样它们就可以占用尽可能多的可用内存,而不是我为它们分配的那么多内存。
答案1
在 OpenVZ 上,所有 VM 和主机都共享相同的内核,因此您将无法安装 pfsense(基于 FreeBSD)。即使在 KVM 上,您也会遇到 pfsense 问题,因为据我所知,virtio 驱动程序尚未移植到 FreeBSD。因此,与 Linux VM 相比,您的性能会降低。我不知道您是否可以忍受。可能取决于此防火墙的预期负载。
在 KVM 中,您可以为 VM 分配比物理可用内存更多的内存。这称为内存过量使用。有几种方法可以做到这一点:交换、膨胀、页面共享、实时迁移。
答案2
nginx 和 MySQL 在 OpenVZ 中运行良好,并且 OpenVZ 比 KVM 占用更少的资源。我推荐 OpenVZ VM,因为它速度快。
KVM VM 更灵活。pfSense(FreeBSD)仅在 KVM 中运行。
答案3
我选择了带 KSM 的 KVM。Proxmox 的内核没有 OpenVZ,但带 KSM。对我来说,有时很难调整 OpenVZ 中每个 VM 的系统限制,而且需要花费大量时间。所以我的选择是 KVM。我使用 gentoo 作为 VM。
答案4
有没有办法在 OpenVZ 中为虚拟机提供“动态” RAM
是的,您可以调整虚拟机在 OpenVZ 运行时可以分配的总内存和磁盘空间。通常,为了尽可能简单,我首先对所有设置都使用无限制设置,然后降低此设置(称为“privvmpages”)
回答最初的问题 - OpenVZ 是所谓的“容器”虚拟机,而不是“虚拟机管理程序”。这意味着您将获得“init”的虚拟副本,其根目录设置为文件系统上的某个目录(又名“chroot”)。但是,您只能获得一组设备,并且不能使用内核模块。这就是为什么启动虚拟机会很棘手的原因(尤其是使用 @#%@% upstart 时)。忘记 GFS 或 Oracle RAC 之类的东西吧 :)
但它对于本机 CPU 和磁盘性能、仅使用“cp”即可轻松地将文件从主机移动到 VM 以及简单的别名网络(如果不广播则不需要桥接)都是值得的。