文档章节

虚拟化、云计算、开放源代码及其他(1)

 数据分析师
发布于 2015/03/22 23:47
字数 2218
阅读 12
收藏 1
点赞 0
评论 0

本文的全部内容均属于作者的个人观点,而不代表任何公司的观点。欢迎讨论。

A、虚拟化

虚拟化是指在同一台物理机器上模拟多台虚拟机的能力。每台虚拟机在逻辑上拥有独立的处理器、内存、硬盘和网络接口。使用虚拟化技术能够提高硬件资源的利用率,使得多个应用能够运行在同一台物理机上各自拥有彼此隔离的运行环境。

虚拟化的也有不同的层次,例如硬件层面的虚拟化和软件层面的虚拟化。硬件虚拟化指的是通过模拟硬件的方式获得一个类似于真实计算机的环境,可以运行 一个完整的操作系统。在硬件虚拟化这个层面,又有Full Virtualization(全虚拟化,几乎是完整地模拟一套真实的硬件设备。大部分操作系统无须进行任何修改即可直接运行在全虚拟化环境中。)、 Partial Virtualization(部分虚拟化,仅仅提供了对关键性计算组件或者指令集的模拟。操作系统可能需要做某些修改才能够运行在部分虚拟化环境中。) 和Paravirtualization(半虚拟化,不对硬件设备进行模拟,虚拟机拥有独立的运行环境,通过虚拟机管理程序共享底层的硬件资源。大部分操 作系统需要进行修改才能够运行在半虚拟化环境中。)等不同的实现方式。软件层面的虚拟化,往往是指在同一个操作系统实例的基础上提供多个隔离的虚拟运行环 境,也常常被称为容器技术。

在硬件虚拟化的层面,现代的虚拟化技术通常是全虚拟化和半虚拟化的混合体。常见的虚拟化技术例如VMWare、Xen和KVM都同时提供了对全虚拟 化和半虚拟化的支持。以硬件虚拟化的方式所提供的虚拟机,通常都在运行一个完整的操作系统,在同一台宿主机上存在大量相同或者相似的进程和内存页,从而导 致明显的性能损耗。目前,通过KSM等技术可以识别与合并含有相同内容的内存页,但是还没有对大量相同或者相似的进程进行优化处理的有效手段。因此,硬件 虚拟化也往往被称为重量级虚拟化,在同一宿主机上能够同时运行的虚拟机数量是相当有限的。在软件虚拟化的层面,同一宿主机上的所有虚拟机共享同一个操作系 统实例,不存在由于运行多个操作系统实例所造成的性能损耗。因此,软件虚拟化也往往被称为轻量级虚拟化,在同一宿主机上能够同时运行的虚拟运行环境数量是 比较宽松的。以Solaris操作系统上的Container为例,一个Solaris操作系统的实例理论上可以支持多达8000个 Container(实际能够运行的Container数量取决于系统资源和负载)。与此类似,Linux操作系统上的LXC可以轻松地在同一宿主机上同 时支持数量可观的虚拟运行环境。

在虚拟化这个领域,国内的公司对硬件虚拟化的兴趣较大,在研发和生产环境中也大都采用硬件虚拟化技术。淘宝是国内较早地研究并应用软件虚拟化技术 的,他们在淘宝主站的实践经验表明使用cgroup替代Xen能够提升资源利用率。至于在一个实际的应用场景中到底应该选择硬件虚拟化还是软件虚拟化,则 应该重点考虑最终用户是否需要对操作系统的完全控制权(例如升级内核版本)。如果最终用户仅仅需要对运行环境的控制权(例如PaaS层面的各种App Engine服务),软件虚拟化可能性价比更高。对于为同一应用提供横向扩展能力的应用场景,软件虚拟化也是比较好的选择。

对于需要深入了解虚拟化技术的技术人员来说,VMWare发表的白皮书《Understanding Full Virtualization, Paravirtualization, and Hardware Assist》是一份很好的参考资料。

通常来讲,能够直接使用虚拟化技术的用户数量是比较少的。以Linux操作系统为例,能够进行虚拟机生命周期管理的用户,一般就是具有访问libvirt权限的用户。在一个公司或者其他实体中,这些用户通常是系统管理员。

B、虚拟化管理

早期的虚拟化技术,解决的是在同一台物理机上提供多个相互独立的运行环境的问题。当需要管理的物理机数量较小时,系统管理员可以手动登录到不同的物 理机上进行虚拟机生命周期管理(资源配置、启动、关闭等等)。当需要管理的物理机数量较大时,就需要写一些脚本/程序来提高虚拟机生命周期管理的自动化程 度。以管理和调度大量物理/虚拟计算资源为目的软件,称为虚拟化管理工具。虚拟化管理工具使得系统管理员可以从同一个位置执行如下任务:(1)对不同物理 机上的虚拟机进行生命周期管理;(2)对所有的物理机和虚拟机进行查询甚至监控;(3)建立虚拟机命名与虚拟机实例直接的映射关系,使得虚拟机的识别和管 理更加容易。Linux操作系统上的VirtManager是一个简单的虚拟化管理工具。在VMWare产品家族中,VMWare vSphere是一个功能强大的虚拟化管理工具。

