PC虚拟化技术

定义

  • 维基百科

在计算机技术中,虚拟化(技术)或虚拟技术(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境。由此,打破实体结构间的不可切割的障碍,使用户可以比原本的配置更好的方式来应用这些电脑硬件资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理配置所限制。一般所指的虚拟化资源包括计算能力和数据存储。

可以看到,虚拟化的定义是非常宽泛的,虚拟机、虚拟应用环境、服务器集群都可以应用到虚拟化技术。

典型应用场景

软件的开发需要在多种操作系统上进行运行测试, 过去, 我们需要复数的硬件设备或以更麻烦的形式将多种操作系统安装到一台测试机上, 现在, 我们使用虚拟机轻松的搞定这件事.
由于工作需求, 我们临时需要一个局域网络, 而我们需要进行连接的机器来自天南海北, 想要组起局域网是一件非常困难的事情, 而现在, 我们使用VPN(Virtual Private Network)就够了.
有一些所谓的”绿化软件”, 实际上也是对软件程序本身进行了封装, 开发者通过技术手段, 将程序临时映射到正常安装时所在的目录, 达到模拟出”在系统上安装完毕”的效果, 在程序结束运行后, 停止映射并保存运行时产生的数据, 最终, 一切就像这个软件没有在你的机器上运行过一样, 不留痕迹. 我们平常所提到的一些沙盘, 沙箱, 使用的就是类似的虚拟化技术, 同时, 也可以用这种技术进行安全性测试, 用于杀毒软件和防火墙, 可以说是功不可没.

场景一

由于种种原因我不得不经常重装Windows操作系统, 通常来说, 每一次重装Windows系统, 都会失去我安装的软件的注册表等很多信息, 即使软件程序本身还存在我的硬盘上, 但很可能配置已经丢失了, 或者由于缺失一些被安装到系统盘的文件而导致无法启动, 不得不重装软件来解决. 如果此时我们使用虚拟化技术, 将平时用的软件都封装成虚拟化软件, 并通过特定的平台进行管理, 就可以实现重装系统后软件配置依然完整保留的情况, 从而避免遭遇短时间内反复重装软件的窘境.

场景二

在大多数民间站长都不可能为了运行几个网站而耗尽一台服务器的资源的情况下, 服务器供应商为了将资源分离成多个部分进行分别租借, 同时又要保证与使用单台服务器时的操作方式一致, 使用了基于资源虚拟化技术的虚拟机来对一台服务器的资源进行虚拟, 使一台服务器的资源能够分成多个部分以VPS的形式进行租借. 这么做, 一方面提升了供应商的销量和利润, 另一方面降低了民间站长架设网站的资金门槛, 达到了双赢的局面.

场景三

在云计算场景下, 服务器硬件成为了资源, 并以集群的形式而存在, 在架构云计算应用时, 如果以单台服务器作为单位来计算资源量, 实现应用程序必然要考虑到服务器之间的资源交换和并发时间等问题, 开发与维护都会变得异常痛苦. 此时使用虚拟化技术将服务器集群化整为一个巨大的资源, 将底层的资源交换问题解决, 开发和维护都会变得容易很多, 成本也随之降低, 实际上, 目前大多数的云计算架构, 都是这么做的.

场景四

这可能是普通PC用户最常遇到的场景, 几个小伙伴一起联机打游戏, 该怎么做呢? 基本上, 单机游戏的联机功能仅限于局域网联机, 这意味着小伙伴们在地理上必须离得很近, 通过组建局域网来实现联机功能, 这是很难做到的, 所以, 使用VPN技术的联机软件应运而生, 满足了天南海北的小伙伴们联机玩游戏的需求, 造福了许多人.
以上四个场景, 我们可以轻易的得出结论, 虚拟化并不单单是一个模拟和封装的过程, 它同时还会带来创新, 并创造出新的应用环境, 让人们能在新的平台上自由地施展拳脚.

PC虚拟化主流:KVM、XEN、OpenVZ等等

国内外vps主机提供商所提供的主机大多是基于Xen、OpenVZ、KVM、Hyper-V、VMWare五种虚拟化技术。

一、Xen 官网:http://xen.org/

Xen 由剑桥大学开发,它是基于硬件的完全分割,物理上有多少的资源就只能分配多少资源,因此很难超售。可分为Xen-PV(半虚拟化),和Xen-HVM(全虚拟化)。

Xen是不能超售内存和硬盘的,当母服务器只有16G内存以及100G硬盘时,当开Xen架构(任意一个虚拟化)的1G内存、25G硬盘的子机时,会直接占用服务器1G内存,以及25G硬盘,所以Xen的性能,相比OpenVZ在超售的情况下要好。

Xen-PV:半虚拟化,所以它仅仅适用于linux系列VPS,但它的性能损失比较少,大概相对于母机的4%-8%左右。
Xen-HVM:全虚拟化,可以安装windows或自由挂载ISO文件安装任意系统,由于是全虚拟化,所以性能损失较大,大概相对于母机性能损失8%-20%左右。

Xen适用人群:预算较为充足,且希望VPS有较高性能的客户
Xen注意事项:注意Xen-PV和Xen-HVM的区别。
Xen可用系统:Xen-PV:纯Linux,Xen-HVM:支持Windows、Linux等。
Xen代表商家:Linode.com

二、OpenVZ 官网:http://openvz.org/

OpenVZ(简 称OVZ)采用SWsoft的Virutozzo虚拟化服务器软件产品的内核,是基于Linux平台的操作系统级服务器虚拟化架构。这个架构直接调用母服务器(母机)中的内核,模拟生成出子服务器(VPS,小机),所以,它经过虚拟化后相对于母服务器,性能损失大概只有的1-3%。

当然 OpenVZ可以超售,意思味着一台服务器总共16G内存,他可以开出配置为1G内存×17台以上的子服务器。因为他的虚拟架构关系属于:客户用多少,就扣除母服务器多少,所以OpenVZ架构的VPS较为便宜。但由于存在超售因素,如果服务商毫无休止的超售会导致服务器的性能急剧下降。

OpenVZ另一个特点是,它是直接调用母服务器的内核,所以会导致部分软件无法使用,以及部分内核文件是无法修改。

OpenVZ适用人群:新手、低预算客户
OpenVZ注意事项:资源不是自己独有的,安装VPN服务需要注意检测虚拟网卡支持。
OpenVZ可用系统:Linux(不支持Windows)
OpenVZ代表商家:Buyvm.net

三、KVM 网站:http://www.linux-kvm.org/

KVM是Linux下的全功能虚拟化架构,基于KVM架构的VPS,默认是没有系统的,可自己上传ISO或调用服务商自带的ISO手动安装系统。这个非常适合热爱DIY自己VPS的客户。

由于KVM架构全功能虚拟化架构,甚至拥有独立的BIOS控制,所以对母服务器性能影响较大,所以基于KVM的VPS较贵,但KVM VPS相对其它架构的VPS较为自由。

KVM适用人群:折腾帝
KVM注意事项:虚拟化性能比Xen略低
KVM可用系统:Windows、Linux系列
KVM代表商家:Hostgation.com

四、Hyper-V 网站:http://www.microsoft.com/zh-cn/server-cloud/

Hyper-V是微软的一款虚拟化产品,大部分国内的VPS服务商使用这个架构,主要是因为其转为Windows定制,管理起来较为方便。目前的Hyper-V也支持Linux,只不过性能损失比较严重。

Hyper-V完美支持Windows系统,包括32位和64位。如果大家选购Hyper-V架构的VPS,强烈建议使用Windows。

Hyper-V目前不能超售内存,但可超售硬盘,硬盘是根据客户使用情况扣除。一般来说,服务器的硬盘不会100%用完,这点不用担心。

Hyper-V适用人群:Windows系统爱好者
Hyper-V注意事项:Linux操作系统性能较低
Hyper-V可用系统:Windows、Linux

五、VMWare 网站:http://www.vmware.com/

VMWare 是全球桌面到数据中心虚拟化解决方案的领导厂商开发的一款全功能完全虚拟化的软件。但由于VMWare用于开设类似VPS(含独立面板)的系列产品授权费用非常昂贵,所以大部分使用VMWare服务商会使用 VMware工作站(VMware Workstation)提供VPS。

使用VMware工作站(VMware Workstation)开设的VPS是无控制面板的,操作系统需要服务商手动安装,但现在网上寻找VMware Workstation的神KEY非常容易,对于VPS服务商来说节省不少成本。一般用于新创业的VPS服务商。

使用VMWare Workstation实质上的VPS可以超售,因为其和OpenVZ架构一样,子机用多少内存,就扣除系统多少内存,但如果物理内存不足时可能导致母服务器使用Windows虚拟内存。

VMWare适用人群:认真建站或挂机的客户
VMWare注意事项:无控制面板
VMWare可用系统:Windows、Linux系列

以上衡量超售指的是内存、磁盘,其它硬件条件,如网络带宽、CPU等不在考虑范围内。

六、Xen和OpenVZ的区别
Xen由dom0和domU组成,Dom0是虚拟出CPU, IO总路线等资源,供工作于DomU上的不同的kernel运行。
这样的好处是,
1. 对可以运行的操作系统限制较少。
2. domU上系统的crash不会影响其他的dom. 当然Dom0发生故障时还是会有问题。
坏处:
1. 由于需要虚拟CPU,BUS等物理资源,开销会更大点。
OpenVZ使用了完全不同的方式,它所创造的虚拟机都使用工作在同一个kernel下。
这样的好处是
1. 性能好。
坏处:
1. 任何一个kernel bug都会危及所有的虚拟机。 因kernel bug所crash的可能性大大增加。
2. 他需要对内核作很多的改动。

区分上最明显的,XEN VPS有swap区,基于RHEL5的OpenVZ VPS没有swap区,基于RHEL6的OpenVZ VPS有VSwap区。

参考文章

虚拟化
why-do-we-need-virtualization-technology

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容

  • 一、虚拟化技术概述 虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机...
    陈超同学阅读 510评论 0 0
  • 桌面虚拟化技术可以定义为将一个计算机资源从另一个计算机资源中剥离的一种技术。在没有虚拟化技术的单一情况下,一台计算...
    宅男子阅读 22,835评论 1 14
  • 一、 虚拟化技术 虚拟化是云计算的基础。简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物...
    任总阅读 22,584评论 0 7
  • 一.虚拟化技术的介绍 (1)虚拟化技术类型: 1.主机虚拟化:xen,kvm.virtualbox.openv2....
    楠人帮阅读 1,957评论 0 5
  • 虚拟化技术概述 虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统...
    AydanLinux阅读 123评论 0 0