日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

openstack之Glance介绍

發布時間:2023/12/29 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 openstack之Glance介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是Glance

glance即image service(鏡像服務),是為虛擬機的創建提供鏡像服務

為什么要有Glance

我們基于openstack是構建基本的Iaas平臺對外提供虛機,而虛機在創建的時候必須為其選擇操作系統,glance服務器就是為該選擇提供不同的系統鏡像

Glance的功能

glance服務使用戶能夠發現,注冊,檢索虛擬機的鏡像,它提供一個能夠查詢虛擬機鏡像元數據和檢索真實鏡像的REST API

具體的:REST API的體現就是一個URI,而在glance中通過一個URI地址來唯一標示一個鏡像的形式如下

<Glance Server Location>/v1/images/<ID>

<Glance Server Location>:glance服務安裝的位置

/v1:使用v1版本

/images:請求的類型為鏡像

/<ID>:一個uuid,在glance中全局唯一

Glance的兩個版本

在Newton之前的版本中,glance支持兩種REST API V1和V2,兩者區別還是很明顯的:

  1.V1只提供了基本的image和member操作功能:創建鏡像、刪除、下載、列表、查詢、更新,以及鏡像tenant成員的創建、刪除和列表。

  2.V2除了支持V1的所有功能外,主要還增加了如下功能:

    鏡像location的添加、刪除和修改等操作

    metadata namespace操作

    image tag操作

  3.V1和V2對image store的支持是相同的。

Newton版本中V1已經屬于老版本了,以后終將被移除

鏡像上傳的存儲方式有多種:Swift、File system、 Amazon S3、HTTP、Ceph、Cinder等

鏡像的數據存放

鏡像的數據包括:鏡像元數據和鏡像本身

其中鏡像的元數據是通過glance中的一個glance-registry模塊保存的數據庫中,而鏡像本身則是通過glance中的Glance store Divers存放到各種存儲設備中。

這次試驗我使用的是file system作為后端的存儲,即將鏡像存放到本地文件系統中。上傳或存儲鏡像的目錄位于安裝glance服務的機器上的默認目錄:/var/lib/glance/images/,我們應該確認該目錄有足夠大的空間可以使用。

需要特別強調的一點是:file后端通常位于控制節點本身,因而這種后端并不適用于多節點部署

鏡像的訪問權限

public 公共的:可以被所有的項目使用。

private 私有的/項目的:只能被image owner所在的project使用(即只能在一個項目中使用)

shared 共享的:一個非共享的image可以共享給其他project。

protected 受保護的:protected的image不能被刪除

鏡像及任務的各種狀態

下圖為官網圖

注解:

  queued:沒有上傳image數據,只有db中的元數據

  saving:正在上傳image data。

  active:當鏡像上傳完畢,鏡像就可以被使用,此時屬于active

  deactivated:表示任何非管理員用戶都無權訪問鏡像數據,禁止下載鏡像,也禁止鏡像導出和鏡像克隆之類的操作(請求鏡像數據的操作)

  killed:表示上傳過程中發生錯誤,并且鏡像不可讀

  deleted:glance已經保存了該鏡像的數據,但是該鏡像不在可用,處于該狀態的鏡像將在不久后被自動刪除

  pending_delete:與delete想說,glance還沒有清除鏡像數據,處于該狀態的鏡像不可恢復

PS:上面的一些含義簡單了解下就可以。在命令行中不常見,只有在安裝的horizon后出現圖形化界面后會有顯示

glance包含的組件

glance-api

接受api請求,并提供相應操作,包括發現、檢索、存儲

glance-registry

存儲、處理、檢索鏡像的元數據,元數據包括例如鏡像大小、類型等

Database

可以選擇組件喜歡的數據庫存儲進行元數據,大多數使用MySQL或者SQLite.

Storage repository for image files

指的是存儲鏡像文件的倉庫或者稱為backend,可以是:

1本地文件存儲(或者任何掛載到glance-api控制節點的文件系統)

2.對象存儲Object Stroage(Swift)

3.塊存儲RADOS(ceph)

4.VMware數據存儲

5.HTTP

Glance與Openstack與其他服務的關系

對glance來說,他的客戶端Glance Cli可以是:

1.glance的命令行工具

2.Horizon

3.nova

同keystone一樣,glance是Iass的另外一個中心,keystone是關于權限的中心,而glance是關于鏡像的中心。glance可以被終端用戶或者nova服務訪問:接受磁盤或者鏡像的API請求和定義鏡像元數據的操作

Glance工作流程詳解

管網圖

注解:

A client

使用glance服務的應用程序,可以是命令行工具,horizon,nova等

REST API

glance是一個client-server架構,提供一個REST API,而使用者就是通過REST API來執行關于鏡像的各種操作

