OpenStack Cloud Computing Quick Start Tutorial (1) OpenStack and its composition introduction _openstack

Source: Internet
Author: User

This tutorial is based on the Ubuntu12.04 edition, and it will help readers build a openstack minimized installation. I am the top of the Wuyue, translation more use of transliteration method, so the individual words and the original discrepancy, please understand. I am not a major in English, I think the most important thing is to understand the technology, and not the four level and grind in the boring English-Chinese translation, so my goal is loyal to the original intention, popular expression, over. In the English text here (http://docs.openstack.org/es@***/openstack-compute/starter/content/, please remove the ex@*** in the @, Cu Shield f), the following step:

The first part OpenStack and its composition introduction

First, cloud computing

Cloud computing is a computing model that abstracts resources such as computing power, storage, networking, and software into services that allow users to access the Internet remotely, paying in the same way as traditional public service facilities. The need to provide convenience, dynamic change and unlimited virtualization scalability are several important features of cloud computing.
Different "clouds" correspond to different infrastructures. Here are three broad "clouds":

Infrastructure as service (IaaS)

Platform as service (PaaS)

Software as a service (SaaS)

Translator Note: Open for the meaning of opening, stack is piling up, OpenStack together as its name, is a lot of open softwares accumulation of the collection, but 1 + 1 > 2, the system's function is more powerful.

Second, OpenStack

(i) Summary of OpenStack

OpenStack is a comprehensive suite of open source software projects that allows businesses or service providers to build, run their own cloud computing and storage facilities. Rackspace and NASA are the first two contributors to the "cloud file" platform code, which enhances the functionality of the OpenStack Object Storage section, which brings the "Nebula" platform to form the rest of OpenStack. Today, the OpenStack Foundation has more than 150 members, including many well-known companies such as "Canonical, DELL, Citrix" and so on.

The following are important components of the 5 OpenStack:

Nova-Computing Services
Swift-Storage Services
Glance-Mirroring Service
Keystone-Certification Services
Horizon-ui Service

Figure 1 OpenStack Basic architecture

The following illustration shows the interaction of Keystone, dashboard, and other OpenStack parts.

(ii) OpenStack computing facility----Nova

Nova is an elastic controller for OpenStack calculations. The various actions required by the OpenStack Cloud instance lifecycle will be processed and supported by the Nova, which means Nova is on the management platform, responsible for managing the entire cloud's computing resources, network, authorization, and measurement. Although Nova itself does not provide any virtual capabilities, it will use the Libvirt API to interact with the host of the virtual machine. Nova provides processing interfaces through the Web Services APIs, and these interfaces are compatible with Amazon's Web service interface.

function and characteristics

Instance Life Cycle Management
Computing Resource Management
Network and authorization management
Rest-based APIs
Asynchronous continuous communication
Supports a variety of hosts: Xen, XENSERVER/XCP, KVM, UML, VMware vsphere, and Hyper-V

OpenStack Calculation Parts

The Nova Elastic cloud contains the following major sections:

API Server (NOVA-API)
Message Queuing (RABBIT-MQ server)
Operational workstation (Nova-compute)
Network Controller (Nova-network)
Volume Management (nova-volume)
Scheduler (Nova-scheduler)

API Server (NOVA-API)

The API server provides the interface between cloud facilities and the outside world, which is the only channel for the management of cloud implementation by the outside users. By using Web services to invoke various EC2 APIs, the API server then uses Message Queuing to deliver requests to the cloud's target facility for processing. As an alternative to EC2-API, users can also use OpenStack's native API, which we call "OpenStack API".

Message Queuing (Rabbit MQ Server)

OpenStack internally communicates using Message Queuing based on the AMQP (Advanced Message Queuing protocol). The Nova invokes the request response asynchronously, triggering a callback immediately after the request is received. Because of the use of asynchronous communication, no user's actions are long placed in a wait state. For example, the process of starting an instance or uploading a mirror is time-consuming, and API calls will wait for return results without affecting other operations, where asynchronous communication plays a significant role in making the entire system more efficient.

Operational workstation (Nova-compute)

The primary task of an operational workstation is to manage the entire lifecycle of an instance. They receive requests and execute them through Message Queuing to perform various operations on the instance. In the typical actual production environment, many computing workstations will be erected, according to the scheduling algorithm, an instance can be deployed on any one of the operational workstations available.

Network Controller (Nova-network)

The network controller handles the network configuration of the host, such as IP address assignment, configuring the Project VLAN, setting up security groups, and configuring the Network for compute nodes.

Volume Workstation (nova-volume)

The volume workstation manages an LVM-based instance volume that can create, delete, attach, or detach volumes from an instance. Why is volume management so important? Because it provides a means of keeping instances stored continuously, such as when the root partition is not persisted after an instance is terminated, any changes to it are lost. However, if you detach a volume from an instance, or if you attach a roll to the instance, the data is saved even if the instance is closed. This data can be accessed again by attaching the volume to the original instance or to another instance.

Therefore, important data must be written to the volume for future access. This application is particularly important for storage of data server instances.

Scheduler (Nova-scheduler)

The scheduler is responsible for delivering the NOVA-API call to the target. The scheduler runs in the form of a daemon named "Nova-schedule" and chooses the operational server appropriately from the pool of available resources according to the scheduling algorithm. There are many factors that can affect the scheduling results, such as load, memory, child node proximity, CPU architecture, and so on. The powerful is that the Nova Scheduler uses a pluggable architecture.

Currently, the Nova Scheduler uses several basic scheduling algorithms:

Randomization: Host randomly selects available nodes;

Usability: Similar to random, only randomly selected range is specified;

Simplicity: In this way, the host chooses the least load to run the instance. Load data can be obtained from elsewhere, such as load-balancing servers.

(iii) OpenStack MIRROR server----glance

The OpenStack mirror server is a set of virtual machine mirroring discovery, registration, and retrieval systems where we can store mirrors in any of the following storage:

Local file system (default)

OpenStack Object Storage
S3 Direct Storage
S3 Object Storage (as an intermediate channel for S3 access)
HTTP (Read only)

function and characteristics

Provide mirroring related services

Glance component

Glance Controller

Glance Registration Device

(iv) OpenStack storage facilities----Swift

Swift provides OpenStack with a distributed, persistent virtual object store that resembles the S3 simple storage service of the Amazon Web service. Swift has the ability to store Bai Pe objects across nodes. Swift's built-in redundancy and fail-aid management can also handle archiving and media streams, especially for large data (gigabytes) and large-capacity (multiple-object) measurements.

function and characteristics

Mass Object Storage
Large file (object) storage
Data redundancy Management
Archiving capacity-----processing large data sets
Provides data containers for virtual machines and cloud applications
Handling Streaming Media
Object Safe Storage
Backup and Archive
Good scalability

Swift components

Swift Account
Swift Container
Swift objects
Swift Agent
Swift Ring

Swift Proxy Server

The user interacts with the proxy server through SWIFT-API, the proxy server is the doorman that receives the outside request, it detects the legitimate entity location and routes their request.

In addition, a failover entity repeats a routing request when the proxy server also handles entity failure and transfer.

Swift Object Server

Object Server is a binary
Storage, which handles the storage, retrieval, and deletion of object data in local storage. Objects are typical binaries stored in file systems, with metadata for extended file attributes (xattr).
Note: The XATTR format is supported by EXT3/4,XFS,BTRFS,JFS and ReiserFS in Linux, but there are no effective tests to prove that it works well under XFS,JFS,REISERFS,REISER4 and ZFS as well. However, XFS is considered the best option at the moment.

Swift Container Server

The container server lists all the objects in a container, and the default object list is stored as a SQLite file (translator Note: It can also be modified to MySQL, in the case of MySQL installation). The container server also counts the number of objects contained in the container and the storage space consumed by the container.

Swift Account Server

The account server, like the container server, lists the objects in the container.

Ring (Index Loop)

The ring container records the location information of the physical storage object in Swift, which is the virtual mapping of the entity name of the real physical storage location, similar to the Indexing Service for locating and locating the actual physical location of the entities of different clusters. The so-called entities here refer to accounts, containers, and objects, all of which have their own different rings.

(v) OpenStack certification services (Keystone)

Keystone provides authentication and access policy services for all OpenStack components, relies on its own rest (identity API) system to work, primarily (but not limited to) the authentication and authorization of Swift, Glance, Nova, etc. In fact, authorization is authenticated by the legality of the request of the action message source. As shown in the following illustration:


Keystone uses two authorization methods, one based on username/password and the other based on token (Token). In addition, Keystone offers the following three types of services:

Token Service: Contains authorization information for authorized users

Directory service: List of available services that contain user-legitimate actions

Policy services: Use Keystone to specify certain access rights for a user or group

Authentication Service Components

Service Portal: Like Nova, swift and glance each OpenStack service has a specified port and a unique URL, which we call the portal (endpoints).

Location: In a data center, a location specifically specifies a physical location. In a typical cloud architecture, if not all services have access to distributed data centers or servers, they are also called locations.

User: Keystone Authorized Consumer

Translator Note: On behalf of an individual, openstack in the form of a user to authorize the service to them. The user owns the certificate (credentials) and may be assigned to one or more tenants. After verification, a specific token is provided for each individual tenant. [Source: http://www.jb51.net/article/96989.htm]

Services: In general, any component that is connected or managed through Keystone is called a service. For example, we can call glance a Keystone service.

Role: In order to maintain security restrictions, the roles associated with a particular user in the cloud are important for the user to perform the action.

A role is a collection of usage rights applied to a tenant to allow a specified user to access or use a specific action. A role is a logical grouping of permissions that allows common permissions to be simply grouped and bound to users associated with a given tenant.

Rent room: An item that has a full service entry and is assigned to a specific member role.

Translator Note: A rental room maps to a Nova "Project-id", in object storage, a lease can have multiple containers. Depending on the installation method, a rental room can represent a customer, account number, organization, or project.

(vi) OpenStack-managed web interface----Horizon

Horizon is a Web control panel for managing and controlling OpenStack services, which manages instances, mirrors, creates key pairs, adds volumes to instances, operates swift containers, and so on. In addition, users can use either terminal (console) or VNC to access the instance directly in the Control Panel. In short, Horizon has the following characteristics:

Instance management: Creating, terminating instances, viewing terminal logs, VNC connections, adding volumes, etc.

Access and security management: Create security groups, manage key pairs, set up floating IP, etc.
Preferences: Different preferences for virtual hardware templates can be set
Mirroring management: Editing or removing mirrors
View Service Directory
Manage users, quotas and project uses
User management: Creating users, etc.
Volume management: Creating volumes and snapshots
Object storage Processing: creating, deleting containers and objects
Downloading environment variables for a project

The above is a small set to introduce the OpenStack Cloud Computing QuickStart Tutorial (1) OpenStack and its composition of the introduction, I hope to help you, if you have any questions please give me a message, small series will promptly reply to everyone. Here also thank you very much for the cloud Habitat Community website support!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.