网格论坛

 找回密码
 立即注册
查看: 2912|回复: 4

[笔记] VPS的三种虚拟技术OpenVZ、Xen、KVM优缺点比较与价格

[复制链接]

66

主题

145

帖子

2万

积分

总大队长

Rank: 9Rank: 9Rank: 9

积分
26608
发表于 2017-10-23 13:58:57 | 显示全部楼层 |阅读模式
点评:本文就VPS采用的几种常见技术OpenVZ、Xen、KVM做简单介绍和对比,以备你选购自己合适的VPS

很多人看到同样配置的VPS价格相差很大,甚是不理解,其实VPS使用的虚拟技术种类有很多,如OpenVZ、Xen、KVM、Xen和HVM与PV。在+XEN中pv是半虚拟化,hvm是全虚拟化,pv只能用于linux内核的系统,效率更高,hvm可以虚拟所有常见操作系统(可以使用windows),+理论效率比pv略低,另外,hvm需要cpu虚拟化指令支持,pv无此要求。KVM是新兴的虚拟化项目,出售KVM的VPS商家不多,但据说KVM虚拟技+术是比较强悍的。而OpenVZ是一个类似于Linux-VServer的操作系级全虚拟化解决方案,目前基于Xen和OpenVZ的VPS服务商比较+多。本文就VPS采用的几种常见技术OpenVZ、Xen、KVM做简单介绍和对比,以备你选购自己合适的VPS。

OpenVZ (最便宜甚至5刀一年都有)

OpenVZ是操作系统级别的虚拟化技术,是底层操作系统上的一层应用,这意味着易于理解和低权重开销,一般来说也意味着更优的性能。但是OpenVZ配置起来比较灵活,给黑心服务商改低限制的机会。

优势:现在外面卖的这种类型,许可的内存都超大,CPU也强劲,而且卖家很多,可比性也很强。性价比超高。

劣势:超卖,没有不超卖的,导致各种石头盘,钻石盘。连带的cpu也被过度分割导致性能升值不如其标明的1/10。再有就是内存,基本上OpenVZ技术没有独占的,都是共享,别人多了你就少了,而且这种技术最大的劣势就是内存下来后直接就是当机。还有开设vpn各种不方便。

Xen (适中现在很少了)

Xen是半虚拟化技术,它并不是一个真正的虚拟机,而是相当于自己运行了一个内核的实例,可以自由的加载内核模块,虚拟的内存和IO,稳定而且可预测。分Xen+pv+和Xen+hvm,区别就是pv只支持linux,而hvm支持win系统。

优势:内存独占,虽然小但是保证分配的到。部分虚拟技术决定了就算是超卖也不会超太离谱。所以一般的母鸡就算超了,也很少导致石头盘。当然小鸡有pt就除外了。另外就是即使内存再低也不会当掉,只是会无响应一段时间。

劣势:内存小,硬盘小,带宽小(以上3点均和同价位的openvz对比)。因为没法超卖了,为了赚钱只能把这3个基本配置降下来了。还有就是供应商残次不齐,而且大部分在说xen的时候都木有明说是pv还是hvm,其实pv的性能是优于hvm的。

KVM (最贵 但便宜的小主机也有普遍15刀)

优势:和xen类似,比xen更好的一点是,kvm是完全虚拟的,所以不分pv和hvm的区别,所有的kvm类+型的虚拟技术都可以装各种linux的发行版和各种win的发行版,不管供应商在主页有没有写明是否支持win,只要你配置够win运行,那就肯定可以装+的上去,只是方法的问题而已。

劣势:恰恰因为kvm可以装任意类型的操作系统,导致了折腾帝甚至在128m的机器上装了win2003(上去+后直接所有的cpu和内存都用于硬盘IO了,不明白这些人想干神马)。其结果就是所有的kvm邻居都得看你周围邻居的脸色。这么说把,一个node下只要+有5、6台这种折腾帝,对不起,你的硬盘基本就是石头盘了。

个人比较倾向于Xen,因为它是对供应商和和客户来说都是可以接受的折衷方案。openvz超卖太厉害,kvm等看RP,这2种都不适合那些不想折腾只想做站的站长。

【检测小妙招】
对于新手来说,刚开始使用VPS的时候只要这家商家不跑路,机器稳定流畅就已经很感激流涕了。随着我们学习只是的深入,以及开始需要检测自己购买的VPS是否如服务商列举出来的参数和配置以及环境。在我开始使用VPS的时候,给一个朋友帮我看,他告诉我我买的不是真的XEN VPS。
如果大家对自己购买和使用的VPS需要检测是否为真的Xen,我们可以用如下方法进行测试。比较专业的就是用virt-what脚本进行检测。

  1. wget http://people.redhat.com/~rjones/virt-what/files/virt-what-1.12.tar.gz
  2. tar zxvf virt-what-1.12.tar.gz
  3. cd virt-what-1.12/
  4. ./configure
  5. make && make install
  6. virt-what
复制代码
QQ图片20171023135657.png




