OpenStack juno版 安裝配置——第五章(Nova)

第五章——安裝和配置計算服務Nova

基礎知識:

  • Nova簡介

Nova是OpenStack中的計算模塊,是三大核心組件中最重要的一個模塊,負責雲計算環境中虛擬機的管理。

  • 在Nova內部為Nova內部進程提供各種服務小型組件

1.虛擬機管理:

  • nova-api:為Nova模塊提供了Restful API

  • nova-compute:虛擬機管理模塊

  • nova-scheduler:調度模塊,主要是選擇合適的主機來創建虛擬機

2.虛擬機VNC日誌管理:

  • nova-novncproxy:NoVNC代理服務

  • nova-consoleauth:虛擬機開機日誌服務

  • nova-xvpnvncproxy:xvpnvnc代理服務

3.資料庫管理:

  • nova-conductor:資料庫操作服務

4.安全管理:

  • nova-consoleauth:VNC及日誌安全認證服務

  • nova-cert:產生證書

Nova內部各組件的通信依賴於消息通信服務,這樣做的好處是部署靈活、代碼耦合低,添加小服務簡單且可擴展性強。缺點就是RabbitMQ的失效會導致Nova服務不可用。如圖(a)所示。

5.1控制節點上安裝和配置Nova

注意:以下操作均在控制節點

1.創建資料庫

1)登錄mysql

相關命令:

  1. mysql-u root -p

2)創建nova資料庫

相關命令:

  1. CREATEDATABASE nova;

3)授權

相關命令:

  1. GRANTALL PRIVILEGES ON nova.* TO nova@localhost

  2. IDENTIFIED BY NOVA_DBPASS;

  3. GRANTALL PRIVILEGES ON nova.* TO nova@%

  4. IDENTIFIED BY NOVA_DBPASS;

4)退出mysql

相關命令:

  1. exit

2.生效環境變數

相關命令:

  1. sourceadmin-openrc.sh

3.創建服務認證

1)創建一個nova用戶

相關命令:

  1. keystoneuser-create --name nova --pass NOVA_PASS

2)給nova用戶授予admin角色

相關命令:

  1. keystoneuser-role-add --user nova --tenant service --role admin

3)創建nova服務實例

相關命令:

  1. keystoneservice-create --name nova --type compute

  2. --description "OpenStack Compute"

4.創建nova服務API endpoints

相關命令:

keystone endpoint-create --service-id $(keystone service-list | awk / compute / {print $2}) --publicurl http://controller:8774/v2/%(tenant_id)s --internalurl http://controller:8774/v2/%(tenant_id)s --adminurl http://controller:8774/v2/%(tenant_id)s --region regionOne

5. 安裝配置計算控制組件

相關命令:

  1. apt-getinstall nova-api nova-cert nova-conductor nova-consoleauth

  2. nova-novncproxy nova-schedulerpython-novaclient

6.編輯文件nova.conf(注意:文件里東西參數不全就自己添加

相關命令:

  1. gedit /etc/nova/nova.conf

1)在[database]部分,配置資料庫連接

[database]

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

2)在[DEFAULT]部分,配置RabbitMQ消息代理訪問

[DEFAULT]

rpc_backend= rabbit

rabbit_host= controller

rabbit_password= RABBIT_PASS

3) 在[DEFAULT]和[keystone_authtoken]部分,配置認證訪問

[DEFAULT]auth_strategy = keystone[keystone_authtoken]auth_uri = http://controller:5000/v2.0identity_uri = http://controller:35357admin_tenant_name = serviceadmin_user = novaadmin_password = NOVA_PASS

4)在 [DEFAULT]部分,配置控制節點,管理網路的ip地址my_ip 選項

[DEFAULT]

my_ip= 10.0.0.11

5)在 [DEFAULT] 部分,配置VNC 代理,使用控制節點管理網路ip地址

[DEFAULT]

vncserver_listen= $my_ip

