VPS和VDS两者在功能上几乎是完全相同的,从表面上看是一样的东西,但还是有其本质上的区别,两者的主要区别在于底层操作系统和使用的虚拟技术上。
1.技术上
VDS使用的是全虚拟化技术(Full-virtualization),提供了一个完全独立的虚拟服务器环境,即相当于一台真正的物理机器。在VDS上可以同时运行各种类型的操作系统。典型的技术平台有VMware, Hyper-V等。
VPS主要是基于软件层的虚拟化技术,即操作系统级虚拟技术(Operating system-level virtualization)。其可以不用虚拟硬件环境,但需要通过对Guest OS进行一些必要的修改。典型的技术平台有Virtozzo,OpenVZ。
另外,值得一提的是,在实际中大家都习惯将Xen归类于VPS,但其使用的半虚拟化技术(Paravirtualization)在特点上更类似于VDS,所以也比较模棱两可吧。
2.资源上
VDS对CPU,内存和带宽等资源,一旦分配后,就始终只为自己所用。硬件资源会在运行前预告分配好,并且可分配的资源不得超出物理机器可分配的最大资源,即物理机器如果是2G内存,绝不能分配出4G来。拥有Swap内存。
VPS对CPU,内存和带宽等资源的占用则是共享的,所在每个VPS之间是会相互影响的。其资源分配则不受什么限制,如物理机器是2G内存,你可以虚拟分配出4G来,但是意义不大。没有Swap内存。
所以从资源分配方式上看,VDS显然是更稳定可靠的选择。VDS在虚拟服务提供商中还不多见,VPS则是当下最流行的,而且价格也比较便宜。
3.数量上
在虚拟的数量上,VDS由于更适合运用于对稳定可靠性要求比较高的应用中,所以通常在一台物理机器上只会运行3-4个左右的VDS。而VPS由于其底层开销比较少,执行效率要明显高于全虚拟,所以在一台物理机器上运行的VPS通常可以运行20-40个VPS。理论上V在一台服务器上可以虚拟上百个独立操作系统,但其结果可想而知,意义不大。
4.安全上
VDS由于不论是硬件资源或者系统都是完全独立的,所以在受到攻击时,通常不会影响到同台服务器上的其他VDS。而VPS由于资源始终是共享同台服务器上的资源,所以当一台VPS受到攻击时,将直接会影响其他的所有VPS的运行。另外由于VPS没有Swap内存,所以一旦使用的内存超过了分配的内存,将会导致VPS直接死机之类的现象;而VDS因为拥有Swap内存,在严重超出的时候也不会立刻死机,但系统响应会非常的缓慢。总体上讲,两者都增强了物理机器的能力,安全性和可靠性。
5.成本上
从各方面的比较来看,VPS在成本要低于VDS。