讀古今文學網 > OpenStack系統架構設計實戰 > 3.9 Glance >

3.9 Glance

Glanc組件提供虛擬機鏡像存儲和管理服務,它主要是提供虛擬鏡像的查詢、註冊和傳輸等服務。但Glance本身並不直接實現對虛擬機鏡像的存儲功能,Glance只是一個代理,它充當了鏡像存儲服務和OpenStack其他組件(如Nova)之間溝通的紐帶。Glanc支持如下兩種鏡像存儲機制:

1)利用OpenStack對像存儲(Swift)機制來存儲鏡像,Swift對像存儲具有極高的數據持久性能,確保鏡像文件不會丟失。

2)利用Amazon的簡單存儲解決方案(S3)直接存儲虛擬機鏡像。

Havana版本後Glance新增支持鏡像存儲到多種不同類型的存儲池,加入了Sheepdog支持,並且Cinder也可以作為後端存儲驅動之一。

Glanc支持多種虛擬機磁盤鏡像格式:

1)raw(未做任何處理的非結構化的鏡像格式)。

2)VHD(一種通用的虛擬機磁盤格式,可用於VMware、Xen、Microsoft Virtual PC/Virtual服務器/Hyper-V、VirtualBox等)。

·vmdk(VMware的虛擬機磁盤格式)。

·vdi(VirtualBox、QEMU等支持的虛擬機磁盤格式)。

·iso(光盤存檔格式)。

·qcow2(一種支持QEMU並且可以動態擴展的磁盤格式)。

·aki(Amazon Kernel鏡像)。

·ari(Amazon Ramdisk鏡像)。

·ami(Amazon虛擬機鏡像)。

Glance的架構如圖3-5所示。

圖3-5 Glance架構

從上圖看,Glance主要由Glance API和Glance寄存器這兩種服務組成,這兩種服務都是WSGI服務器。Glance API是Glance服務的入口,負責接收用戶的RESTful API請求。Glance寄存器處理的是與鏡像元數據相關的RESTful請求,當Glance API收到用戶的RESTful API請求後,如果判斷該請求是與元數據相關,就把該請求轉給Glance寄存器服務。然後Glance寄存器會解析用戶元數據請求的內容,並和數據庫交互存取和更新鏡像的元數據。

在Glance V1-API版本後,Glance寄存器服務被整合到Glance API服務中去了。