1. 程式人生 > >OpenStack部署應用第三篇:計算服務Nova(轉)

OpenStack部署應用第三篇:計算服務Nova(轉)

1、計算服務介紹

  OpenStack計算元件請求OpenStack Identity服務進行認證;請求OpenStack Image服務提供磁碟映象;為OpenStack dashboard提供使用者與管理員介面。磁碟映象訪問限制在專案與使用者上;配額以每個專案進行設定(例如,每個專案下可以建立多少例項)。OpenStack元件可以在標準硬體上水平大規模擴充套件,並且下載磁碟映象啟動虛擬機器例項。

OpenStack計算服務由下列元件所構成:

``nova-api``服務
  接收和響應來自終端使用者的計算API請求。此服務支援OpenStack計算服務API,Amazon EC2 API,以及特殊的管理API用於賦予使用者做一些管理的操作。它會強制實施一些規則,發起多數的編排活動,例如執行一個例項。

``nova-api-metadata``服務
  接受來自虛擬機發送的元資料請求。``nova-api-metadata``服務一般在安裝``nova-network``服務的多主機模式下使用。更詳細的資訊,請參考OpenStack管理員手冊中的連結`Metadata service <http://docs.openstack.org/admin-guide/compute-networking-nova.html#metadata-service>`。

``nova-compute``服務
  一個持續工作的守護程序,通過Hypervior的API來建立和銷燬虛擬機器例項。例如:

  • XenServer/XCP 的 XenAPI
  • KVM 或 QEMU 的 libvirt
  • VMware 的 VMwareAPI

  過程是蠻複雜的。最為基本的,守護程序同意了來自佇列的動作請求,轉換為一系列的系統命令如啟動一個KVM例項,然後,到資料庫中更新它的狀態。

``nova-scheduler``服務
  拿到一個來自佇列請求虛擬機器例項,然後決定那臺計算伺服器主機來執行它。

``nova-conductor``模組
  Mediates interactions between the nova-compute service and the database. It eliminates direct accesses to the cloud database made by the nova-compute service. The nova-conductor module scales horizontally. However, do not deploy it on nodes where the nova-compute service runs. For more information, see Configuration Reference Guide.
nova-cert 模組
  伺服器守護程序向Nova Cert服務提供X509證書。用來為``euca-bundle-image``生成證書。僅僅是在EC2 API的請求中使用

nova-network worker 守護程序
  與``nova-compute``服務類似,從佇列中接受網路任務,並且操作網路。執行任務例如建立橋接的介面或者改變IPtables的規則。

nova-consoleauth 模組
  授權控制檯代理所提供的使用者令牌。詳情可檢視``nova-novncproxy``和 nova-xvpvncproxy。該服務必須為控制檯代理執行才可奏效。在叢集配置中你可以執行二者中任一代理服務而非僅執行一個nova-consoleauth服務。更多關於nova-consoleauth的資訊,請檢視`About nova-consoleauth <http://docs.openstack.org/admin-guide/compute-remote-console-access.html#about-nova-consoleauth>`__。

nova-novncproxy 模組
  提供一個代理,用於訪問正在執行的例項,通過VNC協議,支援基於瀏覽器的novnc客戶端。

``nova-spicehtml5proxy``守護程序
  提供一個代理,用於訪問正在執行的例項,通過 SPICE 協議,支援基於瀏覽器的 HTML5 客戶端。

nova-xvpvncproxy 守護程序
  提供一個代理,用於訪問正在執行的例項,通過VNC協議,支援OpenStack特定的Java客戶端。

nova-cert 守護程序
  X509 證書。

nova 客戶端
  用於使用者作為租戶管理員或終端使用者來提交命令。

佇列
  A central hub for passing messages between daemons. Usually implemented with RabbitMQ, also can be implemented with another AMQP message queue, such as ZeroMQ.
SQL資料庫
  儲存構建時和執行時的狀態,為雲基礎設施,包括有:

  • 可用例項型別
  • 使用中的例項
  • 可用網路
  • 專案

理論上,OpenStack計算可以支援任何和SQL-Alchemy所支援的後端資料庫,通常使用SQLite3來做測試可開發工作,MySQL和PostgreSQL 作生產環境。

2、環境準備

Nova 複雜 5個元件 資料庫->keystone->rabbit->同步資料庫->註冊keystone->啟動伺服器->驗證服務

  • API
  • cert 暫時不用
  • scheduler 決策節點
  • conductor 資料庫中介軟體
  • consoleauth vnc認證
  • novncproxy vnc代理 網頁vnc

1)建立資料庫(第一篇中已經完成)

2)安裝軟體及配置服務

yum install -y openstack-nova-api openstack-nova-conductor \
  openstack-nova-console openstack-nova-novncproxy \
  openstack-nova-scheduler

# 配置服務
[[email protected] nova]# grep -n '^[a-z]' nova.conf 
14:auth_strategy=keystone
2062:use_neutron=True
3052:enabled_apis=osapi_compute,metadata
3266:firewall_driver = nova.virt.firewall.NoopFirewallDriver
3662:connection=mysql+pymysql://nova:[email protected]/nova_api
4679:connection=mysql+pymysql://nova:[email protected]/nova
4814:api_servers=http://192.168.56.11:9292
5431:auth_uri = http://192.168.56.11:5000
5432:auth_url = http://192.168.56.11:35357
5433:memcached_servers = 192.168.56.11:11211
5434:auth_type = password
5435:project_domain_name = default
5436:user_domain_name = default
5437:project_name = service
5438:username = nova
5439:password = nova
6706:lock_path=/var/lib/nova/tmp
6885:transport_url=rabbit://openstack:[email protected]
8385:vncserver_listen=0.0.0.0
8397:vncserver_proxyclient_address=192.168.56.11

# 同步Compute 資料庫
su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage db sync" nova

# 驗證同步結果
mysql -h 192.168.56.11 -u nova -pnova -e "use nova;show tables;"
mysql -h 192.168.56.11 -u nova -pnova -e "use nova_api;show tables;"

# 啟動服務
systemctl enable openstack-nova-api.service \
  openstack-nova-consoleauth.service openstack-nova-scheduler.service \
  openstack-nova-conductor.service openstack-nova-novncproxy.service

systemctl start openstack-nova-api.service \
  openstack-nova-consoleauth.service openstack-nova-scheduler.service \
  openstack-nova-conductor.service openstack-nova-novncproxy.service

3)建立使用者、glance服務實體、映象服務的 API 端點

# 建立nova使用者
openstack service create --name nova --description "OpenStack Compute" compute

openstack endpoint create --region RegionOne compute public http://192.168.56.11:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute internal http://192.168.56.11:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute admin http://192.168.56.11:8774/v2.1/%\(tenant_id\)s

# 驗證服務是否正常

openstack endpoint list

3)啟動服務

# systemctl enable  openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
# systemctl restart openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service

 3、計算節點服務安裝(node2部署)

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

$ egrep -c '(vmx|svm)' /proc/cpuinfo
# 如果這個命令返回了 one or greater 的值,那麼你的計算節點支援硬體加速且不需要額外的配置。如果這個命令返回了 zero 值,那麼你的計算節點不支援硬體加速。你必須配置 libvirt 來使用 QEMU 去代替 KVM
在 /etc/nova/nova.conf 檔案的 [libvirt] 區域做出如下的編輯:
[libvirt]
...
virt_type = qemu

2)啟動計算服務及其依賴,並將其配置為隨系統自動啟動

yum install -y openstack-nova-compute

[[email protected]-node2 ~]# grep -n '^[a-z]' /etc/nova/nova.conf 
3:transport_url=rabbit://openstack:[email protected]
15:auth_strategy=keystone
2063:use_neutron=True
3053:enabled_apis=osapi_compute,metadata
3267:firewall_driver=nova.virt.firewall.NoopFirewallDriver
4813:api_servers=http://192.168.56.11:9292
5430:auth_uri = http://192.168.56.11:5000
5431:auth_url = http://192.168.56.11:35357
5432:memcached_servers = 192.168.56.11:11211
5433:auth_type = password
5434:project_domain_name = default
5435:user_domain_name = default
5436:project_name = service
5437:username = nova
5438:password = nova
5673:virt_type=kvm
6469:url = http://192.168.56.11:9696
6470:auth_url = http://192.168.56.11:35357
6471:auth_type = password
6472:project_domain_name = default
6473:user_domain_name = default
6474:region_name = RegionOne
6475:project_name = service
6476:username = neutron
6477:password = neutron
6713:lock_path=/var/lib/nova/tmp
8368:enabled=true
8384:keymap=en-us
8391:vncserver_listen=0.0.0.0
8403:vncserver_proxyclient_address=192.168.56.12                               # vncserver_proxyclient_address每個計算節點不同
8422:novncproxy_base_url=http://192.168.56.11:6080/vnc_auto.html

# 啟動服務
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service
# 控制節點執行如下命令,確定控制節點已經識別到計算節點
[[email protected] ~]#  openstack compute service list
+----+------------------+-------------------------+----------+---------+-------+----------------------------+
| ID | Binary           | Host                    | Zone     | Status  | State | Updated At                 |
+----+------------------+-------------------------+----------+---------+-------+----------------------------+
|  1 | nova-scheduler   | linux-node1.example.com | internal | enabled | up    | 2017-01-13T13:27:45.000000 |
|  2 | nova-conductor   | linux-node1.example.com | internal | enabled | up    | 2017-01-13T13:27:49.000000 |
|  3 | nova-consoleauth | linux-node1.example.com | internal | enabled | up    | 2017-01-13T13:27:45.000000 |
|  6 | nova-compute     | linux-node2.example.com | nova     | enabled | up    | 2017-01-13T13:27:47.000000 |
+----+------------------+-------------------------+----------+---------+-------+----------------------------+

相關推薦

OpenStack部署應用計算服務Nova

1、計算服務介紹   OpenStack計算元件請求OpenStack Identity服務進行認證;請求OpenStack Image服務提供磁碟映象;為OpenStack dashboard提供使用者與管理員介面。磁碟映象訪問限制在專案與使用者上;配額以每個專案進行設定(例如,每個專案下可以建立多少例項)

OpenStack部署應用網路服務Neutron

1、網路服務介紹   OpenStack Networking(neutron),允許建立、插入介面裝置,這些裝置由其他的OpenStack服務管理。外掛式的實現可以容納不同的網路裝置和軟體,為OpenStack架構與部署提供了靈活性。它包含下列元件:neutron-server  接收和路由API請求到合適

OpenStack部署應用建立一個例項

  這部分建立必須的虛擬網路來支援建立多個例項。網路選項1包含一個使用公共虛擬網路(外部網路)的例項。網路選項2包含一個使用公共虛擬網路的例項、一個使用私有虛擬網路(私有網路)的例項。 1、建立虛擬網路 根據你在網路選項中的選擇來建立虛擬網路。如果你選擇選項1,只需建立一個公有網路。如果你選擇選項2,同時建

OpenStack部署應用儀表盤Horizon

1、儀表盤服務Horizon介紹   Dashboard(horizon)是一個web介面,使得雲平臺管理員以及使用者可以管理不同的Openstack資源以及服務。這個部署示例使用的是 Apache Web 伺服器。   dashboard僅在核心服務中要求認證服務。你可以將dashboard與其他服務,如映

OpenStack部署應用OpenStack常見問題解答

1、常見面試題 1)元件介紹(keystone等) 2)講解虛擬機器建立流程 3)Neutron網路型別選型 4)KVM與OpenStack區別 5)OpenStack和公司業務應用優勢? 資源利用率 管理的簡單高效性 (adsbygoogle = window.adsbygoo

OpenStack部署應用OpenStack從自動化裝機到自動啟動一個小例項

1、部署實現思路 1)部署cobbler(功能:自動化裝機CentOS 7、設定本地yum源) 2)OpenStack實現架構設計及網路等配置規劃 3)設定主機配置及虛擬化設定(聯想實際業務的主機、網路裝置選項購買等準備工作) 4)從中控機執行部署程式,開始openstack部署 5)手動檢查配置並檢視例項啟

OpenStack部署應用虛擬機器建立流程

1、虛擬機器建立流程 2、深入理解虛擬機器的磁碟、網路及Metadata 3、OpenStack虛擬機器生產映象構建實踐 1.建立虛擬機器硬碟 qemu-img create -f qcow2 /tmp/centos.qcow2 10G 2.建立虛擬機器 virt-install --virt-type

OpenStack部署應用第二映象服務glance

1、映象服務Glance介紹   映象服務 (glance) 允許使用者發現、註冊和獲取虛擬機器映象。它提供了一個 REST API,允許您查詢虛擬機器映象的 metadata 並獲取一個現存的映象。您可以將虛擬機器映象儲存到各種位置,從簡單的檔案系統到物件儲存系統—-例如 OpenStack 物件儲存, 並

R實戰 數據處理基礎

計算 edi 字符數 定義函數 空間 數值 sqrt 字符類 ceil 數據結構用於存儲數據,不同的數據結構對應不同的操作方法,對應不同的分析目的,應選擇合適的數據結構。在處理數據時,為了便於檢查數據對象,可以通過函數attributes(x)來查看數據對象的屬性,str(

江西偉人系列唐宋八大家歐陽修

青春 logs body 指導 文學家 分享 itl 1年 html 歐陽修(1007年8月1日-1072年9月22日),字永叔,號醉翁,晚號六一居士, 漢族,吉州永豐(今江西省吉安市永豐縣)人,北宋政治家、文學家,且在政治上負有盛名。因吉州原屬廬陵郡,以“

【計算機網路】學習筆記,資料鏈路層謝希仁版

![](//p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/01513090610b480a8fc70f871ceaf3dc~tplv-k3u1fbpfcp-zoom-1.image) **說明:** - 文章主要針對科班上課做的簡單筆記,以及後面針對一些面試涉及內容的

數據分析 聚類分析劃分

think trace stat pid 函數返回 around 構建 之前 得出 聚類是把一個數據集劃分成多個子集的過程,每一個子集稱作一個簇(Cluster),聚類使得簇內的對象具有很高的相似性,但與其他簇中的對象很不相似,由聚類分析產生的簇的集合稱作一個聚類。在相同的

R繪圖 繪製條形圖ggplot2

使用geom_bar()函式繪製條形圖,條形圖的高度通常表示兩種情況之一:每組中的資料的個數,或資料框中列的值,高度表示的含義是由geom_bar()函式的引數stat決定的,stat在geom_bar()函式中有兩個有效值:count和identity。預設情況下,stat="count",這意味著每個條的

Tomcat 請求處理流程

![](https://cdn.geekdigging.com/java/tomcat/tomcat_header.jpg) ## 1. 引言 既然是在講 Tomcat ,那麼一個 HTTP 請求的請求流程是無論如何也繞不開的。 首先拋開所有,使用我們現有的知識面,猜測一下一個請求被 Tomcat 處

Tomcat 請求處理流程

![](https://cdn.geekdigging.com/java/tomcat/tomcat_header.jpg) ## 1. 請求處理流程 AprEndPoint 順著上一篇接著聊,當一個請求傳送到 Tomcat 以後,會由聯結器 `Connector` 轉送至 `AprEndPoint` ,

Databricks 5Databricks檔案系統DBFS

Databricks 檔案系統 (DBFS,Databricks File System) 是一個裝載到 Azure Databricks 工作區的分散式檔案系統,可以在 Azure Databricks 群集上使用。 一個儲存物件是一個具有特定格式的檔案,不同的格式具有不同的讀取和寫入的機制。 DBFS 是

清華大學MOOC《作業系統》1講“作業系統概述”總結

課程內容概述 這一講對課程內容和作業系統做了一個概括性的介紹,主要包括以下幾塊內容: 教學安排 什麼是作業系統 作業系統的演變 作業系統結構的分類 教學安排 本課程將講述的內容包括: 作業系統結構 中斷和系統呼叫 記憶體管理 程序和執行緒 處理機排程

在eclipse上部署springcloud小例子--斷路器Hystrix

            在微服務架構中,根據業務來拆分成一個個的服務,服務與服務之間可以相互呼叫(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign來呼叫。為了保證其高可用,

Docker實戰 | Docker安裝Nginx,實現基於vue-element-admin框架構建的專案線上部署

## 一. 前言 在上一文中 [點選跳轉](https://www.cnblogs.com/haoxianrui/p/14088400.html) 通過IDEA整合Docker外掛實現微服務的一鍵部署,但 [youlai-mall](https://github.com/hxrui/youlai-mall

linux設備驅動寫一個簡單的字符設備驅動

提示 copy flags 驅動程序 相關 clas open ugo param 在linux設備驅動第一篇:設備驅動程序簡介中簡單介紹了字符驅動,本篇簡單介紹如何寫一個簡單的字符設備驅動。本篇借鑒LDD中的源碼,實現一個與硬件設備無關的字符設備驅動,僅僅操