《2022年从虚拟机到虚拟化 .pdf》由会员分享,可在线阅读,更多相关《2022年从虚拟机到虚拟化 .pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、*FROM Internet* 从虚拟机到虚拟化的正文如果说云计算还在卯足了劲地想要破壳而出,“虚拟化( Virtualization ) ”这个同样时髦的词汇就显得更加靠近我们的IT(这好像是另一个曾经时髦的词汇)生活。2009 年被一些人认为是云计算的元年,却同样被认为是虚拟化商用和交付的元年。目前从某个虚拟化解决方案提供商提供的客户案例来看,全球已经有很多知名的企业或机构或多或少的完成了他们IT 架构的虚拟化转换,这些企业或机构的名字中不乏知名的“中国字”:中国石油、BTV 、上海电信、上海汽车,虽然上个段落说得有点让人感觉有些遥远,而且提到的都是些 “枯燥” 的企业的名字,但是其实虚拟
2、化并不是什么新玩意,也不是什么与我们普通用户远隔千山万水的东西。作为虚拟化家族的其中的一个成员,它其实早就出现在我们普通用户的Windows( 好吧,也可能是 Linux 和 MAC) 桌面上虚拟机。 提起虚拟机, 大伙都不陌生。 好比 VPC, VMware Workstation 还有新来的Virtual BOX 。我们可以利用它们在我们的物理机操作系统内构建起一台或多台“虚拟机” 。这些虚拟机跟我们看得见摸得着的物理计算机一样,也有着自己的CPU、内存、 网卡等主要硬件,当然它们是 “虚拟” 出来的。 既然他们跟普通的物理机一样,我们自然可以为这些虚拟出来的计算机装上操作系统,然后运行起
3、来! 这时就出现了一个 “奇怪”的景象:你的物理机的操作系统可能是WindowsXP ,你在体验着WindowsXP “曾经”美丽的操作界面的同时,你在一个窗口里跑着一套古老Windows 98 、绚丽 Windows Vista甚至开源的 Linux 或者神奇的 Mac OS 。注意,我说的是同时!然后,接下来可能我们会在这个虚拟出来的Mac OS 里装体验体验苹果独有iLife , 或者体验体验苹果传说中极致的操作界面,虽然到最后你可能会发现那让数百万人为之痴迷的“漂亮”也不过如此。或者同时打开几台装有Windows Server 的虚拟机,将它们通过虚拟机的虚拟网卡连成局域网,然后你可以
4、把他们搭建成域环境,看看微软大力推荐的域模型是否真的如他们说的那么出色和实用, 可是,我们也发现这种虚拟机性能十分的低下。所以充其量我们也只能用它做做实验,根本不可能将它们用于我们的日常环境和生产环境。因为我们不会傻到在XP 里装个虚拟机跑 Vista,再在那个虚拟出来的Vista 里装上个QQ,然后我们泡上一杯茶,悠然自得的跟网络那边的朋友鼓吹“Vista 的界面是如此的好看你也快来用吧”云云!企业自然也不会自掘坟墓的将自己关键业务的服务器放到这类虚拟机里,除非是里面的某些个IT 管理员对企业不公待遇不满的报复行动。那既然虚拟机只能做做实验,何谈虚拟化商用?它对于一个企业来说有何商用的价值?
5、其实,如果你是一个企业里的IT 管理员,你会发现企业里的很多服务器长期处于空闲的,或者说是低利用率的运行状态中。比如,DHCP 服务器( 1) ,DNS 服务器( 2) 。在其客户端完成器请求后,基本上服务器是处于空闲状态。这无疑造成了巨大的浪费。(1)DHCP 服务器:在一个使用TCP/IP 协议的网络中,每一台计算机都必须至少有一个 IP 地址,才能与其他计算机连接通信。为了让客户端自动获得合法的IP 地址,可以构建 DHCP(Dynamic Host Configure Protocol ,动态主机配置协议)服务器,以便响应客户端的请求,为其分发IP 地址。名师资料总结 - - -精品资
6、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - (2)DNS 服务器: DNS 是域名系统 (Domain Name System) 的缩写,用来通过用户友好的名称定位计算机和服务。当用户在应用程序中输入DNS 名称时, DNS 服务可以将此名称 解 析 为 与 此 名 称 相 关 的 其 他 信 息 , 如IP地 址 。 比 如 你 在 浏 览 器 中 输 入url=http:/ 地址,以便你能够访问科学松鼠会的网站。来看一个比较极端的例子:在一家企业的局
7、域网里存在1000 台客户端,他们都需要互相连接和访问外网。当然,并不是每个人都知道如何手动配置自己的IP 地址,所以,企业的 IT 部门设立了一台DHCP 服务器来分发IP 地址。试想,一个工作日的早上,其中950 台电脑几乎在9:00 以前都被打开了,它们都向DHCP 服务器请求IP 地址。 DHCP 服务器忙活了一会之后,就给每台机器都分发了合法的地址。这时候大家都能很顺利的互相共享文件,或者上网查阅资料,或者收发电子邮件,当然,也有一小搓人在偷偷地聊QQ 和偷菜。大家忙得不亦乐乎的同时,DHCP 由于已经完成了IP 地址的分发,自能一个人呆着,什么也不干。可是它还不能“下班”(关机),
8、因为他还在等待有谁还需要申请一个IP 地址,如国它关机了, 剩下没开机那50 台电脑在开机的时候就没办法获得IP 地址了。所以,他只能白白的浪费资源。其他的一些服务器,比如DNS 服务器的命运也是类似的。为了解决这个问题, 这时人们就想, 能不能将这几种服务同时运行在一台服务器上。即一台物理机 (同一个操作系统)同时担任几种服务器角色。比如,在上述例子中, 把 DHCP和 DNS 同时在一台物理机的同一操作系统上运行。这样,至少可以剩下一台空闲时白白浪费电源的机器, 不是吗?但遗憾的是,经过实践证明, 这样的结合虽然在一定程度上提高了硬件利用效率, 但有时候会带来更多的不可预知的新问题,比如产
9、生一些令人讨厌的“未知错误” 、系统变得不稳定等。这些故障很大程度上是由于同一台服务器上的运行的不同服务引发的冲突造成的,而这些冲突的出现带有很大的偶然性和不可预见性。这种随机性和不可预定性使维护变得很不容易。接下来的思路就是,有没有一种方法,既能兼顾效率, 也能杜绝这种不可预料的兼容性问题。 也就是说, 如能够在一台物理机上同时运行多项服务,而服务和服务之间又保持着某种相对独立的关系,这就是我们想要的。还记得“虚拟机”吗?虚拟机不就是有在同一台物理机上同时运行着几台虚拟机,虚拟机之间又是相互独立的这么一个特点吗?进一步的设想,如果这些虚拟机在通过一定的技术手段能够提高其效率,那么几台虚拟机高
10、效的共享一台物理机的硬件资源,每台虚拟机又单独提供服务,这样就能很好的完成任务。经过一段时期, 包括来着硬件工程师和软件工程师的共同努力,大幅度提高了虚拟机的效率,于是才能提出基于虚拟机的一整套解决方案。这种解决方案可以将原本的多台服务器转化成虚拟机,并且合并到一台物理机上,做到高效的利用硬件效率,而又不对原来的IT 架构的逻辑结构产生重大改变。这就是虚拟化。还是前面的例子,把DHCP 服务器做成一台虚拟机,这台虚拟机里只跑DHCP 这个服务;同时, 把 DNS 服务器也做成一台虚拟机,这台虚拟机里也只跑DNS 这个服务。 然后,把这两台虚拟机同时放在一同物理机上运行。这样, 既满足了同一台物
11、理机上运行不同服务的愿望,也杜绝了它们之间互相“打扰”,因为和真实的物理机一样,虚拟机之间是相互独立的, 在这个例子中,它们只存在联网的关系。所以,他们用起来就跟原来没有虚拟化名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 之前是没什么两样的。有案例指出,瑞士的一家医疗机构,通过虚拟化的转变,将原本35 台服务器压缩成 1 台。这样既节省了机房面积,同时也节省了散热机构的电力,还压缩了原本35 台物理服务器的电力。 这样的转变是
12、一种多赢的转变。不仅仅是为企业节省了大量的成本,宏观来看,对保护环境也有着重要的意义。早就有人说过, 网络时代的本质就是共享,虚拟化不就是一种共享硬件的做法吗?关于一些问题的进一步解释(不断更新): 1、 关于物理机、 宿主操作系统 (Host OS) 、 虚拟机程序、 虚拟机、虚拟机操作系统 (Guest OS)的实例:假设这么一个场景,你有一台IBM 的笔记本电脑,你为它安装了Windows XP 操作系统。你看了我上面的介绍,决定安装一个名叫VMware Workstation 的虚拟机程序来做实验。你像安装普通的应用程序(比如QQ)一样安装完VMware Workstation ,并在
13、里面创建了一台虚拟机,并为它设定内存大小,硬盘大小,使用何种网卡,CD-ROM的类型等。这时,一切就绪,你 “ 按下 ” 虚拟机的 “ 开机按钮 ” 。你发现,打开了一个普通的Windows 窗口。窗口里开始出现BIOS 的开机自检画面,之后就像一台没有安装操作系统的机器一样,窗口停在了一个不停地闪烁的光标的画面上。到这里为止,我们先看几个感念:我们把你的那台IBM笔记本电脑称之为“ 物理机 ” 。把笔记本里安装的Windows XP 称之为 “ 宿主操作系统 (Host OS) ” 。 把用来创建虚拟机的VMware Workstation 称之为 “ 虚拟机程序 ” 。把你用VMware
14、Workstation 创建并亲手设定硬件参数的虚拟机就叫 “ 虚拟机 ” 。接着,你在我的帮助下,你为刚刚创建的虚拟机装上Windows 98 操作系统,安装完毕后,你再次按下虚拟机的“ 开机按钮 ” ,刚才那个窗口又出现了,不过这次,它经过BIOS 的自检画面后,就像以前你用过的安装了Windows 98 的所有计算机一样, 窗口里开始显示Windows 98 的“ 蓝天白云 ” 。 和以前一样, 正常进入系统后, Windows 98 能干的事情, 你发现在这个“ 窗口” 里你都能干,你的用户体验就像在操作一台真正的安装了Windows 98 的计算机一样。到这里,我们称在虚拟机里安装的
15、Windows 98 为“ 虚拟机操作系统(Guest OS)” 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - (网络图片,版权归原作者所有) 2、为什么传统的虚拟机的效率低,新的虚拟化解决方案如何提高虚拟机的效率?我们先来看传统的虚拟机的架构示意图:(原创图片,速度可能较慢请稍候)从示意图中我们可以看到虚拟机程序是以一个应用程序的形式存在于宿主操作系统中的,而虚拟化的实现组件包含在虚拟机程序中,而虚拟机中运行的操作系统又是
16、构建在虚拟机实现组件之上的。所以, 安装在虚拟机里的应用程序要先后要通过虚拟机操作系统层、虚拟化实现组件和虚拟机程序层,到达宿主操作系统层,最后通过宿主操作系统才能访问到硬件资源。这种硬件访问我将之称为“ 多层穿越式 ” 访问。这样,我们很容易的发现,每一层的效率都在影响最终虚拟机中应用程序的效率。而通常来看,从物理机开始,越往上层, 效率就越低下。所以,这就是导致传统的虚拟机效率低下的主要原因。我们再来看,新的虚拟化解决方案中虚拟机的示意图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
17、- 第 4 页,共 5 页 - - - - - - - - - (原创图片,速度可能较慢请稍候)在这种虚拟机方案中,将一个非常“ 薄” 的虚拟化实现组件直接放在物理层之上,这时候,原来的宿主操作系统和虚拟机的操作系统在事实上处于同一层,也就是说他们的逻辑地位是同等的。 或者我们可以认为,不存在宿主操作系统和虚拟机操作系统的分别,但为了描述方便, 这里还沿用这种叫法。在这种模式下, 虚拟机操作系统里的应用程序和宿主操作系统里的应用程序访问硬件资源的方式是一样。我称之为 “ 直接式 ” 访问。这样做导致的效率提高是显而易见的。是需要注意的是,这里的虚拟机程序只是起到一个监控作用。事实上,在传统的虚拟机方案里,一旦关闭了虚拟机程序,你的虚拟机也就不在运行。因为在传统的方案里, 虚拟机程序起到一个支撑虚拟机的作用。而在新的方案中,你可以看到,关了虚拟机程序,虚拟机仍在运行,这足以说明虚拟机程序只作为一个监视器存在。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -
限制150内