研究思路与项目综述【2021-9-27】

2021SC@SDUSC

1. 小组分工

小组共2人:李藩 李卓航
小组分工:
李藩:负责整理Nova服务,Neutron服务,Placement服务部分。
李卓航:负责整理Keystone服务,Glance服务,Cinder服务部分。

2. 研究思路

(1)搭建OpenStack环境
(2)通过阅读、收看OpenStack介绍和请教师哥等方式初步了解OpenStack,对OpenStack形成宏观认识。目标:

  • 从OpenStack数十个服务中定位核心服务及其作用
  • 了解服务间的交互方式和作用

(3)下载OpenStack核心服务源码,查阅核心服务文档,了解代码结构。目标:

  • 了解某个服务的具体作用和实现机制(理论层面)
  • 了解该服务下每个子模块的作用
  • 了解该服务下子模块如何协作完成服务

(4) 在OpenStack环境中部署节点、启动服务,感受OpenStack功能。

(5)阅读源码,目标:

  • 分析子模块内部函数作用及调用关系
  • 分析(3)中提及的协作方式的具体实现

(6)提出创新点,修改源码,进行实验测试

3. 已完成工作

源码下载:OpenStack源码

浏览OpenStack介绍:
官方:Vision for OpenStack Clouds
博客:什么是OpenStack? OpenStack核心组件之运行流程OpenStack Nova 架构及源码分析云计算之OpenStack架构详解

从数目众多的组件中找到核心组件:Nova, Neutron, Keystone, Horizon, Glance, Cinder, Swift, Ceilometer,并聚焦到最关键的组件Nova着手分析。

下载官方文档:
Nova: https://docs.openstack.org//nova/wallaby/doc-nova.pdf
Cinder: https://docs.openstack.org//cinder/wallaby/doc-cinder.pdf
Keystone: https://docs.openstack.org//keystone/wallaby/doc-keystone.pdf
Neutron: https://docs.openstack.org//neutron/wallaby/doc-neutron.pdf

Devstack源码:https://opendev.org/openstack/devstack
Devstack文档:https://docs.openstack.org//devstack/wallaby/doc-devstack.pdf

正在搭建OpenStack环境,并正在阅读Nova-compute中的源码。

4. Introduction

(因为以后论文要用英语写,所以这里用了英语。除了官方文档的原话是抄的,其它都是自己写的……)

OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed and provisioned through APIs with common authentication mechanisms.
A dashboard is also available, giving administrators control while empowering their users to provision resources through a web interface.
Beyond standard infrastructure-as-a-service functionality, additional components provide orchestration, fault management and service management amongst other services to ensure high availability of user applications.

The explosion of Internet-based services in the first decade of this century brought not only the blooming of E-commerce, but also challenges handling unprecedentedly tremendous amounts of data. However, the pricy computing infrastructure had considerably squeezed the E-commerce providers’ profile. Thus, the concept of “cloud computing”, the key of which is to provide remote computing services on demand through network by virtualizing, integrating and scheduling physical computing resources, was proposed in 2006.

With the blooming of E-commerce, the concept of “cloud computing”, the key of which is to provide remote computing services on demand through network by virtualizing, integrating and scheduling physical computing resources, was proposed in 2006 to handle the conflict between pricy computing infrastructure and the requirement of computing mass data. In 2010, OpenStack project was launched by NASA and Rackspace. It is an opensource project maintained and developed by its community, and it has released 23 versions till now with Wallaby as its latest version and Xena planning to be released in the coming October.

OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed and provisioned through APIs with common authentication mechanisms. These goals are supported by several services in OpenStack, including key services like Nova for compute instances provision, Keystone for authentication, Glance for compute image reposition, Neutron for network managing and Placement for resource tracking. Here is a more specific introduction to each of the key services:

  • Nova is the OpenStack project that provides a way to provision compute instances (aka virtual servers). Nova supports creating virtual machines, baremetal servers (through the use of ironic), and has limited support for system containers. Nova runs as a set of daemons on top of existing Linux servers to provide that service.
  • Keystone is an OpenStack service that provides API client authentication, service discovery, and distributed multi-tenant authorization.
  • Glance provides a service where users can upload and discover data assets that are meant to be used with other services.
  • Neutron is an OpenStack project to provide “network connectivity as a service” between interface devices (e.g., vNICs) managed by other OpenStack services (e.g., nova).
  • Placement is responsible for tracking inventory of resources available in a cloud and assisting in choosing which provider of those resources will be used when creating a virtual machine.

There are much more services provided by OpenStack except for those mentioned. The following diagram shows the relationships among the OpenStack services:
Interaction
One possible (actually the most common) logical architecture of a well organized OpenStack cloud is shown below:
Logical architechture of OpenStack cloud
Each service can be divided into several sub-modules. Particularly, nova is composed of schedule, conductor, compute service, API and some other components. API is responsible for receiving HTTP requests, converting commands and communicating with other components via the oslo.messaging queue (usually within a service) or HTTP (usually between services). Scheduler decides which host get each instance. Compute service manages communication with hypervisor and virtual machines. Conductor handles requests that need coordination (build/resize), acts as a database proxy, or handles object conversions. This graph shows the interactions among the key components of a typical Nova deployment:
Nova architecture
These services can be integrated into several nodes, each plays a specific role, such as controller, compute, block storage, object storage and so on. Each node usually runs on a logically single serve (that indicates different nodes may run on different virtual server that actually on the same physical server) and users can customize the configuration of the nodes.

Because of its openness and self-serving feature, the strategy to deploy limit resources to meet the need of high-performance, stability and security has become the center of related researches. Some of the precede researches focus on the scheduling algorithm in order to increase the coordination efficiency between nodes, for example, someone adopt Firefly Algorithm to keep load balance among nodes. Some researches propose models to evaluate cloud resource deployment strategies. There is also an increasing trend to use OpenStack as basic architecture of data-based tasks in many other fields. Its high-performance computing has empowered science researches like earth observation. And its ability to handle tremendous amounts of data also brings complex management systems into being.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值