博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

openstack 结构

Posted on 2015-07-24 13:25  bw_0927  阅读(207)  评论(0)    收藏  举报

http://manual.blog.51cto.com/3300438/967858

 

三、OpenStack结构

你可以把OpenStack Compute理解为结合现有Linux技术构建云计算环境的工具箱。

以下我们通过图例说明构建OpenStack Compute云环境的基础技术。圆形表示构成OpenStack Compute的Linux服务,矩形表示外部组件(不属于OpenStack项目),实线表示OpenStack组件与外部组件间的交互,虚线表示外部组件之间的交互。所有组成OpenStack Compute的服务都与后端消息队列(如:RabbitMQ,Qpid)以及后端数据库(如:MySQL)交互,这种交互图中没有连线。同时其他的一些非必须的外部组件技术同样不在该图示中展示,如:nova-api,OpenStack Identity以及OpenStack Image服务。

方案1:

方案2:

如图所示,多数外部组件可以有很多替代产品。

技术与软件:

技术与软件

nova-compute

nova-compute服务依靠虚拟化驱动管理虚拟机。默认驱动为libvirt,可以驱动KVM,但libvirt同样可以驱动其他hypervisor(管理虚拟机的技术)技术。如果你需要使用Xen云平台或XenServer,则Xen虚拟化技术使用单独的驱动。Open-iscsi用来挂载远程块设备,也被称为卷。Open-iscsi将远程设备当作与本地设备一样使用。

nova-network

nova-network服务依赖于一些Linux网络技术,它使用Linux桥接技术来连接虚拟机与物理主机。如果是运行在VLAN网络模式,这些桥设备可以通过Linux VLAN技术相关联。iptables负责安全策略实施与NAT功能。DNSmasq用来快速部署DNS服务器并为虚拟机实例分配IP地址、DNS等网络参数。

在未来的OpenStack发行版本中,nova-network的功能将被独立称为OpenStack的一个独立项目,代码名称为Quantum。

译者再次备注一下,OpenStack提供的手册文档是2012年4月31日,而目前根据OpenStack官网信息显示OpenStack Networking已经是一个独立的项目了。

nova-volume

默认,nova-volume服务使用LVM创建和管理本地卷,并使用IET或tgt通过iSCSI方式发布出去。nova-volume同样可以配置使用其他基于iSCSI的存储技术。

未来的OpenStack发行版本中,nova-volume的功能将被独立为OpenStack项目,代码名称为Cinder。

openstack-dashboard

openstack-dashboard是基于Django的应用程序,它默认运行在Apache Web服务器上。你可以使用memcache来改善它的性能。一个基于web的VNC客户端-novnc,使用novnc连接VNC控制台与KVM实例连接。

四、安装环境构思

OpenStack Compute有大量的配置选项,为了简化本安装指南,我们对需要部署的环境做了一些假设。

  • 你已经有了一些安装有Fedora17,RHEL6.2,Scientific Linux6.1或CentOS6发行版的compute节点。备注OpenStack同样支持Ubuntu,但本文档不做说明。
  • 你已经选定了一台作为云控制节点,它将除nova-compute外的所有服务(RabbitMQ,MySQL,Identity,Image,nova-api,nova-network,nova-scheduler,nova-volume)。
  • 云控制器的磁盘分区使用的是LVM。
  • 你的云控制器有一个LVM卷组(VG)名为”nova-volumes”共VM使用,你可以安装系统的使用创建,也可以在安装nova服务前使用剩余空间创建。
  • 确保你的主机名可以被正确的解析,另外如果你使用RabbitMQ作为后端消息队列或许会遇到些麻烦,Fedora默认使用Qpid作为消息队列。
  • 192.168.206.130是主机上eth0网卡的主IP地址。
  • 192.168.100.0/24作为虚拟主机的网络范围,通过桥接br100连接宿主主机。
  • FlatDHCP with a single network interface.
  • 使用KVM或Xen(XenServer or XCP)作为hypervisor。
  • 在RHEL上启用EPEL软件仓库,方法: $ sudo rpm -Uvhhttp://download.fedoraproject.org/pub/epel/6/i386/epelrelease-6-5.noarch.rpm