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