1. 程式人生 > >OpenStack Ocata 安裝(四)安裝計算(Nova)服務

OpenStack Ocata 安裝(四)安裝計算(Nova)服務

15、安裝計算(Nova)服務

      使用OpenStack Compute來託管和管理雲端計算系統。

       OpenStackCompute可以在標準硬體上橫向擴充套件,並下載影象到啟動例項。

Nova下的子類:

nova-api服務接收和響應終端使用者計算API呼叫。

nova-api-metadata服務接受從例項元資料請求。

nova-compute服務工人守護程序建立和終止虛擬機器例項通過 hypervisor APIs。

nova-consoleauth守護程式控制臺代理提供的授權使用者令牌。

nova-novncproxy守護程序提供了一個代理來訪問執行的例項通過VNC連線。

nova-spicehtml5proxy提供通過SPICE連線訪問執行例項的代理。

建立該服務的資料庫和資料庫管理賬戶

controller#

mysql -u root -p123

CREATE DATABASE nova_api;

CREATE DATABASE nova;

CREATE DATABASE nova_cell0;

GRANT ALL PRIVILEGES ON nova_api.* TO'nova'@'localhost' \

IDENTIFIED BY 'nova';

GRANT ALL PRIVILEGES ON nova_api.* TO'nova'@'%' \

IDENTIFIED BY 'nova';

GRANT ALL PRIVILEGES ON nova.* TO'nova'@'localhost' \

IDENTIFIED BY 'nova';

GRANT ALL PRIVILEGES ON nova.* TO'nova'@'%' \

IDENTIFIED BY 'nova';

GRANT ALL PRIVILEGES ON nova_cell0.* TO'nova'@'localhost' \

IDENTIFIED BY 'nova';

GRANT ALL PRIVILEGES ON nova_cell0.* TO'nova'@'%' \

IDENTIFIED BY 'nova';

exit

建立nova使用者、服務、API

controller#

openstack user create --domain default--password-prompt nova

此處需要輸入密碼:

openstack role add --project service --usernova admin

openstack service create --name nova \

--description "OpenStack Compute"compute

openstack endpoint create --regionRegionOne compute public http://controller:8774/v2.1

openstack endpoint create --regionRegionOne compute internal http://controller:8774/v2.1

openstack endpoint create --regionRegionOne compute admin http://controller:8774/v2.1

建立placement使用者、服務、API

controller#

openstack user create --domain default--password-prompt placement

此處需要輸入密碼:

openstack role add --project service --userplacement admin

openstack service create --name placement--description "Placement API" placement

建立API時按照OpenStack官網的操作會有報錯

openstack endpoint create --region RegionOne placement publichttp://controller/placement

openstack endpoint create --region RegionOne placementinternal http://controller/placemen

openstack endpoint create --region RegionOne placement adminhttp://controller/placement

報錯提示

Failed to create resourceprovider record in placement API for. Got 404: <!DOCTYPE HTML PUBLIC"-//IETF//DTD HTML 2.0//EN">

<html><head>

<title>404 NotFound</title>

</head><body>

<h1>NotFound</h1>

<p>The requestedURL /placement/resource_providers was not found on this server.</p>

</body></html>

解決辦法:

檢視APIID,然後根據ID刪除原來配置的三個API

openstack endpoint service list

openstack endpoint delete service_ID

然後在使用以下API

openstack endpoint create --region RegionOne placementpublic http://controller:8778

openstack endpoint create --region RegionOne placementadmin http://controller:8778

openstack endpoint create --region RegionOne placementinternal http://controller:8778

推薦直接使用

openstack endpoint create --regionRegionOne placement public http://controller:8778

openstack endpoint create --regionRegionOne placement admin http://controller:8778

openstack endpoint create --regionRegionOne placement internal http://controller:8778

配置nova配置檔案(備份配置檔案,刪除配置檔案裡的所有資料,使用提供的配置):

controller#

cp /etc/nova/nova.conf /etc/nova/nova.conf.bak

