天天看點

OpenStack的Glance元件詳解

一:簡介

    一、作用

       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:鏡像檔案馬上會被删除,鏡像檔案不能恢複。

OpenStack的Glance元件詳解

    三、磁盤格式

       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是指一種存檔資料檔案在CD光牒上的格式。

       7. AKI、ARI、AMI:Amazon公司的AWS所使用的鏡像格式。

    四、容器格式

       1. BARE:沒有容器的一種鏡像中繼資料格式。

       2. OVF:開放虛拟化格式。

       3. OVA:開放虛拟化裝置格式。

       4. AKI、ARI:Amazon公司的AWS所使用的鏡像格式。

OpenStack的Glance元件詳解

二:架構

    一、核心架構

OpenStack的Glance元件詳解

       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中的安全特性。

    三、工作流程

OpenStack的Glance元件詳解

三:常用操作

OpenStack的Glance元件詳解

繼續閱讀