vncserver_proxyclient_address= $my_ip

6)在[glance]部分,配置image服務

[glance]

host= controller

7)為排除故障,在[DEFAULT]部分,啟用詳細日誌

[DEFAULT]

verbose= True

7. 同步資料庫

相關命令:

  1. su-s /bin/sh -c "nova-manage db sync" nova

8. 重啟計算服務

相關命令:

  1. servicenova-api restart

  2. servicenova-cert restart

  3. servicenova-consoleauth restart

  4. servicenova-scheduler restart

  5. servicenova-conductor restart

  6. servicenova-novncproxy restart

9.如果存在SQLite 資料庫,則刪除

相關命令:

  1. rm-f /var/lib/nova/nova.sqlite

5.2、計算節點上安裝和配置Nova

注意:以下操作均在計算節點

1.安裝計算組件

相關命令:

  1. apt-getinstall nova-compute sysfsutils

2.編輯文件nova.conf

相關命令:

  1. gedit /etc/nova/nova.conf

1)在[DEFAULT]部分,配置RabbitMQ 消息代理訪問

[DEFAULT]

rpc_backend= rabbit

rabbit_host= controller

rabbit_password= RABBIT_PASS

2)在 [DEFAULT] 和[keystone_authtoken] 部分,配置認證服務訪問

[DEFAULT]auth_strategy = keystone[keystone_authtoken]auth_uri = http://controller:5000/v2.0identity_uri = http://controller:35357admin_tenant_name = serviceadmin_user = novaadmin_password = NOVA_PASS

3)在 [DEFAULT]部分配置,配置計算節點管理網路ip地址,my_ip 選項

[DEFAULT]

my_ip= 10.0.0.31

4)在 [DEFAULT]部分,啟用配置遠程訪問

[DEFAULT]vnc_enabled = Truevncserver_listen = 0.0.0.0vncserver_proxyclient_address = $my_ipnovncproxy_base_url = http://controller:6080/vnc_auto.html

注意: 這個服務組件偵聽所有IP地址,代理組件僅監聽計算節點管理網路ip地址。novncproxy_base_url表示的是你可以通過瀏覽器遠程訪問計算節點產生的實例控制台【也就是我們自己啟動的虛擬機】,如果controller伺服器超時,就novncproxy_base_url中更改controller為對應ip。

5)在 [glance]部分,配置Image 服務的host

[glance]

host= controller

6)為排除故障,在[DEFAULT]部分,啟用詳細日誌記錄

[DEFAULT]

verbose= True

3.通過下面命令,測試是否支持虛擬機硬體加速

egrep-c (vmx|svm) /proc/cpuinfo

如果輸出的不是0,那麼不需要額外配置

如果輸出的是0.則使用QEMU 代替KVM

  • 編輯文件nova-compute.conf

相關命令:

  1. gedit /etc/nova/nova-compute.conf

[libvirt]

virt_type= qemu

4.重啟計算服務

相關命令:

  1. servicenova-compute restart

5.如果存在SQLite 資料庫,則刪除

相關命令:

  1. rm-f /var/lib/nova/nova.sqlite

5.3、驗證計算服務Nova

注意:以下操作均在控制節點

1.生效環境變數

相關命令:

  1. sourceadmin-openrc.sh

2.列出創建成功的組件進程

相關命令:

  1. novaservice-list

3.列出鏡像服務目錄

相關命令:

  1. novaimage-list


推薦閱讀:

Openstack學習:從創建配置虛擬機開始
6 個學習 OpenStack 的新指南和教程
OpenStack使用Ceph存儲,Ceph到底做了什麼?
最近在學習 OpenStack,已經了解了其作用、架構。想進一步學習研究OpenStack各組件,對於源代碼的閱讀和學習,想得到大家的建議?
OpenStack Liberty版 安裝配置——第七章(Cinder)

TAG:雲計算 | 大數據 | OpenStack |