openvz和xen两个都是linux的虚拟化平台,作为两个Linux的虚拟化平台,他们有什么区别呢,我们选购VPS的时候是选openvz还是xen呢,下面我们来比较它们的区别以及如何选择。
openvz是一个操作系统级虚拟化平台,基于修改过的linux内核来支持多种linux虚拟环境(更多指虚拟专用服务器)。 修改过的openvz内核隔离文件系统,内存,为每个虚拟环境分配进程,并为openvz vps管理员提供root权限和跟独立服务器一样的命令集。 |
Xen通过一种叫做半虚拟化的技术获得高效能的表现(较少的效能损失,典型的情况下大约损失 2%,在最糟的情况下会有 8% 的效能耗损;与其它使用完全的虚拟化却造成最高到 20% 损耗的其他解决方案形成一个明显的对比),甚至在某些与传统虚拟技术极度不友好的架构上(x86),Xen也有极佳的表现。 它们都作为系统级虚拟化平台的主要区别是,xen vps管理员能直接修改linux的内核模块,并能使用swap内存以满足vps内存突然占用过高的需求。 |
主要区别 | |
使用较少的资源 硬性内存限制(没有交换分区) 有限制的修改iptables |
使用较多的资源 软性内存限制(有交换分区) 无限制修改iptables |
根据你的需求选择合适的虚拟化平台 | |
openvz vps主要优点在于速度和稳定性。openvz平台能满足大多数虚拟专用服务器的需求,是比较合理的选择。OpenVZ的比Xen使用更少的资源。 |
Xen vps主机优点是内存使用比较灵活,它能满足内存使用突然超过限制时的需求。如果你运行java环境,编译应用程序和视频解码,那你就得考虑xen平台了。 |
结论:普遍来说,xen比openvz贵,主要原因是因为openvz可以超卖,而xen则不能。xen对于网站则相对稳定,因为有swap分区。但是如果你的网站经常需要swap,那你就得考虑升级内存了,因为这样运行性能降低很多。选用xen或是openvz,这得看性价比了。
网友的评价:
1. 人说 Buffer cache 在 xen 中,可以提高性能。但可同等价位下 Xen 512M,OpenVZ 可买到 1G(2G
Burst)。在这样的条件下 Xen 那少得可怜的 RAM,程序都不够用了,更没有多少空间在 Buffer cache 上了。
而 OpenVZ 下更多的内存用于程序,Buffer cache 计入在 Host OS 内存中的,性能更佳(不超卖的话)
2. 人说 Xen 可以用 SWAP,慢但不会 down 机。可是不要呼略一点,? SWAP 仅用于保存当前非运行中的程序。“真正”的高并发的情况下,512 M RAM + 4G SWAP Down 机的风险要高于 1G(2G burst) + 0 SWAP。
再打个比方,个人电脑中内存少,你是跑出去买内存,还是不停增加 SWAP?
3. Xen 高定制化,但在同一台 Host 上,必竟是虚拟化主机,就没有过多定制需求了。何况特性上 Provider 已尽可能定制成服务器更优化了。个人非必能定制得这么优化吧,必竟服务器不是你的。
4. 有人说 Xen 下编译性能要比 OpenVZ 快,但很少有普通用户拿 VPS 当编译器吧?这种性能比较,大多出现在企业内部。你不会买 Photonvps当企业编译服务器用吧,那企业也太抠门儿了。
5. 同样的 Xen 响应速度要比 OpenVZ 差,个**验,原因不明。
6. Xen 一样可超卖,网上也有很多被超卖的贴子。只要是软件都会有漏洞。
7. 关于 Xen 比 OpenVZ 更可预期的问题。我的理解如下。
Xen 半虚拟化下,个每个 Guest kernel 都有自己庞大的独立运作机制,要达到高效硬件资源协调,比基于完善的 Linux kernel 的虚拟化容器要困难得多。
举一个例子:以前公司以项目为单位的,所有人都属于项目,大家同一个意识在做同一个项目,很顺畅。后来公司引进矩阵项目管理。发现,当分出来很多‘可复用’部门后,由于每个部门被很多
项目复用,他们同时在做项目 A,B
时,只能按一个项目的思路走(A),对另外担当的项目工作效率很低下(B)。半虚拟化可能面临时样的‘协调问题’。当每个 Kernel
都有自己的想法时,动作和?果变得‘不可预期’了