vi /etc/nova/nova.conf

[DEFAULT]

enabled_apis = osapi_compute,metadata

transport_url =rabbit://openstack:[email protected]

#本機IP地址

my_ip = 192.168.215.100

use_neutron = True

firewall_driver = nova.virt.firewall.NoopFirewallDriver

[api_database]

connection =mysql+pymysql://nova:[email protected]/nova_api

[database]

connection =mysql+pymysql://nova:[email protected]/nova

[api]

auth_strategy = keystone

[keystone_authtoken]

auth_uri = http://controller:5000

auth_url = http://controller:35357

memcached_servers = controller:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = nova

password = nova

[vnc]

enabled = true

vncserver_listen = $my_ip

vncserver_proxyclient_address = $my_ip

[glance]

api_servers = http://controller:9292

[oslo_concurrency]

lock_path = /var/lib/nova/tmp

[placement]

os_region_name = RegionOne

project_domain_name = Default

project_name = service

auth_type = password

user_domain_name = Default

auth_url = http://controller:35357/v3

username = placement

password = placement

修改nova的HTTP配置檔案

(由於包錯誤,您必須啟用對Placement API的訪問,在檔案末尾新增。)

controller#

vi/etc/httpd/conf.d/00-nova-placement-api.conf

<Directory /usr/bin>

<IfVersion >= 2.4>

Require all granted

</IfVersion>

<IfVersion < 2.4>

Order allow,deny

Allow from all

</IfVersion>

</Directory>

同步資料庫

controller#

su -s /bin/sh -c "nova-manage api_dbsync" nova

su -s /bin/sh -c "nova-manage cell_v2map_cell0" nova

su -s /bin/sh -c "nova-manage cell_v2create_cell --name=cell1 --verbose" nova

su -s /bin/sh -c "nova-manage dbsync" nova

檢視cell_v2所生成的UUID

controller#

nova-manage cell_v2 list_cells

開機自啟動和啟動服務

controller#

systemctl enable openstack-nova-api.service\

openstack-nova-consoleauth.serviceopenstack-nova-scheduler.service \

openstack-nova-conductor.serviceopenstack-nova-novncproxy.service

systemctl restartopenstack-nova-api.service \

openstack-nova-consoleauth.serviceopenstack-nova-scheduler.service \

openstack-nova-conductor.serviceopenstack-nova-novncproxy.service

16、配置計算節點的計算服務

配置nova配置檔案(備份配置檔案,刪除配置檔案裡的所有資料,使用提供的配置):

compute#

vi /etc/nova/nova.conf

[DEFAULT]

enabled_apis = osapi_compute,metadata

transport_url =rabbit://openstack:[email protected]

use_neutron = True

firewall_driver =nova.virt.firewall.NoopFirewallDriver

#本機IP地址

my_ip = 192.168.215.101

[api]

auth_strategy = keystone

[keystone_authtoken]

auth_uri = http://controller:5000

auth_url = http://controller:35357

memcached_servers = controller:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = nova

password = nova

[vnc]

enabled = True

vncserver_listen = 0.0.0.0

vncserver_proxyclient_address = $my_ip

novncproxy_base_url = http://controller:6080/vnc_auto.html

[glance]

api_servers = http://controller:9292

[oslo_concurrency]

lock_path = /var/lib/nova/tmp

[placement]

os_region_name = RegionOne

project_domain_name = Default

project_name = service

auth_type = password

user_domain_name = Default

auth_url = http://controller:35357/v3

username = placement

password = placement

 [libvirt]

virt_type = qemu

[libvirt]說明:

確定您的計算節點是否支援虛擬機器的硬體加速:

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

如果這個命令返回一個或多個,你的計算機支援硬體加速這通常不需要額外的配置。

如果此命令返回值為零,則您的計算節點不支援硬體加速您必須配置libvirt以使用QEMU而不是KVM。

由於本人使用VMware虛擬機器建立計算節點,所以使用qemu虛擬化。

開機自啟動和啟動服務

compute#

