前言:
本篇博客爲OpenStack—glance組件基礎理論,之後會持續更新~~
一、Glance簡介
- glance 鏡像服務允許用戶去發現、註冊和獲取虛擬機鏡像。他提供了一個rest api(交互接口),允許查詢虛擬機鏡像的元數據,並獲取一個現存的鏡像。
- glance可以將虛擬機鏡像存放到各種位置,從簡單的文件系統到對象存儲系統,如openstack的swift對象存儲服務項目,默認是存儲在本地文件系統上的。
- 在生產環境中這個模塊本身不會存儲大量的數據,需要掛載後臺存儲swift來存放實際的鏡像數據
- 在openstack環境中,鏡像是用於在計算節點生成虛擬機。脫離了鏡像服務,就無法創建虛擬機,所以鏡像服務是openstack的一個核心服務
二、Glance主要組件及功能
-
glance-api
glance-api 用於接收鏡像API的調用,諸如鏡像發現、恢復及存儲等,作爲一個後臺進程,glance-api對外提供rest api接口,響應用戶發起的鏡像查詢,獲取和存儲的調用
-
glance-registry
glance-registry用於存儲、處理和恢復鏡像的元數據,元數據包括鏡像的大小和類型等屬性,registry是一個內部服務接口,不建議暴露給普通用戶
-
database
database用於存放鏡像的元數據,可以根據需要選擇數據庫,如MySQL、SQLite等
-
storage repository for image files(鏡像儲藏庫)
一般情況,glance不需要存儲任何鏡像,而是將鏡像存儲在後端倉庫中。
glacne 支持多種倉庫,例如:Swift、cinder、vmware的ESX、vCenter、亞馬遜S3、HTTP可用服務器、ceph等等
三、鏡像格式
-
Glance支持多種鏡像格式,包括磁盤格式和容器格式,常見的格式包括以下幾種:
-
① RAW
RAW是一種沒有格式或裸格式的磁盤文件類型,RAW對數據不做任何修飾或處理,直接保存最原始的狀態,所以在性能方面非常出色。由於RAW格式保存原始數據,因此更容易和其他鏡像格式進行轉換
-
② QCOW2
QCOW2是QCOW的升級版本,其主要特性是磁盤文件大小可以動態按需增長,並且不會佔用所有的實際磁盤空間大小。與RAW相比,使用這種格式可以節省磁盤容量。
-
③ VHD
VHD是微軟公司產品使用的磁盤格式。Virtual PC(微軟早期虛擬產品)和Hyper-V使用的就是VHD格式。Virtual BOX也提供了對VHD的支持。如需在OpenStack上使用的Htper-V類型的虛擬化,就應上傳VHD格式的鏡像文件。
-
④ VMDK
VMDK是VMware公司產品使用的磁盤格式。目前也是一個開放的通用格式,除了VMware自家的產品外,QEMU和Virtual BOX也提供了對VMDK格式的支持
-
⑤ VDI
VDI是Oracle公司的Virtual BOX虛擬軟件所使用的格式
-
⑥ ISO
是指一種存檔數據文件在光盤上的格式
-
⑦ AKI、ARI、AMI
Amazon公司的AWS所使用的鏡像格式
四、glance 主要功能與常用命令
4.1 主要功能
- 提供虛擬機鏡像的存儲,查詢和檢索功能,爲nova進行服務,依賴於存儲服務(存儲鏡像本身)和數據庫服務(存儲鏡像相關的數據)。
4.2 glance 常用管理命令
-
創建鏡像
glance image-create --name centos5.8_x86_64 --disk-format=qcow2 --container-format=bare --is-public=True --file=/tmp/centos5.8_x86_64_growroot_1.2_20131231.qcow2
-
上傳image
glance add name=“linux 12.04 cloudimg amd64” is_public=true container_format=ovf disk_format=qcow2 < /root/precise-server-cloudimg-amd64-disk1.img
-
查看glance狀態
glance image-list
-
列出鏡像的詳細信息
glance image-show 0c47db9c-5f74-4544-8ada-0894c1d2c20c
-
刪除鏡像
nova image-delete cirros
-
設置鏡像參數
openstack image set --property hw_cpu_cores=8 --property hw_cpu_threads=2 --property hw_cpu_sockets=2 --property hw_disk_bus=ide 0215d732-7da9-444e-a7b5-798d38c769b5
如果無法正常啓動可以設置–property hw_disk_bud=ide參數嘗試
-
將快照轉爲鏡像
鏡像默認存儲位置/var/lib/glance/images
glance image-create --name “CentOS 7” --file 228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b --disk-format qcow2 --container-format bare --visibility public --progress
glance image-create --name “cirros-raw” --file cirros-0.3.3-x86_64-disk.img --disk-format raw --container-format bare --visibility public --progress
-
鏡像下載命令
glance image-download --file /root/centos7-7.qcow2 c71568de-e37f-49cb-8ab4-01bd0cbbded8
五、小結
-
傳輸ISO鏡像時,不要在web界面傳,在後臺的控制節點傳,登錄控制節點再使用命令傳
不同的虛擬化產品能到處不同格式的鏡像,可以通過glance再把這些鏡像導到openstack上,glance的file默認存儲在系統中
生產環境,一般用的數據比較大,存儲在指定Swift(對象存儲)中