openStack镜像状态以及创建流程学习
glance鏡像組件介紹
目錄
什么是 Image 以及為什么要用 Image?
什么是Glance鏡像服務
Glance幾個重要概念
Glance的基本架構和三大核心模塊
Glance數據庫設計
Glance的配置文件
Glance的日志文件
要理解 Image Service 先得搞清楚什么是 Image 以及為什么要用 Image?
在傳統 IT 環境下,安裝一個系統是要么從安裝 CD 從頭安裝,要么用 Ghost 等克隆工具恢復。這兩種方式有如下幾個問題:
如果要安裝的系統多了效率就很低
時間長,工作量大
安裝完還要進行手工配置,比如安裝其他的軟件,設置 IP 等
備份和恢復系統不靈活
云環境下更高效的解決方案?
云環境下需要更高效的解決方案,這就是 Image。
Image 是一個模板,里面包含了基本的操作系統和其他的軟件。
舉例來說,有家公司需要為每位員工配置一套辦公用的系統,一般需要一個 Win7 系統再加 MS office 軟件。OpenStack 是這樣的:
先手工安裝好這么一個虛機;
然后對虛機執行 snapshot,這樣就得到了一個 image;
當有新員工入職需要辦公環境時,立馬啟動一個或多個該 image 的 instance(虛機)就可以了。
在這個過程中,第 1 步跟傳統方式類似,需要手工操作和一定時間。
但第 2、3 步非常快,全自動化,一般都是秒級別。
而且 2、3 步可以循環做。
比如公司新上了一套 OA 系統,每個員工的 PC 上都得有客戶端軟件。
那么可以在某個員工的虛機中手工安裝好 OA 客戶端,然后執行 snapshot ,得到新的 image,以后就直接使用新 image 創建虛機就可以了。
另外,snapshot 還有備份的作用,能夠非常方便的恢復系統。
什么是Glance鏡像服務?
Glance是OpenStack鏡像服務,用來注冊、登陸和檢索虛擬機鏡像。Glance服務提供了一個REST API,使你能夠查詢虛擬機鏡像元數據和檢索的實際鏡像。通過鏡像服務提供的虛擬機鏡像可以存儲在不同的位置,從簡單的文件系統對象存儲到類似OpenStack對象存儲系統。
默認情況下,上傳的虛擬機鏡像存儲路徑為
/var/lib/glance/images/
Glance負責鏡像文件的注冊、查詢和存儲管理。
glance-api 負責接受Image API請求,處理image查詢和存儲等
glance-registry 負責存儲,處理和檢索image的元數據(大小,類型等)
使用數據庫來存儲image文件的元數據
支持不同的存儲倉庫來存儲image文件,包括swift,本地磁盤,RADOS塊設備,Amazon S3,HTTP
Glance幾個重要概念
(1)鏡像標識(image identify)
鏡像使用URI作為唯一標識。URL符合以下格式:
/images/
一般glance部署完畢,OpenStack默認的將用戶上傳的鏡像文件保存在/var/lib/glance/images中,可以在這個文件路徑下,查看glance管理的鏡像文件。下面就是在配置glance以后該路徑下的一個鏡像文件。
root@controller:/# cd /var/lib/glance/images
root@controller:/var/lib/glance/images# ls
40056951-e712-47f2-b91b-a3c03cd37dbe
(2)鏡像狀態(image status)
鏡像狀態是glance管理鏡像重要的一個內容,glance組件給整個OpenStack提供的鏡像查詢和檢索,glance可以通過虛擬機鏡像的狀態感知某一鏡像的可用狀態。一般來講,OpenStack中鏡像的狀態分成以下幾種:
Queued:Queued狀態這是一種初始化鏡像狀態,在鏡像文件剛剛被創建,在glance數據庫中已經保存了鏡像標示符,但還沒有上傳至glance中,此時的glance對鏡像數據沒有任何描述,其存儲空間為0。
Saving:Saving狀態是鏡像的原始數據在上傳中的一種過度狀態,它產生在鏡像數據上傳至glance的過程中,一般來講,glance收到一個image請求后,才將鏡像上傳給glance。
Active:Active狀態是當鏡像成功上傳完畢以后的一種狀態,它表明glance中可用的鏡像。
Killed:Killed狀態出現在鏡像上傳失敗或者鏡像文件不可讀的情況下,glance將鏡像狀態設置成Killed。
Deleted:Deleted狀態表明一個鏡像文件馬上會被刪除,只是當前glance這種仍然保留該鏡像文件的相關信息和原始鏡像數據。
Pending_delete:Pending_delete狀態類似于deleted,雖然此時的鏡像文件沒有刪除,但鏡像文件不能恢復的。
圖中描述的是glance中鏡像文件的狀態轉換過程,正常情況一個鏡像一般會經歷Queued、Saving、Active和Deleted過程,其他幾種狀態則是只有鏡像出現異常時特殊情況才會出現。
(3)磁盤格式(Disk Forma)
glance中的磁盤格式指的是虛擬機鏡像的磁盤格式。在虛擬機的創建時,需要指定鏡像的磁盤格式。下面是OpenStack支持的鏡像文件磁盤格式。
(4)容器格式(Container Format)
從文件角度,glance中的容器格式是指虛擬鏡像的文件格式,glance對鏡像文件進行管理,往往把鏡像元數據裝載與一個“容器”(信封)中。在這個容器中包含了虛擬機的元數據(metadata)和其他相關信息等數據。在虛擬鏡像文件創建的時候,需要管理員指定鏡像的Container format。
Glance基本架構和三大模塊
它的設計模式采用C/S架構模式,Client通過Glance提供的REST API與Glance的服務器(Server)程序進行通信,Glance的服務器程序通過網絡端口監聽,接收Client發送來的鏡像操作請求,基本架構如圖所示。
Glance-api:接收REST API的請求,然后通過其他模塊(glance-registry及image store)來完成諸如鏡像的查找、獲取、上傳、刪除等操作,默認監聽端口9292。
Glance-registry:用于與MariaDB數據庫交互,用于存儲或獲取鏡像的元數據(metadata);通過glance-registry,可以向數據庫中寫入或獲取鏡像的各種數據,glance-registry監聽端口9191。
Store Adapter:是一個存儲的接口層,通過這個接口,glance可以獲取鏡像,image store支持的存儲有Amazon的S3、OpenStack本身的Swift,本地文件存儲和其他分布式存儲。
glance組件的工作過程
Glance配置文件—glance-api.conf
Glance服務安裝的日志和調試信息,例如:debug、日志文件路徑log_file等參數
Glance服務的API服務器的相關信息。例如:服務綁定的IP地址、端口bind_port等參數
Registry服務的相關信息,例如:Registry服務的網絡地址、監聽的端口號、glance與Registry間通信的協議等
系統消息相關參數,該部分主要配置glance與系統消息的收發。消息隊列rabbitmq的IP地址、監聽端口等參數
鏡像后端存儲的相關配置,一般情況下,glance-api.config中包含普通文件存儲、swift、S3、RBD等較為常見的存儲設備的信息配置。
glance-api-paste.ini文件
Glance中keystone身份驗證的相關配置,該部分主要設置OpenStack的keystone組件服務的IP地址、監聽端口、租戶名稱、用戶名稱、口令等信息
glance的日志文件
/var/log/glance/glance.log
作者:i_nclude
來源:CSDN
原文:https://blog.csdn.net/i_nclude/article/details/78109044
轉載:https://blog.csdn.net/i_nclude/article/details/78109044
總結
以上是生活随笔為你收集整理的openStack镜像状态以及创建流程学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查看tomcat进程号,并终止进程
- 下一篇: 如何打造自己的WebRTC 服务器