硬件: 英特尔®酷睿™i7-920,12GB DDR3内存,2 x 1500 GB SATA-II硬盘 (没有SoftRaid,因为Proxmox开发者不支持软件,他们肯定会遇到问题)
软件:具有KVM和OpenVZ支持的Proxmox VE以及各处的debian
我想在这台服务器上运行多个Linux虚拟机。 一个用于防火墙(我想尝试pfSense ),一个用于MySQL,一个用于nginx的虚拟机(我的东西)和~2个用于其他人的网站的nginx虚拟机。
我不认为pfSense将在OpenVZ环境中运行,但应该在KVM中运行。
问题是如果我应该使用KVM或OpenVZ设置其他虚拟机。 在OpenVZ中,操作系统本身应该有较less的开销,但我不知道性能。 我听说KVM更稳定,但需要更多的RAM和CPU。
我发现这个图表显示了我正在使用的相同硬件上的OpenVZ设置。 这家伙使用自己的虚拟机,每个网站正在他的服务器上运行。 我想不出为什么他使用这么多的虚拟机。
编辑:
有没有办法在OpenVZ或KVM中给虚拟机“dynamic”RAM? 我的意思是,他们可以尽可能多的记忆,而不是我奉献给他们的那么多。
在OpenVZ上,所有的虚拟机和主机共享相同的内核,所以你将无法安装pfsense(基于FreeBSD)。 即使在KVM上,你也会遇到pfsense的问题,因为据我所知,virtio驱动还没有移植到FreeBSD上。 所以与linux VM相比你的性能会有所下降。 如果你能忍受,我不知道。 可能取决于这个防火墙的预期负载。
在KVM中,您可以分配给虚拟机更多的内存,然后在物理上可用。 它被称为内存过量使用。 有几种方法可以做到这一点:交换,气球,页面共享,实时迁移。
nginx和MySQL在OpenVZ中运行良好,OpenVZ比KVM使用更less的资源。 我build议OpenVZ虚拟机的速度。
KVM虚拟机更灵活。 pfSense(FreeBSD)只能在KVM中运行。
我selectKVM与KSM。 Proxmox有内核而不是OpenVZ,但带有KSM。 对于我来说,有时很难,而且需要花费很多时间来调整OpenVZ中每个虚拟机的系统限制。 所以我的select是KVM。 我使用gentoo作为虚拟机。
有没有办法给虚拟机在OpenVZ“dynamic”RAM
是的,您可以调整虚拟机在OpenVZ运行时可以分配的内存和磁盘空间。 通常情况下,尽可能简单,我开始无限的设置,只是降低这个设置,称为“privvmpages”
为了回答最初的问题,OpenVZ就是所谓的“容器”虚拟机,而不是“pipe理程序”。 这意味着你得到一个“init”的虚拟副本,其根目录设置为文件系统某处的目录(又名“chroot”)。 但是,您只能获得一组子设备,并且不能使用内核模块。 这就是为什么让一个虚拟机启动(特别是@#%@%upstart)可能会非常棘手。 忘了GFS或者Oracle RAC之类的东西:)
但是对于本地CPU和磁盘性能来说,它是值得的,只需使用“cp”就可以轻松地将文件从主机移动到虚拟机中,并且易于使用别名networking(如果不在广播中则不需要桥接)。