以公司實(shí)際應(yīng)用講解OpenStack到底是什么(入門篇)
原創(chuàng)【51CTO獨(dú)家特稿】可能很多人從Ubuntu和HP的新聞當(dāng)中聽說過OpenStack,知道它跟云計(jì)算相關(guān),可是OpenStack究竟是做什么的,可能不少人還只有比較模糊的感覺。而在之前一篇《OpenStack實(shí)踐之旅:安裝配置篇》發(fā)布之后,有讀者詢問有沒有具體的應(yīng)用。那么接下來,本文將以公司實(shí)際應(yīng)用場(chǎng)景為例,介紹OpenStack能用來做什么。
OpenStack是一個(gè)云平臺(tái)管理的項(xiàng)目,它不是一個(gè)軟件。這個(gè)項(xiàng)目由幾個(gè)主要的組件組合起來完成一些具體的工作。要想直觀的了解它是什么樣子的,請(qǐng)參閱《OpenStack詳細(xì)解讀:定義,好處與使用實(shí)例》一文。
就目前而言,OpenStack在國(guó)外慢慢的流行開來,不少企業(yè)和個(gè)人也在對(duì)它進(jìn)行二次開發(fā)。從我個(gè)人理解,OpenStack作為一種免費(fèi)的開源軟件,可以用在中小企業(yè)內(nèi)部,可以給公司內(nèi)部的開發(fā)測(cè)試部門使用,也可以跑一些應(yīng)用服務(wù)。另外一種就是提供對(duì)外服務(wù),好比作云服務(wù)的企業(yè)會(huì)考慮對(duì)OpenStack進(jìn)行二次開發(fā)和包裝,集成或者新增一些特定的功能或者管理界面。我覺得OpenStack不光光能在1分鐘給你想要的image操作系統(tǒng),也可以做到5分鐘能幫你生成一臺(tái)app節(jié)點(diǎn)(應(yīng)用服務(wù)器)加入到業(yè)務(wù)中去。后者才是我們現(xiàn)在更需要去做的,從irc聊天室、郵件列表、以及一些wiki的內(nèi)容來看,老外已經(jīng)在這方面走在了前面。
在這篇文章里,我將介紹一下一個(gè)簡(jiǎn)單的、可用在公司內(nèi)部的OpenStack構(gòu)建起來的管理平臺(tái)。它看上去是這樣的:
這個(gè)環(huán)境一共用了6臺(tái)8核的服務(wù)器。除去控制器的核心不算,一共有40個(gè)可用于計(jì)算的核心。其中:
- 啟動(dòng)了4臺(tái)的cpu作為計(jì)算節(jié)點(diǎn)用來跑虛擬機(jī)(nova-compute)
- 一臺(tái)服務(wù)器安裝了nova,glance,keystone,dashboard的所有服務(wù)和mysql數(shù)據(jù)庫(kù)作為控制節(jié)點(diǎn)
- 一臺(tái)啟用了nova-volume服務(wù),提供給虛擬機(jī)額外的塊存儲(chǔ)
這樣圖中顯示的40 cores就是總共的cpu,已經(jīng)用了16個(gè);第二列是內(nèi)存,下面顯示了有兩個(gè)部門。分別跑了2個(gè)和5個(gè)實(shí)例。
這張圖展示的是Images,通俗的講就是預(yù)先做好的系統(tǒng)或者模板。images是通過名叫g(shù)lance的這個(gè)組件來管理(這下知道glance的用處了吧),它提供命令接口允許用戶把自己做好的系統(tǒng)(支持img,qcow2等格式),至于如何用kvm做自己的img,可以參考這份文檔。
在圖中可以看出,有CentOS,Windows XP,RHEL的模板。另外3個(gè)image是用戶自己做的,簡(jiǎn)單的是就是用戶使用我做的RHEL(里面只裝了一些基本的系統(tǒng)軟件)生成虛擬機(jī)實(shí)例,然后在虛擬機(jī)中配置了他自己需要的軟件應(yīng)用。配置完成之后,保存為rhel_app這個(gè)image,這樣下次有需要的時(shí)候,就可以直接從rhel_app啟動(dòng)新的實(shí)例,1分鐘之內(nèi)就可以使用他需要的應(yīng)用。
這張圖顯示的就是目前跑在私有云上的實(shí)例。我們可以看到右邊有四個(gè)選項(xiàng),Terminate是撤銷,也就是刪除虛擬機(jī)實(shí)例,Reboot重啟,Console Log顯示終端上的信息,VNC Console這個(gè)是直接在web上面開個(gè)vnc窗口顯示console,另外還有Snapshot的按鈕,這個(gè)按鈕會(huì)出現(xiàn)在以用戶自己身份登陸的界面上。目前我是以admin身份登陸。
限于篇幅原因,還有很多tab頁面我不做介紹了??偟膩碚f,你只要給一個(gè)用戶一個(gè)帳號(hào),他就能從image選擇不同配置(cpu,內(nèi)存,磁盤)的實(shí)例,分配ip,開端口,登陸,完全自主的操作,不需要管理員去干涉。如果你覺得這套管理工具對(duì)你或者你們企業(yè)來說有一定的幫助,想要嘗試一下,或者基于它來作二次開發(fā)(因?yàn)镺penStack是完全開源的),可以繼續(xù)往下看,我將會(huì)簡(jiǎn)單介紹一下如何構(gòu)造這么一個(gè)系統(tǒng)。
這張圖是個(gè)簡(jiǎn)單的拓?fù)鋱D。每臺(tái)host都有兩塊網(wǎng)卡,連接switch1的是外部訪問接口,就是用戶可以直接連接到的ip網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)用來提供給虛擬機(jī)以便用戶使用。switch2使用一個(gè)內(nèi)部的網(wǎng)絡(luò),即對(duì)用戶不可見,我們可以設(shè)定一個(gè)私有網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)用來node節(jié)點(diǎn)和controller之間的網(wǎng)絡(luò)通訊,image的傳輸,nova-volume和node之間的iscsi的數(shù)據(jù)傳輸。
環(huán)境準(zhǔn)備
所有的服務(wù)器都安裝Ubuntu 11.10。
網(wǎng)絡(luò)配置
參照上一篇文章中配置網(wǎng)絡(luò)接口那一部分,請(qǐng)把br100的設(shè)置controller為10.200.200.1,node1為2,以此類推。
時(shí)間同步
時(shí)間同步很重要,保證你各個(gè)節(jié)點(diǎn)之間,通常在controller上配置ntp服務(wù)器。其余節(jié)點(diǎn)的配置文件以controller的ip為ntp服務(wù)器。
安裝控制器
在這里我以controller的外網(wǎng)ip為10.11.3.62,內(nèi)網(wǎng)為10.200.200.1,安裝過程參照了devstack的腳本 ,我注釋掉了腳本里的swift以及一些目前還用不到的部分。設(shè)置了一些自己的環(huán)境參數(shù)。
git clone git://github.com/livemoon/mydevstack cd mydevstack
修改localrc的內(nèi)容:
DEST這個(gè)你可以設(shè)置為你自己想要安裝的目錄,我這里用/data/stack FIXED_RANGE這個(gè)很重要,簡(jiǎn)單的說就是switch2的網(wǎng)段 FLOATING_RANGE外網(wǎng)的地址網(wǎng)段 FLAT_INTERFACE這個(gè)就是你綁定網(wǎng)橋的那個(gè)網(wǎng)口。和你/etc/network/interfaces里一致 MYSQL_USER腳本里默認(rèn)使用root,我使用了一個(gè)別的用戶。這個(gè)隨便你 然后執(zhí)行腳本./stack.sh
一開始會(huì)問你幾個(gè)密碼,分別是mysql,rabbitmq,service_token,horizon and keystone admin。你可以按照自己的輸入,只是要注意別搞混了。接著它就會(huì)運(yùn)行下載安裝,由于可能網(wǎng)絡(luò)的原因會(huì)導(dǎo)致安裝中途斷掉,遇到這種情況,重新運(yùn)行腳本即可。腳本執(zhí)行完之后,屏幕上會(huì)出現(xiàn)“stack.sh completed in $SECONDS seconds.”
這時(shí)候,打開你的web瀏覽器。輸入 “http://$HOST_IP/”,$HOST_IP/就是我的10.11.3.62,輸入你自己的,如果出現(xiàn)登陸界面,輸入admin和剛才的 horizon and keystone admin這個(gè)密碼。如果登陸成功,那就說明你完成了controller的安裝。
默認(rèn)情況下,controller上面會(huì)起所有nova的服務(wù),你應(yīng)該可以看到你有幾個(gè)cpu和內(nèi)存可以使用,現(xiàn)在已經(jīng)可以使用基本的功能了。這個(gè)時(shí)候,你的controller其實(shí)即是控制節(jié)點(diǎn),也是計(jì)算節(jié)點(diǎn)(因?yàn)槠鹆薾ova-compute和nova-network服務(wù))。
以上就是一個(gè)最簡(jiǎn)單的搭建教程。如果你只是想看一下界面,知道它是怎么樣的一個(gè)東西,那么現(xiàn)在已經(jīng)足夠了。
在下一篇中,我將介紹如何平行的添加節(jié)點(diǎn),制作鏡像,進(jìn)行快照,設(shè)定實(shí)例的配置選項(xiàng)。如果你想繼續(xù)深入,把OpenStack作為一個(gè)可以研究的對(duì)象的話,請(qǐng)先讀懂devstack的腳本,然后我們?cè)偕钊搿?/p>
作者簡(jiǎn)介:livemoon(gtalk: mwjpiero@gmail.com),小小SA,關(guān)注mac,BSD,openstack,開源技術(shù),webos。座右銘:非淡泊無以明志,非寧?kù)o無以致遠(yuǎn)。
【編輯推薦】