首页 理论教育 OpenStack的逻辑架构与云计算大数据处理

OpenStack的逻辑架构与云计算大数据处理

时间:2023-10-17 理论教育 版权反馈
【摘要】:OpenStack主要模块的一些细节,可以帮助我们更好地理解如何设计部署、安装和配置这个平台。OpenStack Glance与OpenStack Swift基本上都是独立的基础架构,OpenStack Compute通过Glance API和Object API来进行交互。nova-api守护进程是OpenStack Compute的中心。OpenStack Glance是一个单独的项目,它是一个Compute架构中可选的部分,分为3部分:glance-api,glance-registry和image store。OpenStack Swift是一个单独的项目,它采用分布式存储架构,能防止单点故障并支持横向扩展。swift-proxy通过接收OpenStack Object API或者HTTP传入的请求,接受文件上传、修改元数据或容器创建。

OpenStack的逻辑架构与云计算大数据处理

OpenStack主要模块的一些细节,可以帮助我们更好地理解如何设计部署、安装和配置这个平台。模块根据其所属的功能组织起来,并根据类型进行分类。这些类型如下。

守护进程:以守护进程运行,在Linux平台上,通常作为一个服务来安装。

脚本:当一些事件发生时,通过外部模块来运行的脚本。

客户端:一个访问服务所绑定的Python的客户端。

CU:一个提交命令的命令行解释器。

终端用户通过nova-api对话来与OpenStack Compute交互,通过glance-api对话来与OpenStack Glance交互,通过OpenStack Object API来与OpenStack Swift交互。

OpenStack Compute守护进程之间通过队列(行为)和数据库(信息)来交换信息,以执行API请求。

OpenStack Glance与OpenStack Swift基本上都是独立的基础架构,OpenStack Compute通过Glance API和Object API来进行交互。

其各个组件的情况如下。

nova-api守护进程是OpenStack Compute的中心。它给所有API查询(Cpmpiute API或EC2API)提供端点,部署活动(比如运行实例),以及实施一些策略(绝大多数的配额检查)。(www.xing528.com)

nova-compute进程主要是一个创建和终止虚拟机实例的守护进程。其过程相当复杂,但是基本原理很简单:从队列中接受行为,然后在更新数据库的状态时,通过一系列的系统命令执行。

nova-volume负责管理映射到计算机实例的卷的创建、附加、取消和删除。这些卷可以来自很多提供商,比如ISCSI和AOE。

nova network worker守护进程类似于nova-compute和nova-volume。它们从列中接受网络任务,然后执行任务以操控网络,比如创建bridging interfaces或者改变iptables rules。

Queue提供中心hub,为守护进程传递消息,当前用RabbitMQ实现,但是理论上可以是Python ampqlib支持的任何AMPQ消息队列。

nova database存储云基础架构中的绝大多数编译时和运行时状态。这包括了可用的实例类型、在用的实例、可用的网络和项目。理论上,OpenStack Compute能支持SQLAlchemy支持的任何数据库,当前广泛使用sqlite3(仅用于测试和开发工作)、MySQL和PostgreSQL。

OpenStack Glance是一个单独的项目,它是一个Compute架构中可选的部分,分为3部分:glance-api,glance-registry和image store。其中,glance-api接受OpenStack image API调用,glance-registry负责存储和检索镜像的元数据,实际的Image Blob存储在image store中。Image Store可以是多种不同的ObjectStore,包括OpenStack Object Storage(Swift)。

OpenStack Swift是一个单独的项目,它采用分布式存储架构,能防止单点故障并支持横向扩展。它包括4部分:swift-proxy,account,container和object。swift-proxy通过接收OpenStack Object API或者HTTP传入的请求,接受文件上传、修改元数据或容器创建。此外,它还将提供文件或容器清单到浏览器上。swift-proxy可以使用一个可选的缓存(通常部署在memcache中)来提高性能。account管理账户定义对象存储服务。container管理一个映射的容器(即文件夹),提供对象存储服务。object管理实际对象(例如文件)。

OpenStack很可能成为未来云计算平台的标准,只要遵循统一的标准,用户便可以随意将自己的应用部署到不同的云平台,而不需要对应用做任何修改。在未来统一的标准下,

用户完全不用关心云服务提供商是用OpenStack构建的云还是其他平台构建云,只需要把应用部署到云即可,然后为使用的云资源付费。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