systemctl enable libvirtd.serviceopenstack-nova-compute.service

systemctl restart libvirtd.serviceopenstack-nova-compute.service

在控制節點上檢視前面所有的服務搭建詳情

controller#

openstack hypervisor list

openstack compute service list

openstack catalog list

openstack image list

在控制節點上發現計算節點:

controller#

1)命令方式,每次新增計算節點時都需要執行。

su -s /bin/sh -c "nova-manage cell_v2discover_hosts --verbose" nova

2)或者,修改配置檔案方式,每隔300s自動發現計算節點。

vi /etc/nova/nova.conf

[scheduler]

discover_hosts_in_cells_interval = 300

相關推薦

Linux系統下安裝Python以及搭建科學計算機器學習環境anaconda和spyder

由於自己走完這幾步花了不少時間,所以總結了下分享。 系統:以Ubuntu為例 第一階段:安裝python linux系統都自帶python,我的是2.7版本,在終端輸入python就可以看到版本資訊,所以可以不用安裝python,直接進入第二階段即可。 1.其他版本下載地址

練習:日期計算輸入某年某月某日計算出這一天是該年第幾天的方法

nbsp style 內置 練習 day pan and error == 實現輸入某年某月某日計算出這一天是該年第幾天的方法方法一:笨辦法 1 list_day = [0,31,28,31,30,31,30,31,31,30,31,30,31] 2 year

EF6 在原有數據庫中使用 CodeFirst 總復習、新建實體對象

block clear 數據庫 chang 添加 優先 數據遷移 ons hang 在原有數據庫中使用 CodeFirst ,除了第一次添加實體後要立即執行一次 Enable-Migrations add-migration Initial -IgnoreChan

【JZOJ4419】【GDOI2016模擬4.2】hole~三維偏序問題

gfs text 限制 滿足 ace mat 計算 完成 triangle Problem 給出n次事件,每次事件給出三個非負整數x,y,d。d=0表示在點(x,y)打了一個洞;否則表示詢問由(x,y),(x+d,y),(x,y+d)三點圍成的三角形中洞的個數。 Hint

去除List集合中的重複值種好用的方法基本資料型別可用

最近專案中需要對list集合中的重複值進行處理,大部分是採用兩種方法,一種是用遍歷list集合判斷後賦給另一個list集合,一種是用賦給set集合再返回給list集合。  但是賦給set集合後,由於set集合是無序的,原先的順序就打亂了。所以我又想著能不能用set的特性進行去重又不打亂順序

Java:去除List集合中的重複值種好用的方法

最近專案中需要對list集合中的重複值進行處理,大部分是採用兩種方法,一種是用遍歷list集合判斷後賦給另一個list集合,一種是用賦給set集合再返回給list集合。  但是賦給set集合後,由於set集合是無序的,原先的順序就打亂了。所以我又想著能不能用set的特性進行去重又不打亂順序

spring cloud、路由閘道器

Zuul的主要功能是路由轉發和過濾器。路由功能是微服務的一部分,比如/api/user轉發到到user服務,/api/shop轉發到到shop服務。zuul預設和Ribbon結合實現了負載均衡的功能。 一、路由功能 1.建立service-zuul專案 2.引入Eureka Server

Hadoop學習記錄、hadoop實現檔案操作

1.從Hadoop URL讀取資料 類似cat命令 public class URLCat { static{ URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory()); }

18-12-8-視覺化庫Seaborn學習筆記:REG-迴歸分析繪圖

目錄   獲取是否付小費資料 regplot()和lmplot()都可以繪製迴歸關係,推薦regplot() sns.lmplot(x="x", y="y", data=XXX, order=2); #曲線 利用hue引數畫出男女給予小費的不同 sns.l

牛客網——華為機試題2:計算字元個數Java

題目描述: 寫出一個程式,接受一個由字母和數字組成的字串,和一個字元,然後輸出輸入字串中含有該字元的個數。不區分大小寫。 輸入描述: 輸入一個有字母和數字以及空格組成的字串,和一個字元。 輸出描述: 輸出輸入字串中含有該字元的個數。 示例1: 輸入: ABCD

