OpenStack是一个云平台管理的项目,它不是一个软件,主要参考亚马逊AWS,由很多其他开源软件整合而成的。
- 以Python编程语言编写
- 整合Tornado网页服务器、Nebula运算平台
- 使用Twisted软件框架
- 遵循Open Virtualization Format、AMQP、SQLAlchemy等标准
- 虚拟机器软件支援包括:KVM、Xen、VirtualBox、VMware、Hyper-V
openstack核心组成主要有
对象存储(Swift):通过key/value的方式实现对文件的存储,现在的云盘就是这样的
计算管理(Nova):提供虚拟主机,通过虚拟技术(kvm、Xen、VMware等)
网络管理(Quantum):实现虚拟机的网络资源管理如网络连接、ip管理、公网映射
块存储(Cinder):为虚拟机提供存储,目前支持ip-san、fc-san等(FCSAN,以光纤通道构建存储网络,IPSAN则以IP网络构建存储网络,较FCSAN,具有更经济、自由扩展等特点。)
镜像管理(Glance): 包含系统的存储空间
身份认证(Keystone):统一的授权、认证管理
界面(Horiaon):安装好后,用到的web网页的控制台DashBoard
AMQP是整个openstack的核心,所有功能的实现,都是由AMQP与相应api接口交互。
AMQP(Advanced Message Queuing Protocol)一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。