Glance Domain Controller

glance內主要的中間件實現,相當于調度員,作用是將glance內部服務的操作分發到各層(Auth認證,Notifier,Policy策略,Quota,Location,DB數據庫連接)具體任務由每個層實現。

  第一層:Auth

  驗證鏡像自己或者它的屬性是否可以被修改,只有管理員和鏡像的擁有者才可以執行修改操作,否則保存。

  第二層:Property protection

  由glance domain controller控制的七層組件

  可選層,只有在glance的配置文件中設置了property_protection_file參數才會生效,它提供了兩種類型的鏡像屬性:

  1.核心屬性,是在鏡像參數中指定的;

  2元數據屬性,是任意可以被附加到一個鏡像上的key/value

  該層的功能就是通過調用glance的public API來管理對meta屬性的訪問,你也可以在它的配置文件中限定這個訪問

  第三層:Notifier

  把下列信息添加到queue隊列中

  1.關于所有鏡像修改的通知

  2.在使用過程中發生的所有的異常和警告

  第四層:Policy

  1.定義操作鏡像的訪問規則rules,這些規則都定義在/etc/policy.json文件中

  2.監控rules的執行

  第五層:Quota

  如果針對一個用戶,管理員為其規定好他能夠上傳的所有鏡像的大小配額,此處的Quota層就是用來檢測用戶上傳是否超出配額限制:

  1.如果沒有超出配額限制,那么添加鏡像的操作成功

  2.如果超出了配額,那么添加鏡像的操作失敗并且報錯。

  

  第六層:Location

  與Glance Store交互,如上傳下載等。由于可以有多個存儲后端,不同的鏡像存放的位置都被該組件管理。

  1.當一個新的鏡像位置被添加時,檢測該URI是否正確。

  2.當一個鏡像位置被改變時,負責從存儲中刪除該鏡像。

  3.阻止鏡像位置的重復

  第七層:DB

  1.實現了與數據庫API的交互

  2.將鏡像轉換為相應的格式以記錄在數據庫中。并且從數據庫接收的信息轉換為可操作的鏡像對象。

Registry Layer

可選層,用來組織安全

通過使用這個單獨的服務,來控制Glance Domain Controller與Glance DB之間的通信

Clance DB

glance服務使用同一一個核心庫Glance DB,該庫對glance內部所有依賴數據庫的組件來說是共享的。

Glance Store

用來組織處理Glance和各種存儲后端的交互

所有有的進行文件操作都是通過調用Glance Store庫執行的,它負責與外部存儲端和(或)本地文件存儲系統的交互。

Glance Store提供了一個統一的接口來訪問后端的存儲

Disk和Container格式

當我們添加一個鏡像到glance時,你必須指定虛擬機的disk格式和container格式,關于disk格式請自行研究kvm等虛擬。

disk和container格式是每個部署的基本配置,常用的格式如下:

1.Disk Format

不同的虛擬化應用的廠針有不同的虛擬機鏡像的disk格式:

raw

This is an unstructured disk image format

vhd

This is the VHD disk format, a common disk format used by virtual machine monitors from VMware, Xen, Microsoft, VirtualBox, and others

vhdx

This is the VHDX disk format, an enhanced version of the vhd format which supports larger disk sizes among other features.

vmdk

Another common disk format supported by many common virtual machine monitors

vdi

A disk format supported by VirtualBox virtual machine monitor and the QEMU emulator

iso

An archive format for the data contents of an optical disc (e.g. CDROM).

ploop

A disk format supported and used by Virtuozzo to run OS Containers

qcow2

A disk format supported by the QEMU emulator that can expand dynamically and supports Copy on Write

aki

This indicates what is stored in Glance is an Amazon kernel image

ari

This indicates what is stored in Glance is an Amazon ramdisk image

ami

This indicates what is stored in Glance is an Amazon machine image

2.Container Format

容器container格式是指虛擬機映像是否包含一個文件格式,該文件格式還包含有關實際虛擬機的元數據。

需要注意的是:容器格式字符串在當前并不會被glance或其他OpenStack組件的使用,所以如果你不確定,簡單的將容器格式指定bare是安全的。

你可以設置如下容器格式:

bare

This indicates there is no container or metadata envelope for the image

ovf

This is the OVF container format

aki

This indicates what is stored in Glance is an Amazon kernel image

ari

This indicates what is stored in Glance is an Amazon ramdisk image

ami

This indicates what is stored in Glance is an Amazon machine image

ova

This indicates what is stored in Glance is an OVA tar archive file

docker

This indicates what is stored in Glance is a Docker tar archive of the container filesystem

總結

以上是生活随笔為你收集整理的openstack之Glance介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。