資料結構篇:二叉樹:交換左右子樹

應用遞迴思想 如果結點不為空,就交換其左右子樹,而待交換的左右子樹,我們不需要關心是否為空。 void Tree::ExChangeTree(BiTree *T) { BiTree *temp = new BiTree; if (T) { tem

Redis使用總結、處理延時任務

引言在開發中,往往會遇到一些關於延時任務的需求。例如生成訂單30分鐘未支付,則自動取消生成訂單60秒後,給使用者發簡訊對上述的任務,我們給一個專業的名字來形容,那就是延時任務。那麼這裡就會產生一個問題,這個延時任務和定時任務的區別究竟在哪裡呢?一共有如下幾點區別定時任務有明確

TCP/IP TIME_WAIT狀態原理次握手關閉連線原理

TIME_WAIT狀態原理 ---------------------------- 通訊雙方建立TCP連線後,主動關閉連線的一方就會進入TIME_WAIT狀態。 客戶端主動關閉連線時,會發送最後一個ack後,然後會進入TIME_WAIT狀態,再停留2個MSL時間(後有MS

去除List集合中的重複值種好用的方法

最近專案中需要對list集合中的重複值進行處理,大部分是採用兩種方法,一種是用遍歷list集合判斷後賦給另一個list集合,一種是用賦給set集合再返回給list集合。 但是賦給set集合後,由於set集合是無序的,原先的順序就打亂了。所以我又想著能不能用se

Chrome開發者工具不完全指南、效能進階篇

前言   Profiles面板功能的作用主要是監控網頁中各種方法執行時間和記憶體的變化,簡單來說它就是Timeline的數字化版本。它的功能選項卡不是很多(只有三個),操作起來比較前面的幾塊功能版本來說簡單,但是裡面的資料確很多,很雜,要弄懂它們需要花費一些時間。尤其是在記憶體快照中的各種龐雜的資料。在這篇

Android-計算器的實現介面佈局,計算邏輯處理

    原始碼下載    閒來無事,用android做一個計算器玩玩,想著做一個私密空間,表面是計算器,按下原先設定的算式後可以跳轉到私密介面,當想想有些費事,以後若還有閒散時間,再來實現。    介面是這樣的,採用了GridLayout佈局,很容易實現。程式碼如下<?

H5基礎知識第八課時JS運算子和計算水仙花數

1.運算子 算數運算子 +、-、*、/、%、++、-- 賦值運算子 = += -= *= /= %= 關係運算符 ==、!=、>、<、>=、<= 條件運算子 a>b?true:false 位運算子、邏輯運算子 &、|、~、&&、||、! 位移運算子 <

自己動手實現智慧家居之溫溼度數碼管展示位共陽數碼管

【前言】 一個熱愛技術的人一定向往有一個科技感十足的環境吧,那何不親自實踐一下屬於技術人的座右銘:“技術改變世界”。 就讓我們一步步動手搭建一個屬於自己的“智慧家居平臺”吧(不要對這個名詞抬槓啦,技術在手,怎麼設計實現因人而異),本文只做拋磚引玉,各路大神如果有更好的想法可以各顯神通,當然能在評論區留下更好

openstack 啟動winserver映象,需要在計算節點nova.conf中修改預設引數block_device_allocate_retries 的引數修改為180 秒

用winserver images 映象 建立虛擬機器時,總是報錯,一開始懷疑是映象做的有問題 後臺檢視報錯日誌" 2018-05-03 15:33:40.801 30313 ERROR nova.compute.manager [instance: e083334c-1655-40ee-8

OpenStack Ocata 安裝安裝計算Nova服務

15、安裝計算(Nova)服務       使用OpenStack Compute來託管和管理雲端計算系統。        OpenStackCompute可以在標準硬體上橫向擴充套件,並下載影象到啟動例項。 Nova下的子類: nova-api服務接收和響應終端使用者計算