虚拟化管理工具是虚拟化技术的自然延伸。简单的虚拟化管理工具,解决的是由于物理机数量增多所导致的工作内容繁杂问题。在这个层面,虚拟化管理通常 和集群的概念同时出现。一个虚拟化管理工具,往往需要获得各台物理机上的虚拟机生命周期管理权限(例如具有访问libvirt权限的用户名和密码)。在同 一个集群当中,为了方便起见,可能需要设定一个在整个集群层面通用的管理用户。可以认为,虚拟化管理为系统管理员提供了便利,但是并没有将虚拟机生命周期 管理的权限下放给其他用户。

C、数据中心虚拟化

大数据中心的层面,系统管理员需要面对大量不同类型的硬件和应用。与小型的集群相比较,数据中心的系统复杂度大大提高了。这时简单的虚拟化管理工具 已经无法满足系统管理员的要求,因此在虚拟化管理工具的基础上又发展出各种数据中心虚拟化管理系统。在硬件层面,数据中心虚拟化大数据可视化管理系统通过划分资源池 (一个资源池通常是一个集群)的方式对硬件资源进行重新组织,并以虚拟基础构架(Virtual Infrastructure)的方式将计算资源暴露给用户。在软件层面,数据中心虚拟化管理系统引入系统管理员和普通用户两种不同的角色,甚至是基于应 用场景的需要设定颗粒度更细的基于角色的权限控制(Role Based Access Control,RBAC)。系统管理员对整个数据中心的物理机和虚拟机拥有管理权限,但是一般不对正常的虚拟机进行干涉。普通用户只能在自己具有权限的 资源池内进行虚拟机生命周期管理操作,不具有控制物理机的权限。在极端的情况下,普通用户只能够看到分配给自己的资源池,而不了解组成该资源池物理机细 节。

【了解更多商业智能行业资讯,商业智能解决方案以及商业智能软件下载请访问FineBI商业智能官网www.finebi.com】

© 著作权归作者所有

共有 人打赏支持
粉丝 29
博文 1645
码字总数 2338861
作品 0
邢台
虚拟化、云计算、开放源代码及其他

原文出处:蒋清野的博客 —— 婉兮清扬 借国庆长假的机会写了这篇长文,全面地整理了个人从虚拟化到云计算各个层面的看法。主要的内容涉及虚拟化、虚拟化管理、数据中心虚拟化、云计算、公有...

oschina ⋅ 2012/10/12 ⋅ 16

5款开源云计算平台推荐

云计算是个IT界火热的词汇,开源云计算更是被认为是IT的趋势。我们熟知的几个IT巨头的云计算平台,如亚马逊EC 2、IBM的蓝云、微软的Azure、Sun Cloud等,那么开源云计算的平台又有哪些呢?以...

老枪 ⋅ 2009/07/25 ⋅ 0

开源代码及Linux系统在云计算中应用

云计算和存储将物理资源(例如处理器和存储)转换成 Internet 上可伸缩、可共享的资源(“作为服务”的计算和存储)。虽然虚拟化不是一个新概念,但是通过服务器虚拟化实现的物理系统共享,的确能...

老枪 ⋅ 2009/08/18 ⋅ 0

虚拟化主机系统在线web管理平台

虚拟化管理软件比较(Eucalyptus, OpenNebula, OpenStack, OpenQRM, XenServer, Oracle VM, CloudStack, ConVirt) 关键字:LisVP 虚拟化管理平台 | 虚拟机管理系统 | VM | KVM | OpenVZ | 主机......

English0523 ⋅ 2016/01/08 ⋅ 0

iaas层面云平台对比

系统构架 Eucalyptus Eucalyptus是一个与Amazon EC2兼容的IaaS系统。Eucalyptus包括云控制器(CLC)、Walrus、集群控制器(CC)、存储控制器(SC)和节点控制器(NC)。 CLC是整个Eucalyptu...

于滨济南 ⋅ 2011/11/28 ⋅ 0

Xen 成为 Linux 基金会项目

Linux 基金会 宣布 Xen 项目现在属于基金会的项目之一,位于基金会的“协作项目”下。 Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发。它打算在单个计算机上运行多达100个满特征的操作系...

oschina ⋅ 2013/04/16 ⋅ 14

虚拟化技术经验分享

云计算与融合 近几年来,“云计算”与“融合”等概念炒得沸沸扬扬,其相关技术非常值得我们去进行关注。 就我的理解而言,数据中心要实现云计算,虚拟化无疑是一个重要的基础,但虚拟化本身并...

周志超 ⋅ 2014/07/07 ⋅ 0

X86服务器虚拟化的三种技术(1)

云计算、SaaS等基于服务的计算模式最近异常灼热。服务器虚拟化技术尤其是对低端廉价x86服务器的虚拟化已被公认为是实现这些计算模式的关键技术,对于能否廉价提供云计算、SaaS等服务至关重要...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

VMware 虚拟化与云计算-vSphere运维卷已经出版

《VMware虚拟化与云计算 vSphere运维卷》已经由中国铁道出版社出版 带10段、180分钟细致讲解视频;嵌入书中重点难点章节,实现二维码即扫即看 本书封底二维码下载包中包含全书图片的彩色版,...

王春海 ⋅ 2017/04/25 ⋅ 0

OpenStack学习教程

OpenStack 定义 来自于维基百科的定义: OpenStack是一个美国国家航空航天局和Rackspace合作研发的云计算软件,以Apache授权条款授权,并且是一个自由软件和开放源代码项目。 来自于 openst...

实验楼 ⋅ 2017/11/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 48分钟前 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部