【云深知处】NFV理论与实践(4)-CloudOS云操作系统
在NFV的架构中,云操作系统起着至关重要的“承上启下”的作用。
在详细了解云操作系统之前,让我们先来回顾一下传统的操作系统:
An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.(来自维基百科)
操作系统是管理计算机硬件和软件资源,为计算机程序提供通用服务的系统软件。
操作系统通过硬件驱动和库文件来对硬件进行抽象,屏蔽硬件的差异,为软件提供标准的接口和服务,使得应用软件能够运行在一个稳定的平台上。操作系统对硬件的抽象,使得应用程序开发人员可以专注软件功能,而不必关心硬件差异。操作系统同时也提供丰富的输入和输出,以及系统软硬件状态的监控功能。
同样作为操作系统的云操作系统,也需具备传统操作系统的功能。除此之外,云操作系统还必须具备“云”的能力:共享、弹性、快速部署和回收、可监控和测量是云操作系统必须提供的能力。
A cloud operating system is a type of operating system designed to operate within cloud computing and virtualization environments. A cloud operating system manages the operation, execution and processes of virtual machines, virtual servers and virtual infrastructure, as well as the back-end hardware and software resources. (来自techopedia.com)
正如上述文字对云操作系统的定义,云操作系统的共享、弹性、快速部署和回收、可监控和测量能力均借助虚拟机的结构来实现。
云操作系统结合了虚拟化和云化的技术,使得硬件资源可以被虚拟化,结合成一个个VM,一个VM也可以依托处在不同位置的硬件来实现。
所以,CloudOS首先必须具备虚拟化的功能,能够将硬件的计算、存储和网络资源通过虚拟化的方式划分成更小的粒度;再利用其云化功能将小粒度的计算、存储和网络资源组合成VM,提供给上层应用。
所以Hypervisor是CloudOS的核心组件。除Hypervisor外,CloudOS另外一个重要的部分是管理模块。
云的技术本质是灵活的资源调度,能够实现资源的迁移、Scale-in和Scale-out,从而实现能力的扩容和缩容、保证业务系统的可靠性。
这部分能力靠“云化”能力来实现。根据架构设计的目标,CloudOS能够将来自不同硬件甚至不同数据中心(DC,Data Center)虚拟化之后的资源组合成一个VM,去承载上层的应用。通过这种方式,应用架构在不同的硬件能力上。这些硬件能力来自不同的物理单板、主机,甚至数据中心。CloudOS的管理模块就实现了资源组合的功能。除了组合虚拟资源,也就是虚拟机的创建外,CloudOS的管理模块还能提供虚拟机的动态扩缩容、虚拟机的删除(销毁)的能力,并且提供虚拟资源的监控、管理等所需要的状态信息。
在这种架构下,虚拟化是云化的前提。组合成VM的资源均来自虚拟资源。云化与虚拟化并不是100%的依赖关系。在一些场景下,CloudOS的管理组件也可以直接管理物理硬件,将某些特殊应用直接架构在物理设备上,而不再通过虚拟层。
但在目前的云化架构下,VM的资源均来自虚拟资源。所以,CloudOS离不开Hypervisor,但Hypervisor可以不依赖CloudOS独自生存。
云的商业本质是资源远程、定制和共享。远程要求云服务能提供基于网络的访问,在I层、P层、S层提供相应的访问界面;“定制”要求资源的伸缩、不同层级均可作为服务进行开放。这部分通过虚拟资源调度实现,与技术本质一致;“共享”要求云服务能够隔离不同用户,提供不同层级资源以及管理对应层级资源的账号和权限。
管理单元和虚拟化单元Hypervisor共同构成的CloudOS。
CloudOS通过Hypervisor进行虚拟和抽象,通过管理组件对虚拟化之后的资源进行组合和管理,组成虚拟机资源提供给上层Guest OS。
各厂家都基于开源和闭源的Hypervisor和管理组件推出了自己的CloudOS。云计算发展到今天,各厂家都声称支持各种管理单元和Hypervisor的组合。下图是对各厂家主打的CloudOS组合结构进行了总结。NFV领域是一个急速变化的领域,新概念层出不穷、应接不暇,各厂商产品结构也在不断调整。
下节,我们以最流行的管理组件OpenStack为例讲解CloudOS需要具备的基本素质。
- 点赞
- 收藏
- 关注作者
评论(0)