一:簡介
一、作用
1. Glance是OpenStack鏡像服務,用來注冊、登陸和檢索虛擬機鏡像。
2. Glance服務提供了一個REST API,使你能夠查詢虛擬機鏡像元數據和檢索的實際鏡像。
3. 通過鏡像服務提供的虛擬機鏡像可以存儲在不同的位置,從簡單的文件系統對象存儲到類似OpenStack對象存儲系統。
4. 提供了對虛擬機部署的時候所能提供的鏡像的管理,包含鏡像的導入,格式,以及制作相應的模板
二、鏡像狀態
1. Queued:初始化鏡像狀態,在鏡像文件剛剛被創建,在glance數據庫中已經保存了鏡像標示符,但還沒有上傳至glance中,此時的glance對鏡像數據沒有任何描述,其存儲空間為0。
2. Saving:鏡像的原始數據在上傳中的一種過度狀態,它產生在鏡像數據上傳至glance的過程中,一般來講,glance收到一個image請求后,才將鏡像上傳給glance。
3. Active:鏡像成功上傳完畢以后的一種狀態,它表明glance中可用的鏡像。
4. Killed:鏡像上傳失敗或者鏡像文件不可讀的情況下,glance將鏡像狀態設置成Killed。
5. Deleted:鏡像文件馬上會被刪除,只是當前glance這種仍然保留該鏡像文件的相關信息和原始鏡像數據。
6. Pending_delete:鏡像文件馬上會被刪除,鏡像文件不能恢復。

三、磁盤格式
1. RAW:RAW即常說的裸格式,它其實就是沒有格式,最大的特點就是簡單,數據寫入什么就是什么,不做任何修飾,所以再性能方面很不錯,甚至不需要啟動這個鏡像的虛擬機,只需要文件掛載即可直接讀寫內部數據。並且由於RAW格式簡單,因此RAW和其他格式之間的轉換也更容易。在KVM的虛擬化環境下,有很多使用RAW格式的虛擬機。
2. QCOW2:它是QEMU的CopyOn Write特性的磁盤格式,主要特性是磁盤文件大小可以隨着數據的增長而增長。譬如創建一個10GB的虛擬機,實際虛擬機內部只用了5GB,那么初始的qcow2磁盤文件大小就是5GB。與RAW相比,使用這種格式可以節省一部分空間資源。
3. VHD:VHD也是一種通用的磁盤格式。微軟公司的Virtual PC和Hyper-V使用的就是VHD格式。VirtualBox也提供了對VHD的支持。如果要在OpenStack上使用Hyper-V的虛擬化,就應該上傳VHD格式的鏡像文件。
4. VMDK:VMware創建的一個虛擬機磁盤格式,目前也是一個開放的通用格式,除了VMware自家的產品外,QEMU和VirtualBox也提供了對VMDK格式的支持。
5. VDI:Oracle公司的VirtualBox虛擬軟件所使用的格式。
6. ISO:ISO是指一種存檔數據文件在光盤上的格式。
7. AKI、ARI、AMI:Amazon公司的AWS所使用的鏡像格式。
四、容器格式
1. BARE:沒有容器的一種鏡像元數據格式。
2. OVF:開放虛擬化格式。
3. OVA:開放虛擬化設備格式。
4. AKI、ARI:Amazon公司的AWS所使用的鏡像格式。

二:架構
一、核心架構

1. Glance-api:接收REST API的請求,然后通過其他模塊(glance-registry及image store)來完成諸如鏡像的查找、獲取、上傳、刪除等操作,默認監聽端口9292。
2. Glance-registry:用於與MariaDB數據庫交互,用於存儲或獲取鏡像的元數據(metadata),默認監聽端口9191。
3. Store Adapter:通過提供的存儲接口來獲取鏡像
4. Database:Image的metadata會保持到database中,主要使用MySQL和SQLite。
二、配置文件
1. Glance-api.conf :Glance api 服務配置文件。
1. Glance服務安裝的日志和調試信息,例如:debug、日志文件路徑log_file等參數。
2. Glance服務的API服務器的相關信息。例如:服務綁定的IP地址、端口bind_port等參數
3. Registry服務的相關信息,例如:Registry服務的網絡地址、監聽的端口號、glance與Registry間通信的協議等。
4. 系統消息相關參數,該部分主要配置glance與系統消息的收發。消息隊列rabbitmq的IP地址、監聽端口等參數
5. 鏡像后端存儲的相關配置,一般情況下,glance-api.config中包含普通文件存儲、swift、S3、RBD等較為常見的存儲設備的信息配置。
2. Glance-registry.conf :Glanceregistry服務配置文件,用戶存儲鏡像有關的元數據。
3. glance-scrubber.conf :用於清理已刪除的鏡像的服務。
4. policy.json :鏡像服務的訪問控制。在這里,我們可以定義角色和策略,是OpenStack Glance中的安全特性。
三、工作流程

三:常用操作

