天天看點

五、OpenStack安裝Nova

計算服務

計算服務是雲算機控制器,它是IaaS系統的主要部分,用它來承載和管理雲計算系統,主子產品是用python來實作的,與keystone驗證,對于圖像服務以及dashboard和管理接口,擷取鏡像是通過項目和使用者配額限制,如執行個體數量,

元件:

API

Nova-api請求和回複一個使用者計算的API,支援openstack 計算API,Amazon EC2 api和Admin Api對特權使用者執行管理操作,另外啟動最新的任務,如運作一個執行個體,安裝一個虛拟機

Nova-api-metadata 接受來自執行個體的中繼資料請求

Comput core

Nova-comput 程序,一個守護程序,通過虛拟機管理程式的API建立和終止虛拟機執行個體,如xenapi for xenserver/xcp libvirt适用于kvm 或qemu vmwareapi 适用于vmware

Nova-scheduler 程序,排程,從消息隊列中取一個虛拟機執行個體的請求,并執行在其虛拟主機上。

Nova-conductor 模式,介于nova-computer和database之間,設計目的在于消除直接nova-computer直接通路雲資料庫。

Networking for VMs

Nova-network 工作守護程序,類nova-computer它接受消息隊列中的任務閉幕式執行,如設立橋接接口或者更改iptables規則,

Nova-dhcpbridge 腳本,跟蹤IP位址租約,并通過使用dnsmasq的DHCP腳本記錄在資料庫中。

Console interface

Noca-consoleauth 守護程序,由使用者的console控制台代理提供授權tokens,兩種模式nova-novncproxy和nova-xvpnvcproxy

nova-novncproxy 守護程序,提供了VNC連接配接通路正在運作的執行個體的代表,基于novnc客戶浏覽器

Nova-console 已經棄用,被 nova-xvpnvncproxy取代

nova-xvpnvncproxy 守護程序,通過vnc連接配接通路正在運作的執行個體代理,支援專門設計的Openstack的java用戶端

Nova-cert 守護程序,管理x509證書

Image management

nova-objectstore 提供了一個用于注冊S3接口的鏡像服務,主要必須支援euca2ools安裝,nova-objectstore轉換S3請求鏡像服務的請求

Euca2ools 用戶端,一組指令解釋器來管理雲資源,可以配置nova-api來支援EC2接口。

Command-line clients and other interfaces

Nova 用戶端 使使用者、租客管理者送出指令

Nova-manage 用戶端,使雲管理者送出指令

Other components

The queue 消息隊列 rabbitmq,apache qpid zeromq

Sql database 資料庫mysql,sqlite,PostgreSQL

邏輯圖:

<a href="http://s3.51cto.com/wyfs02/M02/00/04/wKioL1LGdVjz5lMHAABydgb4nlI238.jpg" target="_blank"></a>

安裝

可以配置在一個節點或多個節點。

1、安裝包

# apt-get install nova-novncproxy novnc nova-api   nova-ajax-console-proxy nova-cert nova-conductor   nova-consoleauth nova-doc nova-scheduler   python-novaclient

2、配置連接配接資料庫/etc/nova/nova.conf和注冊keystone服務

[database]

connection = mysql://nova:stack@controller/nova

[keystone_authtoken]

auth_host = controller

auth_port = 35357

auth_protocol = http

admin_tenant_name = service

admin_user = nova

admin_password = stack

<a href="http://s3.51cto.com/wyfs02/M01/00/04/wKiom1LGdW6BWK-fAAA0qru62mA288.jpg" target="_blank"></a>

3、配置使用消息隊列rabbitmq

rpc_backend = nova.rpc.impl_kombu

rabbit_host = controller

rabbit_password = rabbit

<a href="http://s3.51cto.com/wyfs02/M00/00/04/wKioL1LGdWqSb0JnAAAWQEOva0s728.jpg" target="_blank"></a>

4、删除預設資料庫

# rm /var/lib/nova/nova.sqlite

5、建立資料庫以及授權通路

mysql&gt; create database nova;

mysql&gt; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'stack';

mysql&gt; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'controller' IDENTIFIED BY 'stack';

<a href="http://s3.51cto.com/wyfs02/M02/00/04/wKiom1LGdYDjM4xoAABUWnyWUN8569.jpg" target="_blank"></a>

6、同步計算服務資料表

# nova-manage db sync

<a href="http://s3.51cto.com/wyfs02/M01/00/04/wKioL1LGdXzxDoB5AAFf1cCPXyE980.jpg" target="_blank"></a>

檢視資料庫的表

<a href="http://s3.51cto.com/wyfs02/M00/00/04/wKiom1LGdbXD_aSiAABrIeqcVqs255.jpg" target="_blank"></a>

7、設制自己的IP以及其它VNC監控的項

<a href="http://s3.51cto.com/wyfs02/M02/00/04/wKioL1LGdbTxfV5VAAAgj7d549o478.jpg" target="_blank"></a>

8、在keystone中注冊nova

# keystone user-role-add --user=nova --tenant=service --role=admin

<a href="http://s3.51cto.com/wyfs02/M01/00/04/wKiom1LGdcugdIR9AABbDt6KMZg620.jpg" target="_blank"></a>

9、配置使用keystone驗證以及更改nova_pass密碼 [DEFAULT]項裡

auth_strategy=keystone

<a href="http://s3.51cto.com/wyfs02/M00/00/04/wKioL1LGdcjTomj_AAAIpKJ6E40332.jpg" target="_blank"></a>

10、添加認證方式和密碼等檔案/etc/nova/api-paste.ini

[filter:authtoken]

paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory

<a href="http://s3.51cto.com/wyfs02/M02/00/04/wKiom1LGdd2xDoetAAArnw5jNGY575.jpg" target="_blank"></a>

注意:在nova.conf檔案裡有這個檔案的指向:

<a href="http://s3.51cto.com/wyfs02/M01/00/04/wKioL1LGddiwrOnUAAAm5vpiBUg168.jpg" target="_blank"></a>

11、注冊keystone服務讓其它服務找到他,并且建立終端。

# keystone service-create --name=nova --type=compute --description="Nova Compute service"

<a href="http://s3.51cto.com/wyfs02/M00/00/04/wKiom1LGde6To3x4AABVN8ILXB8491.jpg" target="_blank"></a>

使用剛才的ID建立終端,

keystone endpoint-create \

&gt;   --service-id=2c4823bba2a0455ab1f45ab956cd830a \

&gt;   --publicurl=http://controller:8774/v2/%\(tenant_id\)s \

&gt;   --internalurl=http://controller:8774/v2/%\(tenant_id\)s \

&gt;   --adminurl=http://controller:8774/v2/%\(tenant_id\)s

<a href="http://s3.51cto.com/wyfs02/M01/00/04/wKiom1LGdfew8q4_AAEE-uBMLww358.jpg" target="_blank"></a>

12、重新開機計算服務

# service nova-api restart

# service nova-cert restart

# service nova-consoleauth restart

# service nova-scheduler restart

# service nova-conductor restart

# service nova-novncproxy restart

<a href="http://s3.51cto.com/wyfs02/M01/00/04/wKiom1LGdgHBfyXvAADlWIo28Oc459.jpg" target="_blank"></a>

13、列出計算可用的鏡像

<a href="http://s3.51cto.com/wyfs02/M01/00/04/wKiom1LGdgqxwLEtAABcNG2m8Ug494.jpg" target="_blank"></a>

本文轉自 煮酒品茶 51CTO部落格,原文連結:http://blog.51cto.com/cwtea/1348218,如需轉載請自行聯系原作者