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
相關命令:
- mysql-u root -p
2)創建nova資料庫
相關命令:
- CREATEDATABASE nova;
3)授權
相關命令:
- GRANTALL PRIVILEGES ON nova.* TO nova@localhost
- IDENTIFIED BY NOVA_DBPASS;
- GRANTALL PRIVILEGES ON nova.* TO nova@%
- IDENTIFIED BY NOVA_DBPASS;
4)退出mysql
相關命令:
- exit
2.生效環境變數
相關命令:
- sourceadmin-openrc.sh
3.創建服務認證
1)創建一個nova用戶
相關命令:
- keystoneuser-create --name nova --pass NOVA_PASS
2)給nova用戶授予admin角色
相關命令:
- keystoneuser-role-add --user nova --tenant service --role admin
3)創建nova服務實例
相關命令:
- keystoneservice-create --name nova --type compute
- --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. 安裝配置計算控制組件
相關命令:
- apt-getinstall nova-api nova-cert nova-conductor nova-consoleauth
- nova-novncproxy nova-schedulerpython-novaclient
6.編輯文件nova.conf(注意:文件里東西參數不全就自己添加)
相關命令:
- 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. 同步資料庫
相關命令:
- su-s /bin/sh -c "nova-manage db sync" nova
8. 重啟計算服務
相關命令:
- servicenova-api restart
- servicenova-cert restart
- servicenova-consoleauth restart
- servicenova-scheduler restart
- servicenova-conductor restart
- servicenova-novncproxy restart
9.如果存在SQLite 資料庫,則刪除
相關命令:
- rm-f /var/lib/nova/nova.sqlite
5.2、在計算節點上安裝和配置Nova
注意:以下操作均在計算節點
1.安裝計算組件
相關命令:
- apt-getinstall nova-compute sysfsutils
2.編輯文件nova.conf
相關命令:
- 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
相關命令:
- gedit /etc/nova/nova-compute.conf
[libvirt]
virt_type= qemu
4.重啟計算服務
相關命令:
- servicenova-compute restart
5.如果存在SQLite 資料庫,則刪除
相關命令:
- rm-f /var/lib/nova/nova.sqlite
5.3、驗證計算服務Nova
注意:以下操作均在控制節點
1.生效環境變數
相關命令:
- sourceadmin-openrc.sh
2.列出創建成功的組件進程
相關命令:
- novaservice-list
3.列出鏡像服務目錄
相關命令:
- novaimage-list
推薦閱讀:
※Openstack學習:從創建配置虛擬機開始
※6 個學習 OpenStack 的新指南和教程
※OpenStack使用Ceph存儲,Ceph到底做了什麼?
※最近在學習 OpenStack,已經了解了其作用、架構。想進一步學習研究OpenStack各組件,對於源代碼的閱讀和學習,想得到大家的建議?
※OpenStack Liberty版 安裝配置——第七章(Cinder)