如何检测OpenVZ VPS和Xen VPS是否超售
百分百销售VPS的主机商都有“超售”的现象,不管你是OpenVZ还是Xen环境,没有“超不超售”的问题,只是是否严重而已,如果严重的话那就是变成了
“OVERLOAD”了,也就是服务器超载。所以,大家购买的时候不要心里报着有地方购买到没有超售的便宜的VPS。那是不可能的。
没有超售的VPS一般一个月的价格都可能是你便宜的VPS的半年或者一年的价格。
查看OpenVZ VPS的超售方法:
进入linux的共享内存目录:
cd /dev/shm
创建100MB的文件:
dd if=/dev/zero of=./memtest bs=1M count=100
查看内存:
free -m
可以看到内存使用增长了100MB。
只要不超过提供商的内存配额,
不断调大创建文件命令中的count值,
可以看到内存的增长,
假如在承诺内存内机子就挂彩就是超售非常严重了。
结束的时候输入:
rm ./memtest
其他:
查看CPU信息:
cat /proc/cpuinfo
磁盘IO测试命令
dd if=/dev/zero of=test bs=64k count=512 oflag=dsync
端口速度测试
wget http://cachefly.cachefly.net/100mb.test
1)查看进程内存占用
top
2)查看CPU信息
cat /proc/cpuinfo
3)磁盘IO测试命令
dd if=/dev/zero of=test bs=64k count=4k oflag=dsync
4)端口速度测试
wget http://cachefly.cachefly.net/100mb.test
5)查看Inode
df -i
6)内存超售检查
进入linux的共享内存目录:
cd /dev/shm
创建100MB的文件:
dd if=/dev/zero of=./memtest bs=1M count=100
查看内存:
free -m
结束的时候输入:
rm ./memtest
查看Xen VPS的超售方法:
以前购买了一个512MB内存的Xen VPS
价格也便宜。所以,我登录并检查了多少内存。
运行
# free
             total       used       free     shared    buffers     cached
Mem:        543776     535360       8416          0      66516     130504
-/+ buffers/cache:     338340     205436
Swap:      1048568        136    1048432
330MB的内存已经用于我新的Xen的VPS。”让我们来看看哪些进程正在运行
# ps aux
...
root       204  0.0  0.1  17028   780 ?        S    Oct27   0:00 upstart-udev-bridge --daemon
102        356  0.0  0.1  23548  1080 ?        Ss   Oct27   0:00 dbus-daemon --system --fork
root       431  0.0  0.1  21068   788 ?        Ss   Oct27   0:00 cron
root      3110  0.0  0.5 253832  2992 ?        Sl   Oct28   0:00 /usr/sbin/console-kit-daemon --no-daemon
root     11037  0.0  0.1  49256  1012 ?        Ss   Oct28   0:00 /usr/sbin/sshd
root     15427  0.0  0.1  12520   772 ?        S    Oct28   0:00 /usr/sbin/syslogd --no-forward
root     31231  0.0  0.0  16748   436 ?        Ss  Nov12   0:00 udevd --daemon
root      5716  0.0  0.6  79100  3772 ?        Ss   01:02   0:00 sshd: root@pts/0
root      5731  0.0  0.3  19400  2148 pts/0    Ss   01:02   0:00 -bash
root      5782  0.0  0.1   6072   724 ?        Ss   01:08   0:00 /sbin/getty -8 38400 hvc0
root      5783  0.0  0.2  15248  1172 pts/0    R+   01:08   0:00 ps --sort=start_time uax
没有什么内存在VPS上运行。 SSH服务器,syslogd的,cron
那么,我没有使用的内存为什么330MB消失?
让我们进一步的挖掘之前,我们得出这个认证。
你可以肯定出答案:该Xen的VPS的内存存在于超售行为。这东西是好多年来很多人都知道,它使用一个称为“ ballooning”的技术。
基本上是一个特殊的Linux内核驱动程序安装在您的系统 – “balloon driver”。
当dom0的(在Xen服务器/管理程序)需要更多的内存,并希望要求从(domU)客户的VPS,它会要求客人VPS的“balloon driver”充当本身
- 通过询问其Linux内核的一些内存。内核内存分配将被要求到该VPS系统可用的内存,并且不能调出到交换。
主机一旦膨胀的消耗内存,然后将其传递给dom0/hypervisor用于其他地方(例如建立一个新的VPS)。
因此,你的VPS的“总内存”将保持不变,但将在“内存使用”大增加,一大块已经被内核balloon driver驱动程序使用,



回复

使用道具 举报

1

主题

20

帖子

339

积分

中级会员

Rank: 3Rank: 3

积分
339
发表于 2017-10-23 17:51:11 | 显示全部楼层
沙发
回复

使用道具 举报

1

主题

16

帖子

63

积分

注册会员

Rank: 2

积分
63
发表于 2017-10-23 20:08:51 | 显示全部楼层
技术党一枚阿
回复

使用道具 举报

2

主题

57

帖子

310

积分

中级会员

Rank: 3Rank: 3

积分
310
发表于 2017-10-23 23:11:34 | 显示全部楼层
强大技术贴,支持,坛主把你会的都共享出来
回复

使用道具 举报

0

主题

4

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2017-10-30 02:14:26 | 显示全部楼层
膜拜楼主
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|网格论坛 ( 京ICP备16001788号 )

GMT+8, 2020-2-27 23:12 , Processed in 0.110529 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表