OpenStack组件
OpenStack的架構及組件(Havana)
| 服務 | 項目名 | 描述 |
| 控制臺 | Horizon | 用戶通過該服務與OpenStack的各服務進行交互,如啟動虛機實例、分配IP地址、設置訪問控制等; |
| 計算 | Nova | 按需分派并管理虛機; |
| 網絡 | Neutron | 通常是計算服務通過該服務管理網絡設置之間的連接,也可以允許終端用戶創建并添加網絡接口;通過一個插件式架構支持大量網絡廣商設備及網絡技術; |
| 存儲類 | ||
| 對象存儲 | Swift | 存取文件,但并不提供傳統掛載式的文件服務; |
| 塊存儲 | Cinder | 向虛機提供可用于持久存儲的塊存儲服務; |
| 共用服務 | ||
| 身份服務 | Keystone | 為OpenStack提供認證及授權服務。 |
| 鏡像服務 | Glance | 提供虛機鏡像的注冊服務;同時計算服務也使用該服務分派實例; |
| 計量/監控服務 | Ceilometer | 用于計費、基準測試及數據統計等功能 |
| 更高層服務 | ||
| 編排組織服務 | Heat | 使用自帶的HOT模板或AWS的CloudFormation模板,通過OpenStack中各服務的REST API,將各組件的資源組織形成云應用; |
?
Nova
計算服務是OpenStack的核心服務,它由nova-compute模塊通過libvirt、XenAPI等管理hypervisor,從而管理虛機,此外它還通過nova-api服務向外提供如EC2兼容、管控功能等的接口,通過nova-scheduler模塊提供虛機調研邏輯等;這些模塊間的通信全部通過消息隊列完成;
Swift
對象存儲服務是OpenStack最早期的兩個服務之一(另一個是計算服務),在OpenStack平臺中,任何的數據都是一個對象;swift-proxy模塊對外提供如HTTP(S)、OpenStack Object API及與S3兼容的存取接口。對象的存取經swift-proxy接入后,還需要經三個模塊進行定位,即account、container、object;這是因為在OpenStack中一個對象被描述為:某個帳戶下某個容器中的某個對象;
Glance
Glance的出現是解決虛機鏡像的管理問題;在生成一個鏡像后,需要將鏡像注冊到系統的數據庫中;當要實例化一個虛機時,需要將鏡像分派到一臺具體的實機上用來以啟動虛機;因而Glance最重要的接口是鏡像的注冊和分派;
?
Cinder
Essex將nove的卷管理api獨立化后,Folsom終于將卷管理服務抽離成了Cinder;Cinder管理所有的塊存儲設備,塊設備可以掛接在虛機的實例中,然后虛機里的guest系統可以像操作本地卷一樣操作塊存儲設備;
Cinder需要處理的主要問題應該是接入各種塊設備,如本地磁盤、LVM或各大廣商提供的設備如EMC、NetApp、HP、HuaWei,還有如Vmware提供的虛擬塊設備等。
值得一提的是發現在Cinder的驅動列表中出現了NFS,按理說NFS提供的不是塊訪問接口,而是文件訪問接口,走到文檔中看到說明為:NFS based cinder driver. Creates file on NFS share for using it as block device on hypervisor.竟然是用NFS上的文件模擬塊設備。為什么不直接寫一個將本地文件模擬為塊設備的驅動呢?應該是寫成NFS驅動,可以將NFS的掛載動作封裝在驅動中。
Neutron
經過一定時間的演變,網絡管理也抽離成一個獨立的服務;在OpenStack的網絡管理流程中,通常需要經過以下幾個步驟:
1.?? ?創建一個網絡;
2.?? ?創建一個子網;
3.?? ?啟動一個虛機,將一塊網卡對接到指定的網絡上;
4.?? ?刪除虛機;
5.?? ?刪除網絡端口;
6.?? ?刪除網絡;
Keystone
身份服務需要進行認證憑證的驗證及關于用戶、角色等的信息,及所有相關的元數據;這些數據全都由Keystone服務管理,并提供CRUD的操作方法;另外這些信息可以從另一個認證服務中獲取,例如使用LDAP做Keystone的后端。
?
OpenStack與VM
以上這些服務與服務、服務與虛機的關系如下圖所示:
?
?
- 真正服務于VM的服務只有Nova、Glance、Neutron、Cinder:
- Nova調派資源實例化虛機;
- Glance提供虛機實例化時需要的鏡像;
- Neutron提供網絡連接;
- Cinder提供外接的塊存儲服務;
- Ceilometer從上面與虛機相關的幾個服務中收集數據,用于統計、監控、計費、報警等;
- Swift可以為Glance提供鏡像的存儲服務,可以為Cinder提供卷的備份服務;
- Keystone為所有服務提供認證、授權等服務;
- Horizon為所有服務提供基于Web的操作接口;
- 通過Heat可以方便地將各組件組織起來;
?
轉載于:https://www.cnblogs.com/xueluo/p/3510761.html
總結
以上是生活随笔為你收集整理的OpenStack组件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单片机c语言应用100例第3版课后答案,
- 下一篇: 该文件可能是只读的 或者您要访问的位置_