浅谈VPS虚拟化技术

2020/11/30 15:37:00

vps根本上就是虚拟机,都是在一定的虚拟化技术上构建的。用得最多的虚拟化技术是Xen, OpenVZ, Hyper-V和vmware。下面针对vps有用的部分粗略的讲一下。


Hyper-V是微软自家的虚拟化技术,只能在windows上运行。也就是,一般安装windows系统的vps虚拟服务器很可能是Hyper-V。国内的一些较小主机商会用到vmware,跑windows或linux的都有,用过虚拟机的朋友应该了解过它。


另外两种主要是用来跑linux的虚拟化技术,其中OpenVZ是基于操作系统的虚拟化技术,它运行效率跟真机(实体服务器)几乎一样。vps虚拟机的性能来自于物理服务器,因为物理机上有多个vps,每个vps可以获得的资源并不是很高,具体这要看宿主机本身硬件性能如何、上面运行了多少vps。


OpenVZ有个显著特点:没有交换分区swap(虚拟内存)、不能运行pptp协议的vpn容易被超售。


图片1.png


关于超售


假设宿主机有16G内存,但开出二十台1G内存的vps,都卖出去了;而这20台vps里都显示1G内存,这就是超售。事实上OpenVZ通常超售得更厉害!


Xen,是一种称为半虚似化的技术,性能比真机有所损失,但虚拟出来的系统跟真机相似度极高,有swap,可以运行pptp的vpn,不容易超售。在xen的linux上,可以更换或升级内核;据说甚至可以再装个虚拟机环境虚拟出vps(没有亲眼见过,不过即使成功,性能也是极其低下,没有实用性的)。


一般来说,大家都认同以下说法:


购买同等配置的vps,xen的性能要明显优于OpenVZ. 最主要的原因就是超售问题。

OpenVZ没有swap,通过free命令查出的内存,其中一部分事实上是物理主机上的swap只是被vps当成物理内存。


没有不超售的OpenVZ vps。


512M的Xen,其内存性能比1G OpenVZ vps的好,甚至是远超。


OpenVZ内存用完时,系统就差不多只能重启了,因为这时远程ssh连接也无法建立的。而xen的,还有swap可用,通常不至于要重启。


看上去,xen几乎是完胜于openvz,那价格呢,也一样,xen远远高于openvz. 毕竟一分价钱一分货。


关于xen与openvz的了解更多,请参阅文后扩展阅读“vps虚拟化技术-openvz与xen对比”。


kvm虚拟化技术:


KVM (全称是 Kernel-based Virtual Machine),是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。 KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。


KVM技术已经从最初的概念发展成为企业 IT 基础设施管理系统。可以从kvm client管理软件这样的单一界面直接访问位于多个远程位置的服务器和设备。