---
title: 架构
description: "OpenStack+KVM解决方案用于公有云和私有云场景。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/twp/kunpengcpfs_19_0009.html
sourcePath: /source/zh/kunpengcpfs/twp/kunpengcpfs_19_0009.html
indexId: 7e21af81aa0892fdf0e9f9ae7881849e9c24a2cf04a91d8003c88b8283de294b51
---
# 架构

OpenStack+KVM解决方案用于公有云和私有云场景。

OpenStack既是一个社区，也是一个项目和一个开源软件，它提供了一个部署云的操作平台或工具集。其宗旨在于帮助组织运行为虚拟计算或存储服务的云，并为公有云和私有云提供可扩展的、灵活的云计算。

OpenStack包含主要开源组件包括Nova、Cinder、Neutron、Glance、Swift、Placement、Keystone、Horizon、Heat、Ceilometer。

OpenStack详细的系统架构如图1。

图1 OpenStack组件系统架构


**表1 OpenStack云场景各类节点说明**

| 名称 | 说明 |
| --- | --- |
| Nova | Nova是OpenStack的最核心组件，负责为虚拟机管理计算资源。包括CPU和内存。当接到虚拟机创建请求时，Nova根据请求中携带的计算资源需求对计算资源进行过滤，选出可用来创建虚拟机的资源，再根据一定的策略进行排序，选定某些计算资源创建虚拟机。 |
| Cinder | Cinder负责为虚拟机提供块存储（Block Storage）资源。所谓的“块”，就是我们通常操作系统对待硬盘的状态。操作系统将磁盘划分多个块（簇），来对硬盘进行读写。Cinder向下对物理存储介质使用相对应的驱动（Driver）来完成硬盘的管理和读写，对VM提供统一的iSCSI存储，即统一的磁盘卷，虚拟机将Cinder统一之后的磁盘卷进行挂载使用。 |
| Neutron | Neutron负责虚拟机的网络资源。虚拟机与外部网络互通以及隔离，需要配置IP地址、路由、VLAN等信息，即在网络上搭建一个可隔离、可交换/路由的分组数据包转发通路。Neutron根据虚拟机的需求，在相应的主机、交换机和路由器上完成支撑虚拟机转发通路的接口、VLAN、路由等配置，支撑虚拟机的数据转发。 |
| Glance | Glance提供对虚拟机镜像的管理，包括虚拟机的查询、注册、上传、获取以及删除功能。 |
| Swift | Swift是OpenStack的对象存储组件，支持和Ceph对象存储对接，实现OpenStack使用对象存储。 |
| Horizon | Horizon为几乎所有组件提供基于Web的操作界面，方便操作。OpenStack各组件只提供命令行的交互方式，Horizon提供了图形化封装的功能。 |
| Keystone | Keystone提供鉴权功能。OpenStack中所有需要鉴权才能继续的操作，各组件首先要与Keystone组件进行交互，进行鉴权和认证。 |
| Ceilometer | Ceilometer提供资源的计量和监测服务。 |
| Heat | Heat提供业务编排功能。 |
