作为 IaaS 层的云操作系统,OpenStack 为虚拟机提供并管理三大类资源:计算、网络和存储。 

这三个就是核心,所以学习重点就是搞清楚 OpenStack 是如何对计算、网络和存储资源进行管理的。


1、openstack的组件

    Nova:管理 VM 的生命周期,是 OpenStack 中最核心的服务。

    Neutron:为 OpenStack 提供网络连接服务,负责创建和管理L2、L3 网络,为 VM 提供虚拟网络和物理网络连接

    Glance:管理 VM 的启动镜像,Nova 创建 VM 时将使用 Glance 提供的镜像。

    Cinder:为 VM 提供块存储服务。Cinder 提供的每一个 Volume 在 VM 看来就是一块虚拟硬盘,一般用作数据盘。

    Swift:提供对象存储服务。VM 可以通过 RESTful API 存放对象数据。作为可选的方案,Glance 可以将镜像存放在 Swift 中;Cinder 也可以将 Volume 备份到 Swift 中。

    Keystone:为 OpenStack 的各种服务提供认证和权限管理服务。简单的说,OpenStack 上的每一个操作都必须通过 Keystone 的审核。

    Ceilometer:提供 OpenStac k监控和计量服务,为报警、统计或计费提供数据。

    Horizon:为 OpenStack 用户提供一个 Web 的自服务 Portal。


2、节点

OpenStack 是一个分布式系统,由若干不同功能的节点(Node)组成,从功能上进行的逻辑划分 可以分为以下几个节点:

    1)控制节点(Controller Node) 

        管理 OpenStack,其上运行的服务有 Keystone、Glance、Horizon 以及 Nova 和 Neutron 中管理相关的组件。 

        控制节点也运行支持 OpenStack 的服务,例如 SQL 数据库(通常是 MySQL)、消息队列(通常是 RabbitMQ)和网络时间服务 NTP。

    2)网络节点(Network Node) 

        其上运行的服务为 Neutron。 

        为 OpenStack 提供 L2 和 L3 网络。 包括虚拟机网络、DHCP、路由、NAT 等。

    3)存储节点(Storage Node) 

        提供块存储(Cinder)或对象存储(Swift)服务。  

    4)计算节点(Compute Node) 

        其上运行 Hypervisor(默认使用 KVM)。 

        同时运行 Neutron 服务的 agent,为虚拟机提供网络支持。