您好,登錄后才能下訂單哦!
OpenStack鏡像服務是IaaS的核心服務。鏡像服務主要是由glance組件實現。它接受磁盤鏡像或服務器鏡像API請求,和來自終端用戶或OpenStack計算組件的元數據定義。它也支持包括OpenStack對象存儲在內的多種類型倉庫上的磁盤鏡像或服務器鏡像存儲。
大量周期性進程運行于OpenStack鏡像服務上以支持緩存。同步復制(Replication)服務保證集群中的一致性和可用性。其它周期性進程包括auditors, updaters, 和 reapers。
OpenStack鏡像服務包括以下組件:
glance-api
接收鏡像API的調用,諸如鏡像發現、恢復、存儲。
glance-registry
存儲、處理和恢復鏡像的元數據,元數據包括項諸如大小和類型。
數據庫
存放鏡像元數據,用戶是可以依據個人喜好選擇數據庫的,多數的部署使用MySQL或SQLite。
glance組件的具體功能如下:
1)提供REST API,讓用戶能夠查詢獲取image的元數據和image本身
2)支持多種方式存儲image,包括普通的文件系統、SWIFT、Amazon S3 等。
3) 對Instacne執行 Snashot創建新對image.
一、glance的架構
大致架構如下所示:
1.1 glance-api
glance-api 是系統后臺運行的服務進程,對外提供REST API,響應image查詢,獲取和存儲的調用,glance-api不會真正處理請求。
如果是與image metadata相關的操作,glance-api會把強求轉發給glance-registry;如果是與image自身存取的相關操作,glance-api會把請求轉發給image的store bakend.
在控制節點上可以查看glance-api進程。
ps -ef|grep glance-api
1.2 glance-registry
glance-registry是系統后臺運行的服務進程,負責處理和存取image的metadata,例如image的大小和類型
查看進程
ps -ef|grep glance-registry
glance支持多種格式的鏡像
1.3Database
image的metadata會保持到database中,默認是mysql
在控制節點上查看glance的database信息,如下所示:
1.4 Store backend(后端存儲)
glance 自己并存儲image,真正的image是存放在backend中的。glance支持多種backend,包括:
A directory on local file system (默認配置)
GridFS
Ceph RBD
Amazon S3
Sheepdog
Openstack block storage(cinder)
Openstack object Storage(Switf)
VMware ESX
具體使用哪種backend,實在/etc/glance/glance-api.conf中配置的
在packstack allinone中,image存放在控制節點本地目錄/var/lib/glance/images/中的
使用命令查看已經存在的image
glance image-list
查看保存目錄
每個image在目錄下都對應有有一個文件,文件以image的ID命名
二 、glance的操作
2.1使用web UI
admin登陸后,點擊項目->計算->鏡像
點擊創建鏡像,為鏡像命名,格式選擇qcow2格式,(qemu copy on write,寫時復制,快照格式)
可以在https://download.cirros-cloud.net/0.3.4/ 下載j鏡像文件cirros-0.3.4-x86_64-disk.img,這個cirros是一個很小的linux 鏡像,適合測試使用
如果選擇“共有”,該鏡像則可以被其他項目使用,如果選擇受保護的,則該鏡像不能被刪除。
上傳完畢后,點擊創建即可。創建完畢后,可以點擊鏡像查看屬性
2.2使用命令
對于較小的鏡像,可以使用web ui上傳會很快,但是不是適合上傳較大的鏡像。
比如我們上傳一個4G大小的iso文件,我們首先使用文件傳輸(ftp,sftp)傳輸到控制節點的指定目錄中,例如/root/中,然后再通過openstack的命令去上傳的鏡像如下所示:(注意: 空格被linux 識別為\)
使用如下命令進行創建
glance image-create --name windwosserver2008r2 --file /root/windows\ Server\ 2008.iso --disk-format iso --container-format bare --progress
創建的鏡像格式為iso,使用--progress顯示上傳進度
創建完畢后,查看鏡像
刪除鏡像,可以使用glance image-delete命令,后面接ID,如
glance image-delete 57e1a4c2-3915-4f13-a0d9-411e777c2082
三、使用openstack cli
每個openstack組件服務都有自己的cli,命令關鍵字就是組件名稱,例如glance命令就是使用glance組件
注意,在使用openstack cli 之前都需要設置環境變量,packstack中方式如下:
source keystonerc_admin
每個命令都有增、刪、查、改的操作
CMD <obj>--creare [parm1] [parm2].....
CMD <obj>--delete [parm1] [parm2].....
CMD <obj>--update [parm1] [parm2].....
CMD <obj>--list
CMD <obj>--show [parm]
對于glance的鏡像管理命令舉例如下:
glance image-create
glance image-delete
glance image-update
glance image-show
可以使用help查看使用命令方法
查看glance help image-create
openstack排查問題的方法主要是通過日志,每個組件服務都有自己單獨的日志,在packstack中,主要有兩個日志,galanceapi.log和glaceregistry.log,保存在/var/log/glance中
api.log記錄了REST API調用情況
glance.log日志,記錄了glace服務處理請求的過程以及數據庫操作
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。