一、openstack定义
openstack是一个开源软件,提供了一个部署云的平台。为虚拟机或存储服务的公有、私有云,提供可扩展的、灵活的云计算。
openstack包含的主要开源项目有compute计算组件(nova),object storage存储服务组件(swift),image service镜像组件(Glance)。
Nova提供虚拟计算服务
Swift提供存储服务
Glance提供虚拟机镜像的注册、分发服务。
二、openstack历史版本
OpenStack Austin 2010.10
OpenStack Bexar 2011.2
Openstack Cactus 2011.4
Openstack Diablo 2011.9
Openstack Essex 2012.3
Openstack Folsom 2012.10
三、OpenStack的nova项目
1. nova含义
nova并不提供虚级化功能,但通过libvirt API可对如下虚拟化平台进行管理:KVM, LXC, QEMU, UML, VMWare, xen。
nova是由多个组件组成的,分别是nova-api, Message Queue(消息队列), nova-scheduler, nova-compute, nova-volume, nova-network。
2. nova-api组件
nova-api组件实现了RESTful API功能,是外部访问Nova的唯一途径。
nova-api接收外部的请求并通过Message Queue将请求发送给其他服务组件。
3. nova-compute组件
nova-compute一般运行在计算节点上,通过Message Queue接收VM生命周期管理指令并实施具体的管理工作,如VM的创建、终止、迁移或
Resize等操作。
4. nova-volume组件
nova-volume一般运行在存储节点上,主要执行卷相关的功能,如创建卷、为VM绑定卷或解绑定卷等。
5. Message Queue
组件之间通过此消息队列进行通信。eg,RabbitMQ
6. nova-scheduler组件
nova-scheduler作为一个后台进程运行,它会根据一定的算法从计算资源池中选择一个计算节点用于启动新的VM
实例,其步骤主要有两步:(1) 根据配置文件中定义的过滤器(filter)获得候选节点。(2) 使用不同的算法获取最终的节点。
7. nova-network组件
该组件主要包括(1) Manage floating IPs
(2) Manage security group
(3) Configure network: Flat Network Manager, FlatDHCP Network Manager, VLAN Network Manager