溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

OpenStack中Glance的作用是什么

發(fā)布時間:2021-07-30 17:54:35 來源:億速云 閱讀:631 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關(guān)OpenStack中Glance的作用是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

Glance 組件

Glance有以下幾個組件:

  • glance-api, 接收鏡像發(fā)現(xiàn),查詢,和存儲鏡像的api調(diào)用。

  • glance-registry, 存儲,處理和查詢鏡像的元數(shù)據(jù)信息。

  • database, 存儲鏡像元數(shù)據(jù)

  • repository, 集成了各種openstack組件,比如文件系統(tǒng),S3, 以及其它的http鏡像存儲。

OpenStack中Glance的作用是什么

Glance接收來自終端用戶或Nova組件的鏡像的API請求,鏡像文件可以存儲在對象存儲服務(wù)swift上或者其它存儲倉庫。

鏡像服務(wù)支持以下幾種后端存儲:

  • 文件系統(tǒng) Openstack的鏡像默認(rèn)存儲在文件系統(tǒng)后端。在本地的文件系統(tǒng)里進行保存鏡像。

  • 對象存儲 swift

  • Block Storage cinder.

  • VMware ESX/ESXi or vCenter.

  • S3 亞馬遜的s3等等.

  • HTTP 可以使用英特網(wǎng)上的http服務(wù)獲取鏡像。這種方式只能只讀。

  • RADOS Block Device (RBD) 使用Ceph的RBD接口存儲到Ceph集群中

  • Sheepdog 專為QEMU/KVM提供的一個分布式存儲系統(tǒng).

  • GridFS 使用MongoDB存儲鏡像.

Glance 架構(gòu)

Glance具有客戶端 - 服務(wù)器體系結(jié)構(gòu),并提供Rest API,通過Rest API來請求服務(wù)。通過客戶端發(fā)送Rest API的請求,并等待Keystone認(rèn)證。 Glance域控制器管理所有內(nèi)部操作,這些分為很多層,每層實現(xiàn)自己的任務(wù)。


Glance store是glacne和外部存儲后端或者本地文件系統(tǒng)提供通信的一個層,并提供統(tǒng)一的訪問接口。數(shù)據(jù)庫為每一個組件提供一個集中的數(shù)據(jù)訪問。

Glance架構(gòu)由以下幾個組件組成:

  • Client - 任何應(yīng)用都可以通過Client來使用glance服務(wù)。

  • REST API – 通過REST方式暴露Glance功能。

  • Database Abstraction Layer (DAL) –統(tǒng)一Glance和數(shù)據(jù)庫交互的一個應(yīng)用層接口。

  • Glance Domain Controller –完成glance主要的功能的中件間:

  • authorization,notifications, policies, database connections.

  • Glance Store – 集成glance和各種后端存儲服務(wù).

  • Registry Layer –可選層,通過使用單獨的服務(wù)來組織domain和DAL之間的安全通信。

OpenStack中Glance的作用是什么

Glance 格式

當(dāng)我們上傳鏡像時,我們需要指定虛擬機鏡像的格式。 Glance支持各種格式,如磁盤格式和容器格式。虛擬磁盤類似于物理服務(wù)器的引導(dǎo)驅(qū)動程序,只會壓縮到文件中。不同的虛擬化支持不同的磁盤格式。

磁盤格式
虛擬機鏡像的磁盤格式是底層磁盤鏡像的格式。以下是OpenStack支持的磁盤格式。

OpenStack中Glance的作用是什么

容器格式

正如OpenStack glance也支持容器格式的概念,它描述了文件格式,并包含關(guān)于實際虛擬機的額外元數(shù)據(jù)。

以下是OpenStack Glance支持的Container格式.

OpenStack中Glance的作用是什么

這里注意下,Glance或其他OpenStack組件目前并不支持使用容器格式。如果不確定,最好使用'bare'作為容器格式,比如我們上傳鏡像到glance,bare就是沒有容器.

使用如下命令上傳鏡像到glance

root@CONTROLLER:~#glance image-create --name "cirros-0.3.4-x86_64" --file/tmp/images/cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-formatbare --visibility public --progress

這里使用image-create來上傳鏡像,其--name表示上傳鏡像后鏡像的名稱,--file表示要上傳鏡像的路徑,磁盤格式--disk-format以qcow2和--container-format為bare??梢娦?-visibility public表示鏡像可以公開訪問,進度--pogress表示顯示上傳進度條。三門峽婦科醫(yī)院http://www.smxrlyy.com/

OpenStack中Glance的作用是什么

Glance狀態(tài)流

上傳鏡像時Glance會顯示鏡像的各種狀態(tài)。當(dāng)我們第一步上傳鏡像時,第一步就是入隊列,經(jīng)過短時間的驗證,鏡像進入queued狀態(tài),保存鏡像并開始上傳。之后鏡像會進入saving的狀態(tài),表示還沒有完全上傳完畢。鏡像完全上傳后,狀態(tài)會變成Active。如果上傳失敗,將會變成killed或deleted狀態(tài)。另外我們還可以使用命令停用或者重新激活完全上傳成功的鏡像。


下圖為glance鏡像的狀態(tài)流轉(zhuǎn)圖。

OpenStack中Glance的作用是什么

queued

