[关闭]
@JCChan 2015-07-14T10:40:30.000000Z 字数 2006 阅读 2427

虚拟化总结学习笔记

虚拟化


一、虚拟化与云计算

    虚拟化一词很早就诞生了,但是基于网络带宽的限制未能得到很好的应用,在2010年的前后,千兆网与万兆网的应用,使得虚拟化变成了可能。
    那么云计算一词又是从何而来的呢?了解过网络基础知识的小伙伴应该会知道,网络中WAN的部分通常由云端表示,因为客户端不知道通过网络访问的节点是经过哪些路径去访问目的端的服务器。
    举个最恰当的类比,我们只知道发电厂和水厂供应给我们电和水,但是我们不知道他们是怎么通过电路和水管过来的,云这个词也有这个概念,使得信息服务类似水电一样,要多少有多少,用多少付多少。
    对于网络管理员来说,虚拟化技术的浪潮袭来,首当其冲的是掌管基础设施的服务器、存储设备,因为硬件设备被抽象化,网络管理员需要学习虚拟化技术与管理方式,再者是应用程序开发人员,发展云的各种应用。从IT主管到helpdesk,都可能因为组织重新规划与整合而影响职业生涯。

二、认识 VMware vSphere

    VMware绝对不止老大上课时讲的一个简单的VM Workstation然后造几个虚拟机那么简单,让我们先从计算机硬件出发,了解清楚到底这款软件是如何做到虚拟化的。

1. x86虚拟化

    虚拟化开始于20世纪60年代IBM Mainframe大型主机,是通过分区的功能对计算机的硬件资源进行分配的使用,可以在一台实体机器上面同时运行多种不同的操作系统,这些OS与实在的操作系统并没有什么两样,从Full Virtualizaion技术层面来说,虚拟化并不知道自己被虚拟化了,这种是不同于模拟器的命令转译方式的。
    但是出现了一个问题,当初x86的CPU就定位在给单用户使用,并没有考虑把计算资源分配给不同OS,原因如下:
    我们知道OS是用于操作硬件的一款最大型的“软件”,在其CPU的运行去,分为四个特权等级,分别叫做Ring 0、1、2、3,权限依次下降,这其中,OS被放在的Ring 0,可以直接与硬件交流,应用软件被放在了Ring 3,但有必要使用时,直接可以与硬件进行交流。
    当需要进行虚拟化,Ring 0这一层被交给VMM,也就是Hypervisor的一部分进行掌控,对硬件进行重新的分配管理,Hypervisor是最重要的功能是根据用户的指令进行资源的分配。这时问题就出现了,OS中有一些很重要的指令必须在Ring 0才能起到作用,否则将产生警告,甚至导致系统崩溃。
    然后出现了两种方案,分别叫做全虚拟化和半虚拟化。
    1999年,VMware通过一种Binary Translation的技术来实现,利用VMM预先拦截那些不能被虚拟化的命令,进行二进制的替换操作,使得OS以为自己可以进行掌控硬件,这种技术叫做全虚拟化。
    半虚拟化则是修改了OS的核心,植入Hypercall,使得原本不能被虚拟化的命令可以经过Hypercall interfaces进行请求,这样就完成了任务。
    但是除非是像Linux这种开放内核的版本才能支持半虚拟化,对于windows用户来讲,就只剩下全虚拟化这一条路了吗?
    也不是,在2005年前后,VMware发布了透明半虚拟化,通过使用VMI,增加了I/O性能,其实就是由VMware tools开来一道后门,与VMM进行沟通,实际上还是全虚拟化。
    最根本的解决方案是,在2005年,Intel和AMD决定从CPU根本架构着手,更改原来的特权等级Ring 0、1、2、3,归为了Non-Root mode,同时增加了一个Root mode,比Ring 0的特权等级还要高,使得VMM可以放置于这里,从而省略去了Binary Translation的操作,也不用再修改内核了。

2. 为什么要进行服务器虚拟化?

    x86的PC和服务器已经拥有了强大的性能,并且一日千里,这些性能已经远远超过了个人或整体使用,在许多时候,硬件资源是处于闲置状态的,比如CPU上的计算资源,
    虚拟化的好处如下:
    (1)服务器整合:通过虚拟化技术,我们可以将一些老旧的P2V服务器集中到新的实体机器上,提高硬件资源使用率,也降低了空调成本和电力成本,以及使用空间。而且虚拟机之间,只要不是硬件出了问题,相互之间没有影响,降低了故障恢复成本。
    (2)灵活的资源调派:以往在实体机上,我们没有办法做到实时服务转移,如果出现了服务器故障,就必须暂停服务一段时间后才可以,而虚拟机可以在一定程度上做到服务不中断,比如VMware FT功能。
    (3)快速大量部署、降低维护工作:快速产生和部署多台虚拟机是非常容易的,这样就可以节省了采购硬件的流程和维护等手续
    (4)增加可用性和备份:由于虚拟机的可移植性,在备份与转换硬件服务器方面非常的方便,HA的解决方案避免了把鸡蛋放在同一个篮子的风险疑虑,当一个实体的服务器因为硬件故障损坏时,可将虚拟机自动重启在其他的服务器上面。虚拟机的备份也与传统方式不同,备份的速度与方便性也有了很多的提升。

(未完待续......)

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注