Rate This Document
Findability
Accuracy
Completeness
Readability

Architecture

The OpenStack+KVM solution applies to public cloud and private cloud scenarios.

OpenStack is an open-source project based on a community. It provides an operation platform and tool set for cloud deployment. It aims to help organizations run clouds that provide virtual computing or storage services and provide scalable and flexible cloud computing for public and private clouds.

OpenStack includes the following open-source components: Nova, Cinder, Neutron, Glance, Swift, Placement, Keystone, Horizon, Heat, and Ceilometer.

Figure 1 shows the OpenStack system architecture.

Figure 1 OpenStack component architecture
Table 1 Nodes in the OpenStack cloud scenario

Name

Description

Nova

Nova is the core component of OpenStack and manages VM computing resources including the CPU and memory resources. When a VM creation request is received, Nova filters computing resources based on the computing resource requirements in the request, selects the resources that can be used to create VMs, sorts the resources based on a certain policy, and selects certain computing resources for VM creation.

Cinder

Cinder provides block storage resources for VMs. The OS operates drives by block. The OS divides a drive into blocks (clusters) to read and write the drive. Cinder uses drivers to manage, read, and write the physical storage media, and provides unified iSCSI storage (unified drive volumes) for VMs. VMs mount the unified drive volumes provided by Cinder.

Neutron

Neutron provides network resources for VMs. To implement communication and isolation between VMs and the external network, information such as IP addresses, routes, and VLANs need to be configured so that a grouped packet data forwarding channel that supports isolation, switching, and routing is set up on the network. Neutron configures interfaces, VLANs, and routes on hosts, switches, and routers to support VM data forwarding according to VM requirements.

Glance

Glance manages VM images and allows users to query, register, upload, obtain, and delete VMs.

Swift

Swift is an object storage component of OpenStack. It can interconnect with Ceph to provide object storage for OpenStack.

Horizon

Horizon provides a WebUI for almost all components. OpenStack components support only CLI commands. Horizon provides the graphical encapsulation function.

Keystone

Keystone provides the authentication function. In OpenStack, Keystone authenticates all operations of components that require authentication.

Ceilometer

Ceilometer provides resource metering and monitoring services.

Heat

Heat provides the service orchestration function.