在Glance registry里已經(jīng)通過驗證可以開始存儲. 暫時沒有鏡像數(shù)據(jù)被上傳到glance,鏡像大小在上傳時設(shè)置為0。

saving

表示正在上傳鏡像到Glance。通過POST /images接口注冊鏡像,如果有x-image-meta-location http頭,這個鏡像將不會處于saving狀態(tài)(因為鏡像數(shù)據(jù)在其他位置已經(jīng)可用)。

active

表示在glance里是一個完全可用的鏡像。當(dāng)鏡像上傳成功后,會切換到這個狀態(tài)。

deactivated

表示不允許任何非管理的用戶訪問。禁止下載鏡像,同時也禁止所以可能獲取鏡像數(shù)據(jù)的操作,比如鏡像導(dǎo)出和鏡像克隆等操作。

killed

表示上傳鏡像時發(fā)生錯誤,這個鏡像不可用。

deleted

Glance仍然保留了鏡像的相關(guān)信息,但不能在被使用。這個狀態(tài)下的鏡像將會被自動刪除。

Deactivatingand Reactivating an image

可以停用鏡像。也可以重新激活,或者刪除。當(dāng)管理員對鏡像進行更新時,可以先把鏡像停用,這樣鏡像對非管理員用戶就不可見了,當(dāng)更新完成后,可以重新激活鏡像,以便用戶可以用更新后鏡像啟動虛擬機。

OpenStack中Glance的作用是什么

我們需要token 和鏡像id來停用鏡像,以下是停用和重新激活鏡像的步驟。

OpenStack中Glance的作用是什么

替換鏡像id和token可以執(zhí)行以下的curl命令

root@CONTROLLER:~#curl -X POST -H 'X-Auth-Token: fbdab45ff753408c9e042aa6892e055b' http://192.168.1.110:9292/v2/images/17449a2e-8711-4700-af8f-439927159b7c/actions/deactivate

這個鏡像被停用后,我們使用glance image-list來列出鏡像

OpenStack中Glance的作用是什么

因為被停用,我們將會得到這樣的輸出。.

我們同樣可以用curl命令去重新激活鏡像,只要修改token,用以下步驟就可以重新激活被停用的鏡像。

OpenStack中Glance的作用是什么

root@CONTROLLER:~#curl -X POST -H 'X-Auth-Token: 88878e52d01f43c29a915b2220295641'http://192.168.1.110:9292/v2/images/17449a2e-8711-4700-af8f-439927159b7c/actions/reactivate

下一步執(zhí)行g(shù)lance image-list 檢查

OpenStack中Glance的作用是什么

Glance 配置文件

Glance-api.conf : Glance api 服務(wù)配置文件.

Glance-registry.conf : Glanceregistry服務(wù)配置文件,用戶存儲鏡像有關(guān)的元數(shù)據(jù)。

glance-scrubber.conf : 用于清理已刪除的鏡像的服務(wù)。

policy.json : 鏡像服務(wù)的訪問控制。在這里,我們可以定義角色和策略,是OpenStack Glance中的安全特性。

鏡像和實例

如前所述,磁盤鏡像作為模板存儲。鏡像服務(wù)存儲和管理鏡像。實例是在計算節(jié)點上運行的單個虛擬機,計算節(jié)點管理這些實例。用戶可以從用同一個鏡像啟動任意數(shù)量的實例。每個啟動的實例都是基于鏡像的一個副本,所以實例上的任何修改都不會影響到鏡像。我們可以對正在運行實例做快照,并可以用快照于啟動另一個新的實例。

當(dāng)我們啟動一個實例時,我們需要指定Flavor。Flavor定義了實例可以有多少個虛擬CPU,多大的RAM以及臨時磁盤的大小。 OpenStack提供了預(yù)定義的flavor,我們也可以新創(chuàng)建和編輯Flavor。


下圖顯示了啟動實例的系統(tǒng)狀態(tài)。glance store包含一定數(shù)量的鏡像,計算節(jié)點包含可用的vcpu,內(nèi)存和本地磁盤資源,cinder-volume包含一定數(shù)量的volume。OpenStack中Glance的作用是什么

啟動實例之前,需要選擇一個鏡像,flavor和任何可選屬性。選定的 flavor提供一個系統(tǒng)盤,標(biāo)記為vda,另外一個臨時盤被標(biāo)記為vdb,cinder-volume提供的volume被映射到第三個虛擬磁盤并將其稱為vdc。

OpenStack中Glance的作用是什么

在該圖中,基礎(chǔ)鏡像從image store復(fù)制到本地磁盤。 vda是實例的第一個磁盤,如果鏡像文件越小,則通過網(wǎng)絡(luò)復(fù)制的數(shù)據(jù)越少,實例啟動就會更快。實例創(chuàng)建時會創(chuàng)建一塊空的臨時數(shù)據(jù)盤vdb,當(dāng)實例終止時,它將被刪除。


vdc使用iSCSI連接到cinder-volume。隨后計算節(jié)點提供vCPU和內(nèi)存資源之后,該實例將從vda.啟動。該實例運行并更改磁盤上的數(shù)據(jù)。如果volume store位于單獨的網(wǎng)絡(luò)上,需要在計算節(jié)點nova.conf里指定的my_block_storage_ip,將會通過存儲網(wǎng)絡(luò)直接通信。

看完上述內(nèi)容,你們對OpenStack中Glance的作用是什么有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI