云计算,简单点理解就是以一个资源池的方式,弹性的提供可靠的计算,存储资源。呈现给使用者的界面不再是具体的哪个 PC 或几台 PC ,而是一个统一的界面,需要多少资源等。

 

云计算的划分

云服务上划分

   主要从服务包装程度上划分,包括了 SAAS, PAAS, IAAS 。前两者都是包装的程度要高一些。

云计算的应用划分

    i.      集群计算,代表有 hadoop ,适用于那些大型计算类的数据挖掘,海量数据处理等。

    ii.     云存储,代表有 hdfs, swift

    iii.    提供弹性的计算单元服务,这类服务可以作为大网站的峰值期间弹性增加服务,如 Amazon EC2

 

目前 iii 主要是以虚拟机的方式提供对外服务的。

下面我们谈谈与其相关的一些 虚拟化 管理软件。

 

虚拟化管理软件

目前主流的虚拟管理软件分为两个主流

  • 浅包装,他们对 KVM XEN 进行了简单的包装,大部分如此,比如 convirture XenServer 等。
  • 全托管。稍微复杂些,对资源进行了集中式管理,对虚拟机资源分配提供黑盒式的服务,如 Openstack Eucalyptus

这些软件具体的安装实现上又区分有 agent 和无 agent ,个人感觉差不多,所谓的无 agent 其实也是利用了 linux 自带的命令进行操作的,实质上都是基于 KVM XEN 的管理。

 


这些软件提供给最终用户的功能:

虚拟机支持

       OpenStack Eucalyptus 只提供 VM 模板的方式,主控并不会记住具体运行该虚拟机是在那台服务的那个 IMAGE 上,所以在该虚拟机上所有修改在其关闭后会丢失(重启后 OpenStack 会使用模板 EMI 根据某种算法重新运行在某台机器上,之前那个会丢失了; Amazon 在这种情况下会自动为其另存一个 EMI)

       其它的模板和console都支持

存储支持

  • Eucalyptus 增加可以 mount 弹性存储功能,这些存储也是由 Eucalyptus 托管的,对用户是透明的。
  • OpenStack  也提供了 mount弹性存储。它的体系中也有额外独立的存储组件,目前  Swift  实现了这套功能。 提供了一套基于 rest API  的对象存储方案(对存储内容有冗余功能,保证数据不因硬件问题而丢失)。这套东西是以一个独立功能组件提供的,没有依赖  OpenStack  ,所以其它解决方案可以自由使用。

  • 其它的软件还没有自带的存储组件

KVM XEN

这些虚拟管理软件都支持 KVM XEN ,它们的虚拟化最终都将物理机上通过KVM或XEN或其它虚拟化软件来实现。

KVM和XEN的区别

  • XEN KVM 性能更好

         XEN 是半虚拟化,这样更靠近硬件层,性能高;不足是需要定制的操作系统,这样灵活度不够

         TMEM 技术( Transcendent Memory ,超内存技术)等技术,资源分配更具有弹性,当前不活跃的虚拟机占用资源不多,这样同时支持的虚拟机更多,特别适合那些 UI 测试机;不足是隔离性不好,部分高带宽应用会影响其它人。

这些只是主要特点,很多细节,比如网卡,备份等。

 

  • KVM 的优点是隔离性更好,几乎是独占资源。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