650) this.width=650; "Title=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160419-1461073994782018276.png "src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160419-1461073994782018276.png "alt=" Image135.5.png "style=" Border:0px;color:rgb (51,51,51 ); font-family: ' Microsoft Jas Black '; line-height:28px;white-space:pre; "/>
Compute Service Nova is the core of OpenStack services and is responsible for maintaining and managing computing resources in the cloud environment.
OpenStack is the cloud operating system for IaaS, and virtual machine lifecycle management is achieved through Nova.
650) this.width=650; "Title=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160419-1461074052420062067.png "src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160419-1461074052420062067.png "alt=" Image47.png "style=" border:0px; "/>
As you can see, Nova is at the center of the Openstak architecture and other components support Nova:
Glance provides an image for the VM
Cinder and Swift provide block storage and object storage for VMS, respectively
Neutron providing network connectivity to VMS
The Nova architecture is as follows
650) this.width=650; "Title=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160419-1461074078681029733.png "src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160419-1461074078681029733.png "alt=" Image136.png "style=" border:0px; "/>
The Nova architecture is more complex and contains many components.
These components run in the form of a child service (background Deamon process) and can be divided into the following categories:
API
Nova-api
Receives and responds to client API calls. In addition to providing OpenStack's own api,nova-api, the Amazon EC2 API is supported. That is, if customers have previously used Amazon EC2 and have developed tools with EC2 APIs to manage virtual machines, these tools can be migrated seamlessly to OpenStack if they are to be replaced with OpenStack now, because NOVA-API is compatible with EC2 APIs without any repair Change.
Compute Core
Nova-scheduler
Virtual machine Scheduling service, responsible for deciding on which compute node to run the virtual machine
Nova-compute
Manage virtual machine Core Services and implement VM lifecycle management by invoking the Hypervisor API
Hypervisor
Compute nodes run on the hypervisor, virtual machine to manage the bottom of the program. Different virtualization technologies provide their own Hypervisor. Common Hypervisor are kvm,xen, VMWare, etc.
Nova-conductor
Nova-compute often need to update the database, such as updating the state of the virtual machine. For security and scalability reasons, Nova-compute does not directly access the database, but instead delegates the task to Nova-conductor, which we'll discuss in more detail later.
Console Interface
Nova-console
Users can access the virtual machine's console in a variety of ways: Nova-novncproxy, a Web browser-based VNC access Nova-spicehtml5proxy, a SPICE access nova-xvpnvncproxy based on HTML5 browser, based on VNC Access for Java clients
Nova-consoleauth
Responsible for providing Token authentication to the Access virtual machine console
Nova-cert
Provide X509 certificate support
Database
Nova will have some data to store in the database, generally using MySQL. The database is installed on the control node. Nova uses a database named "Nova".
650) this.width=650; "Title=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160419-1461074293725058214.png "src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160419-1461074293725058214.png "alt=" Image137.png "style=" border:0px; "/>
Message Queue
Before we learned that Nova contains a multitude of sub-services that need to coordinate and communicate with each other. To decouple each sub-service, Nova passes the message Queue as the information broker for the sub-service. So in the framing we saw that there was no direct connection between the sub-services, and they all contacted through Message Queue.
650) this.width=650; "Title=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160419-1461074312658018704.png "src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160419-1461074312658018704.png "alt=" Image138.png "style=" border:0px; "/>
OpenStack defaults to using RabbitMQ as the Message Queue. MQ is the core base component of OpenStack, which we'll cover in detail later.
In the next section we discuss how these Nova components work in harmony.
650) this.width=650; "title=" "src=" http://7xo6kd.com1.z0.glb.clouddn.com/ Upload-ueditor-image-20160419-1461073763374001150.jpg "style=" Border:0px;vertical-align:middle;color:rgb ( 63,63,63); font-family: ' Microsoft Yahei '; Font-size:15px;line-height:21.75px;text-align:justify;background-color: RGB (246,246,246); "/>
Understanding the Nova architecture-5 minutes a day to play OpenStack (23)