Menu Close

OpenVZ和KVM的对比

选择OpenVZ还是KVM呢?

OpenVZ – 用户友好,基于Linux的容器

OpenVZ是一种在操作系统层面的虚拟化技术。它把宿主机分割成不同的部分(容器),每一个部分里面的实例都能拥有这个操作系统的一部分资源。

在OpenVZ里面有两种不同的资源,专属的(Dedicated)和爆发(Burst)的。专属资源是预先划分给VPS的,只要VPS想用,它就能马上拿到。爆发资源是来自整个宿主机操作系统里没有被使用的资源,当宿主机中一个VPS急需大量资源而其他VPS正好不需要的时候就可以把它们的资源暂时借过来使用。因为这是一种借用关系,这些资源应该要被尽快归还。当有VPS想要使用资源的时候发现自己的专属资源被“借用”的时候会立即把它夺回,这会导致借用者的进程不稳定或者直接终止。

因为OpenVZ是操作系统层面的虚拟化技术,它在每个VPS容器上消耗的资源远少于全面虚拟化的KVM的VPS。在两个拥有相同硬件和相同VPS数量的宿主机上,OpenVZ会比KVM有更好的表现,因为它没有全面虚拟化。比如说,OpenVZ不需要运行很多完整的操作系统内核,因为它能够跟其他很多的VPS共享一个内核。系统内核占用的那部分资源被分摊到了每个OpenVZ VPS的头上,这样的直接结果就是节约大量的内存和CPU资源。

KVM – 更多的DIY权限

KVM用的是硬件虚拟技术,这项技术使宿主机上的操作系统给它上面的VPS提供虚拟硬件。宿主机上的主操作系统是作为虚拟机管理软件来使用的,它公平地分配像硬盘,网络资源和CPU时钟。

KVM没有爆发资源,资源都是分配后专属的。这意味着像内存和硬盘那样的空间会更不容易被超额使用。缺陷是,比如说当分配给KVM的内存资源消耗完之后,它要么用swap来增加虚拟内存容量,这会降低内存性能,要么强行关掉它的一部分进程。跟OpenVZ不一样,KVM不能够通过从邻居那里借用资源来获得短暂时间的爆发,因为它的专属资源是完全隔离的。

因为KVM虚拟了硬件,所以你能在它上面在资源允许情况下运行任何的系统内核。这也意味着KVM不仅仅限于宿主机的Linux内核,他能够自己运行其他x86操作系统,比如BSD和微软的Windows操作系统。因为有独立的内核,KVM的VPS能够修改内核,装载它专属的系统调用模块。不仅如此,KVM还支持更多OpenVZ不支持的功能。

我应该选择哪一个

在两个平台各能得到什么呢?

OpenVZ和KVM技术都很成熟,也各有优缺点,选择合适的技术可以给你以后减少很多麻烦。如果你想减少麻烦,应该看一下下面的表格。

OpenVZ1. 只支持Linux
2. 部署相同应用更加便宜,因为需要的磁盘和内存空间更少
3. 使用者面临的管理复杂度更低
超低价
KVM1. 理论上可以运行任何操作系统
2. 需要手动安装系统
3. 支持OpenVZ不支持的一些复杂功能,可以修改系统内核
4. 支持ipset,nftables之类的高级的网络设置软件
5. 支持SELinux(Security-Enhanded Linux)和全盘加密
低价

文章来源(翻译自):https://buyvm.net/openvz-vs-kvm

1 Comment

  1. Pingback:Coolfly IPLC 深港OpenVZ 月付106元/200M/100GB – Site DIY

发表评论

邮箱地址不会被公开。 必填项已用*标注