OpenStack之二

By | 07月08日
Advertisement

OpenStack组件及功能

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

虚拟机管理系统Nova

首先来看一个云计算系统粗略的结构图:
OpenStack之二

各个模块的作用:
- 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开源云

Similar Posts:

  • Openstack -- Horizon二次开发(二)

    tables.Action tables.DataTable中会配合tables.Action使用,快速开发出表格某些功能.官网中给出了一些常用的action: http://docs.openstack.org/developer/horizon/topics/tables.html?highlight=action 其中比较常见的有Action,FilterAction,和 LinkAction. 在tables.DataTable在定义时,其subclass Meta中有两个属性table

  • Openstack(两控制节点+四计算节点)-4 模拟控制节点宕机

    双控制节点通过heartbeat+pacemaker监控相关服务,所以须在两台控制节点上先安装heartbeat软件,安装过程可参照: http://my.oschina.net/guol/blog/90128 pacemaker主要是对控制节点上的资源进行切换,实际需求如下:只要主控制节点上任何一个与openstack相关的服务停止,都需要把vip及相关服务切换到备控制节点. 备控制节点的安装和主控制节点一样,在配置数据库时需要配置成slave,和主控制节点上的master实时同步,可以参照前

  • 搭建OpenStack AllInOne的沙箱模拟环境

    本文介绍Windows安装 VirtualBox,并创建Ubuntu-Server 12.04 x86_64虚拟机,再在Ubuntu虚拟机中构建一个OpenStack Essex AllInOne的沙箱模拟环境. (一)物理主机设置 启用物理主机CPU的VT支持:BIOS Setup Utility Config ==> CPU ==> Intel(R) Virtualization Technology ==> 设置为 Enabled (二)安装虚拟机软件 选择Oracle Virtu

  • 开源IaaS云平台的分析与比较

    文/贾琨 作为云计算的一种重要形式,IaaS服务有各种开源和商业云平台方案.本文立足于使用开源IaaS云平台来开发公有云和私有云管理平台的角度,介绍和比较了Eucalyptus.OpenNebula.CloudStack和OpenStack等开源IaaS云平台. 从AWS看成功云平台的特点 AWS是当前最成功的云计算平台,其系统架构最大的特点就是通过Web Service接口开放数据和功能,一切以服务为第一位:并通过SOA的架构使系统达到松耦合. AWS 提供的Web Service栈,由访问层

  • 二、OpenStack基础操作系统配置

    煮酒品茶:这一小节主要是讲网络配置.数据库安装.消息队列安装. 操作系统: 最好是使用64位操作系统,并开启虚拟化VT支持.因为32位的操作系统安装64位的虚拟机会报错. 网络: 两个网络,一个是外部网络,一个是内部节点通信网络 图1:官方基础架构 一.分配规则: 200段:内部网络 0段:外部网络 # cat /etc/network/interfaces 重新启动使之生效: # service networking restart 设置一个主机名,并永久生效: # hostname cont

  • 【问底】OpenStack在天河二号的大规模部署实践

    http://www.csdn.net/article/2014-12-11/2823077 OpenStack正在成为事实上的IaaS标准,其本身的设计架构赋予了其高度的可扩展性.尽管如此,在千节点量级的大规模部署中,仍然有许多因素决定了实际实施中需要在整体架构和细节优化上进行多方面的尝试与探索.本文分享在天河二号千节点规模上进行大规模部署的实践经验,并介绍团队在基于OpenStack构建企业级解决方案KylinCloud上所取得的进展. OpenStack大规模部署所遭遇的挑战 随着本身不断

  • OpenStack设计与实现(二)Libvirt简介与实现原理

    一.Libvirt简介 Libvirt是由Redhat开发的一套开源的软件工具,目标是提供一个通用和稳定的软件库来高效.安全地管理一个节点上的虚拟机,并支持远程操作.它由以下的模块组成: n 一个库文件,实现管理接口 n 一个守护进程(libvirtd) n 一个命令行工具(virsh) 基于可移植性和高可靠性的考虑,Libvirt采用C语言开发,但是也提供了对其他编程语言的绑定,包括Python,Perl,Ocaml,Ruby,Java和PHP.因此Libvirt的调用可以被集成到各种编程语言

  • openstack安装笔记 glance(二)

    安装glance yum install -y openstack-glance openstack-utils python-kombu python-anyjson [root@controller ~]# keystone service-create --name glance --type image --description "Glance Image Service hao" +-------------+--------------------------------

  • [置顶] OpenStack Neutron LoadBalance源码解析(二)

    声明: 本博客欢迎转载,但请保留原作者信息,并请注明出处:http://write.blog.csdn.net/! 作者:林凯 团队:华为杭州OpenStack团队 在Neutron LoadBalance源码解析(一)中,我们已经了解租户在创建pool.member.healthmonitor和vip的时候,代码会调用HaproxyNSDriver中的create_xxx函数,那么当租户使用pool创建vip时,即代码调用HaproxyNSDriver中的create_vip函数时,Neutr

  • (二)OpenStack部署之搭建一个测试环境

    一.虚拟机安装 1.根据规划创建虚拟机 2.安装ubuntu14.04 二.网络配置 1.根据规划,在vmware workstation中创建好对应的虚拟网络 2.配置虚拟机的IP地址 3.在每台虚拟机的hosts文件中增加对应的hostname和IP地址对应关系 每个节点除了 IP 地址之外,还必须能够解析其他节点的名称.例如,controller1这个名称必须解析为 10.0.0.11,即控制节点上的管理网络接口的 IP 地址. 4.用于计算节点的虚拟机开启CPU VT选项 5.用于计算节

Tags: