三大核心组件
Nova:Compute,Neutron:Networking,Swift:Storage
OpenStack Compute
- Nova是云计算环境中的主要控制器,主要采用Python语言编写。
- 使用目前成熟的虚拟化技术(KVM,XenServer)来管理和自动化计算资源池的操作。
- OpenStack只是作为一个平台存在,并不充计算资源的提供者和资源的消费者。
OpenStack Object Storage(Swift)
- Swift是OpenStack的对象存储(Object Storage)项目,是一个可扩展并且提供了冗余的存储系统。
- 对象文件分散存储在同意集群中的多台服务器的磁盘上,由OpenStack负责数据的复制和一致性。
- 对象存储系统是用于存储大量静态数据的分布式存储系统,没有主节点或者管理节点,便于系统的扩展和数据的荣誉和持久化。
- 存储的集群可以通过添加服务器完成横向的扩展。
- 如果集群中服务器或者磁盘出现失败的情况,OpenStack会复制数据到集群中的其他节点。
OpenStack Block Storage(Cinder)
- Cinder是OpenStck的块从存储服务。
- 为云环境提供块设备的创建、添加和卸载。
- Cinder目前支持多种块存储平台。
- 块设备使用于对性能要求较高的应用场景:比如数据库。
- 块设备的快照功能可以实现基于块存储卷的数据备份,而且也可以利用快照进行数据恢复。
NetWorkiing(Neutron)
- OpenStack的网络服务,现已由之前的Quantum改名为Neutron
- Neutron提供云计算环境下的虚拟网络功能,目的是为OpenStack云更灵活地划分物理网络,在多租户的环境下提供给每个租户独立的网络环境。
- 用户可以创建自己的网路,控制网络流量,也可以控制服务器和设备链接一到多个网络。
- Neutron的网络管理的三种模式:
-FlatDHCP模式。
-Flat模式
-VLAN模式
OpenStack的主要组件
Dashboard(Horizon)
- Dashboard为管理员提供了一个图形化的接口。
- 可以访问和管理基于云计算的资源:计算、存储、网络等。
- 提供了很高的可扩展性,支持添加第三方的自定义模块,比如:计费,监控和额外的管理工具。
Identity Service(Keystone)
- 提供了用户目录的集中式存储,便于其他Open Stack服务的访问。
- 可以和现有的目录服务(如LDAP)相结合,提供企业内部的单点目录的访问。
- 创建用户和租户, 并且以基于角色的方式限制用户和租户访问云计算中的计算、网络和存储等资源。
- 支持多种方式校验:
——标准的用户名和密码的校验
——基于令牌的认证
——基于证书的认证
Image Service(Glance)
- Glance是Open Stack的镜像服务,提供了磁盘和服务器虚拟镜像的查询、注册和传输的功能。
- Glance本身不存储镜像,它只是一个代理,充当镜像存储服务和其他OpenStack组件之间的纽带。
- 可以将磁盘和服务器镜像存储在OpenStack的后端服务上,比如对象存储系统上。
- 管理员可以利用镜像服务创建镜像模板,用户可以选择现有的镜像创建镜像服务器。
Telemetry Service(Ceilometer)
- 测量服务
- 可以收集云计算中不同服务的统计信息。
- 云操作人员可以查看所有资源的统计信息或者单个资源的统计信息。
- 像一个漏斗一样,能把OpenStack内部发生的几乎所有的时间都收集起来,然后为计费和监控以及其他服务提供数据支撑。
Orchestration Service(Heat)
- 部署编排服务。
- 提供了一种通过模板定义的协同部署方式。
- 模板驱动的引擎,允许应用开发人员使用提供的模板语言描述云环境的架构,并且以自动化的方式进行部署云计算资源。
- 通过和Telemetry Service结合,可以更好的实现云计算资源扩展的自动化。
Database Service(Trove)
- 为用户在OpenStaack的环境提供可扩展和可靠的关系型和非关系型数据库引擎服务。
- 主要用于帮助用户在复杂管理时进行资源的隔离,方便进行自动化的管理操作
- 用户可以根据自己的需要创建多个数据库。
。