計算服務
計算服務是雲算機控制器,它是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> create database nova;
mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'stack';
mysql> 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 \
> --service-id=2c4823bba2a0455ab1f45ab956cd830a \
> --publicurl=http://controller:8774/v2/%\(tenant_id\)s \
> --internalurl=http://controller:8774/v2/%\(tenant_id\)s \
> --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,如需轉載請自行聯系原作者