关闭

OpenStack之二

1077人阅读 评论(0) 收藏 举报
分类:

OpenStack组件及功能

一个云计算系统肯定会有一些重要的模块,那么如何让这些模块相互协调工作,下面我们一起了解一下OpenStack的几个核心部件,了解了这些个核心部件就明白为什么会需要这些部件了。

虚拟机管理系统Nova

首先来看一个云计算系统粗略的结构图:
云计算系统粗略结构图
各个模块的作用:
- Web UI:主要是呈现给管理员使用。要求:界面简洁、流程简单、稳定。
- Nova:主要负责用户、权限管理;数据库交互;最主要的还是虚拟机资源管理。
- Hypervisor:虚拟机管理软件,比如:KVM/Libvirt、XEN等开源软件。
- 操作系统:采用Linux。
Nova这一层是最核心、最复杂的一层。因为这一层里面整合了太多的模块与功能。这一层和它的上层也是需要我们自己动手的,下面两层均有相关的开源软件可以实现。

磁盘存储系统Glance与Swift

开发人员可能都装过虚拟机,安装虚拟机从ISO安装也是很麻烦的,而在互联网应用中,往往需要大规模地创建新的虚拟机。如果都从ISO进行安装,无疑会浪费很多时间。
出现了重复的工作,就会有新的方式可以代替,一种简单的虚拟机安装方式:复制Image(虚拟机的磁盘)。创建好一份之后,直接复制Image作为新建虚拟机的Image就ok。采用这种方式,用户在使用云计算系统的时候,可以定制一个自己的Image,然后上传到云系统中,就可以创建自己定制的虚拟机系统了。
虚拟机Image的传输常常需要占用大量的网络带宽。如果所有的Image的传输都通过Nova模块来进行,那么Nova接口的压力会变的很大。所以,应该考虑把Image的管理独立出来,成为一个独立的Image管理系统,在OpenStack中称为Glance。无论是用户Image的传输以及管理,或者Nova内部对Image的请求,都转向Glance。虚拟机Image的管理则有Glance全权代理了。
Glance主要的功能是管理Image。为了满足各式各样的复杂的需求,比如:
- 有的公司有着独有的存储系统(包括硬件和软件)
- 大型企业需要高可靠性、高稳定性的存储需求,但是没有自己的存储系统。
- 小企业与开发人员需要简单易用的存储系统。
针对这一系列的不同需求,Glance本身并不实现存储功能,它只是提供了一系列的接口来调用底层的存储服务。我们就可以根据需要在Glance后端接上存储系统,从而提供提供给云计算系统作为Image存储服务了。如果没有自己的存储系统,Glance后端可以使用开源免费的Swift存储系统。对于一些觉得直接基于Linux文件系统上复制一下就可以的企业,Glance的后端存储也可以直接接入Linux文件系统。通过上面的介绍,Glance的结构和功能就很清楚了。

虚拟机网络管理Quantum

在大型的互联网应用中,虚拟机都不是单独使用的,往往需要组件局域网,甚至需要划分子网,以实现虚拟机与主机,及虚拟机之间的通信。传统的组网方式都是直接基于硬件进行操作,但是,在解决虚拟机的网络问题的时候,并不需要也不能采用硬件手工操作方式了。需要软件来定义虚拟机的网络,即Software defined network(SDN)。SDN在各个商业公司里面,都是作为重要的商业软件,此外,SDN业界也没有明确统一的标准。因此,SDN软件除去商业利益的争夺以外,同时还意味着标准定义的争夺。
虚拟网络如此重要,所以在云计算的虚拟网络管理中,也将其从Nova中独立了出来,OpenStack称为Quantum
参照Glance的设计原理与经验,针对下面这些不同的需求:
- 有的企业可能使用私有的网络设备以及自己定义的SDN软件。
- 有的企业有SDN软件的需求,但是并没有这样的软件。
- 小型环境或开发人员有时候只需要简单的网络环境
Quantum采用代理模式是一个较好的选择。那么使用可以根据自己的情况,在Quantum的后端选择接入自己的设备,或者采用SDN的开源实现OpenSwitch,或者直接采用Linux bridge桥接网络。

下面是OpenStack的整体架构图:
OpenStack的整体架构图

出自:OpenStack开源云

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:484230次
    • 积分:7798
    • 等级:
    • 排名:第2664名
    • 原创:214篇
    • 转载:12篇
    • 译文:0篇
    • 评论:707条
    博客专栏
    最新评论