Openstack compute (NOVA) Function Analysis

Source: Internet
Author: User
Tags postgres database

Openstack compute (NOVA) Function Analysis

 

Openstack compute provides a cloud tool for an organization. Its functions include running Virtual Machine instances,
Manage networks and control cloud access through users and projects. The most basic open-source project of openstack is named Nova. It provides software that can control the infrastructure as a service (IAAS) cloud computing platform, and Amazon
EC2 and rackspace ECs are similar to each other to a certain extent. Openstack compute
Without any virtualization software, instead, it defines a driver that interacts with the virtualization mechanism running on the host operating system and uses Web-based application interfaces (APIS) to provide functions.

Function Analysis of the components and functions of compute

Openstack compute is composed of several major components.

Cloud Controller)It contains many components, such as the API server (NOVA-API), the computing server (NOVA-compute), the network controller (NOVA-Network), and The scheduler (NOVA-schedule ), volume controller (NOVA-volume), Message Queue (Queue), and dashboard.

The API server acts as the Web Service frontend for the Cloud Controller. The core of this cloud framework is the API server. The API server commands and controls hypervisor, and stores and networks, allowing users to implement cloud computing. An API endpoint is a basic HTTP web service. It provides authentication, authorization, and basic command and control functions by using multiple API interfaces (Amazon, rackspace, and related models, enhanced compatibility between APIs and existing resource pools of multiple vendors.

The compute Controller provides computing server resources, including computing services. The compute controller controls the computing instances running on the host machine. You can use APIs to distribute commands to the compute controller and perform the following operations:

· Running instances

· End an instance

· Restart an instance

· Contact volume

· Volume disconnection

· Obtain console output

· The object store component provides storage services selectively.

· The authorization manager provides authentication and authorization services.

· Volume controller provides fast and persistent block-level storage for the compute server. The volume worker processor interacts with the iSCSI storage to manage LVM-based instance volumes. The following operations can be performed:

· Create a volume

· Delete a volume

· Create a computing volume

Volumes can be transferred between instances, but only one instance can be connected at a time.

Network Controller)Provides a virtual network for the compute server to interact with other compute servers and the Internet.

The network controller manages network resources on the host. The API server uses Message Queue distribution commands. These commands will be processed by the network controller. Specific operations include:

• Assign a fixed IP Address

• Configure VLAN for the project

• Configure networks for computing nodes

So far, Nova only supports the Linux bridge network so that virtual interfaces can be linked to external networks through physical interfaces. The network controller provides a virtual network for computing servers to interact with each other and with the public network.

Nova supports three types of networks and implements three corresponding "Network Management" types:

• Flat Network Management Mode

• Flat DHCP Network Management Mode

• VLAN Network Management Mode

These three types of network management modes can coexist in one cloud system. However, if you do not select a network management type for a given project, you cannot configure more than one network mode in a given compute installation.

Nova has the concept of fixed IP address and floating IP address. The fixed IP address is distributed to the created instance, and the instance holds the fixed IP address until the instance is stopped explicitly. Floating IP addresses are IP addresses that can be dynamically connected to instances. These addresses can be disconnected at any time or connected to another instance. Users can reserve a floating IP address for their projects.

• Flat mode

The Network Administrator specifies a subnet. The IP addresses assigned to the Virtual Machine instances are obtained from the subnet, and then the virtual machine image is injected when the virtual machine starts. Each instance receives a fixed IP address from the valid address pool. The network administrator must configure the Linux bridge (br100), including the network controller with the network and the Cloud Controller with the instance. All system instances are related to the same bridge. The network administrator must manually configure the connection relationship. Note: currently, configuration injection can only work properly on Linux operating systems. The network configuration is saved in the/etc/Network/interfaces path.

• Flat DHCP Mode

Start a DHCP server and pass the IP address obtained from a specified subnet to the VM instance. In addition, the network administrator must manually configure the bridge. The IP address assigned to the VM instance is obtained from the subnet specified by the network administrator. Like the flat mode, all instances are related to a bridge on the computing node. In addition, a DHCP server is required to configure the instance. In this mode, compute makes more configurations and tries to build a bridge with an Ethernet device (eth0 by default. Compute also runs dusmasq as the DHCP server to listen to the bridge. The instance then performs a dhcpdiscover operation to receive their fixed IP addresses.

In two flat modes, the network node does not assume the role of the default gateway. All instances are assigned public IP addresses. The compute node holds the iptables/ebtalbes entity created for each project and instance to prevent IP/MAC Address Spoofing or ARP spoofing.

• VLAN Network Mode

The default mode of openstack compute. In this mode, compute creates VLANs and bridges for each project. To install multiple machines, a VLAN label (IEEE
802.1Q. Each project obtains private IP addresses that can only be accessed from the VLAN. To obtain the project instance, you need to create a special VPN instance (the code is cloudpipe ). Compute generates a certificate and key for the user so that the user can access the VPN, and compute automatically starts the VPN. It provides a private network segment for all instances in each project, which can be accessed through the Internet VPN. In this mode, each project obtains its own VLAN, Linux bridge, and subnet. The subnet specified by the network administrator will be dynamically allocated to a project as needed. The DHCP server is started for all VLANs. It obtains the IP address from the subnet allocated to the project and transmits the IP address to the Virtual Machine instance. All instances belonging to a project are connected to the same VLAN. Openstack
When necessary, compute creates Linux bridges and VLANs.

The scheduler selects the most suitable compute controller to place an instance for load balancing.

Message Mechanism openstack compute
Is based on the messaging-based architecture. Run all the main components on multiple servers, including compute
Controller, volume controller, network controller, and object storage service. The Cloud Controller communicates with the internal Object Storage Service through the HTTP protocol. However, cloud controllers and schedulers, network controllers, and volume controllers use the amqp protocol (Advanced
Message Queue Protocol), that is, Advanced Message Queue Protocol for communication. To avoid blocking each component while waiting for a response, openstack compute uses an asynchronous call that triggers a callback when the response is received. Openstack
Compute saves the status of the entire cloud system on distributed data storage. System updates are written into the storage. If necessary, atomic transactions are used for this operation. Status requests are read from the storage. In a limited example, the read results are cached in the controller within a short period of time.

A typical message passing event starts when the API Server accepts requests from users. This API server authorizes this user to ensure that the user is allowed to initiate related commands. The validity of the objects involved in the request is evaluated. If the evaluation is effective, the request is routed to the message engine for the relevant working processor. The working processor listens to this queue based on their respective roles or host names. When the listener generates a work request, the worker receives the task and starts to execute it. After completion, the response is distributed to the queue. The queue is received and forwarded to the user who initiates the request by the API server. During the entire process, database entities will be queried, added, or eliminated as required.

Web-based console dashboard

Install openstack compute with openstack dashboard and Django-Nova
The project provides a web-based console that can use the dashboard interface. Django provides and openstack
The Compute Cloud Controller is webpage-based interaction. To create a more robust and ready-for-production installation, you need to use the Apache web server and MySQL/Postgres database for configuration.

Supports hot migration of virtual machines

Supports cluster installation (using puppet)

The method for automatic cluster installation using puppet is tested in the following configuration:

• Install the NOVA-compute component on multiple servers

• Operating System: ubuntu10.04 or ubuntu10.10

• Multi-network mode (VLAN mode and flat mode)

EC2 APIs supported

EC2 APIs provide customer migration, allowing users to continue using familiar EC2 APIs to manage their solutions until they learn to use local high-performance openstack APIs.

 

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.