Answers:
它们是截然不同的技术。Xen提供了完整的虚拟化和不同程度的半虚拟化。另一方面,OpenVZ使用容器模型,而没有任何硬件或系统虚拟化。
从内存使用的角度来看,OpenVZ比Xen更有效,因为主机内核在所有来宾之间共享。Xen提供更大的分离度。Xen在历史上也更可靠。OpenVZ有一个长期存在的内存分配错误,可能与内存碎片有关,该错误可能会在最陌生的地方弹出并导致进程意外终止。如果您总是高估内存而没有“超售”,我相信可以缓解此问题,但是我还没有做足够的实验来知道。
根据我的经验,OpenVZ绝对不比Xen更友好。此外,用于管理Xen以及与Xen进行交互的可用工具(免费和商业)也要好得多。Citrix,Red Hat和许多其他工具都具有与Xen实例进行交互的出色工具,并且许多开放源代码项目已开始集成与Xen相关的功能。至少从顶级供应商和项目中,OpenVZ的使用率要低得多。
就是说,您声称自己的目的是学习...因此,请尝试两者。了解两种截然不同的虚拟化技术是如何工作的,这并没有什么坏处。
Xen和OpenVZ之间的主要区别在于使用Xen不会出现超额销售。
当您获得具有512M RAM的Xen VPS时,您将获得512M RAM。
有了OpenVZ,这全是烟和镜子。主机可能要求“保证的RAM:512M”和“突发的RAM:1G”,但实际上,OpenVZ无法保证任何东西。根据同一服务器上其他VPS帐户正在执行的操作,尽管有“保证”,您可能会也可能不会(很可能不会)获得512M RAM。
许多(大多数?)托管公司超额销售了他们的OpenVZ VPS。如果使用8G RAM服务器,则他们可能会在16个VPS帐户中放入每个“保证的” 1G RAM。
这就是为什么大多数VPS都是基于OpenVZ的原因,而OpenVZ VPS通常比Xen VPS便宜。
我们通常在托管解决方案中使用OpenVZ,因为它比Xen解决方案更易于维护。但是,如果您需要托管与Linux不同的东西,那么OpenVZ不是您的选择。我可以为您提供一个有趣的项目pve.proxmox.com这个项目使用KVM和OpenVZ提供完整的服务,您可以在KVM和OpenVZ下的Linux操作系统下托管非Linux操作系统。而且它非常容易启动,因为它具有“裸机安装程序”,可以在包装盒中使用。
我在工作和家庭中都使用XEN,并且很长一段时间都没遇到问题。尚未接触过OpenVZ,也对其社区一无所知。
希望两个人都将在KVM的支持下死掉,所以我不知道这真的很重要。XEN的主要原因仅仅是因为它是进行虚拟化的官方RHEL 5.3方法。