這個環(huán)境一共用了6臺8核的服務(wù)器。除去控制器的核心不算,一共有40個可用于計算的核心。其中:
啟動了4臺的cpu作為計算節(jié)點用來跑虛擬機(nova-compute)
一臺服務(wù)器安裝了nova,glance,keystone,dashboard的所有服務(wù)和mysql數(shù)據(jù)庫作為控制節(jié)點
一臺啟用了nova-volume服務(wù),提供給虛擬機額外的塊存儲
這樣圖中顯示的40 cores就是總共的cpu,已經(jīng)用了16個;第二列是內(nèi)存,下面顯示了有兩個部門。分別跑了2個和5個實例。
這張圖展示的是Images,通俗的講就是預(yù)先做好的系統(tǒng)或者模板。images是通過名叫g(shù)lance的這個組件來管理(這下知道glance的用處了吧),它提供命令接口允許用戶把自己做好的系統(tǒng)(支持img,qcow2等格式),至于如何用kvm做自己的img,可以參考這份文檔。
在圖中可以看出,有CentOS,Windows XP,RHEL的模板。另外3個image是用戶自己做的,簡單的是就是用戶使用我做的RHEL(里面只裝了一些基本的系統(tǒng)軟件)生成虛擬機實例,然后在虛擬機中配置了他自己需要的軟件應(yīng)用。配置完成之后,保存為rhel_app這個image,這樣下次有需要的時候,就可以直接從rhel_app啟動新的實例,1分鐘之內(nèi)就可以使用他需要的應(yīng)用。
這張圖顯示的就是目前跑在私有云上的實例。我們可以看到右邊有四個選項,Terminate是撤銷,也就是刪除虛擬機實例,Reboot重啟,Console Log顯示終端上的信息,VNC Console這個是直接在web上面開個vnc窗口顯示console,另外還有Snapshot的按鈕,這個按鈕會出現(xiàn)在以用戶自己身份登陸的界面上。目前我是以admin身份登陸。
限于篇幅原因,還有很多tab頁面我不做介紹了??偟膩碚f,你只要給一個用戶一個帳號,他就能從image選擇不同配置(cpu,內(nèi)存,磁盤)的實例,分配ip,開端口,登陸,完全自主的操作,不需要管理員去干涉。如果你覺得這套管理工具對你或者你們企業(yè)來說有一定的幫助,想要嘗試一下,或者基于它來作二次開發(fā)(因為OpenStack是完全開源的),可以繼續(xù)往下看,我將會簡單介紹一下如何構(gòu)造這么一個系統(tǒng)。
這張圖是個簡單的拓撲圖。每臺host都有兩塊網(wǎng)卡,連接switch1的是外部訪問接口,就是用戶可以直接連接到的ip網(wǎng)絡(luò),這個網(wǎng)絡(luò)用來提供給虛擬機以便用戶使用。switch2使用一個內(nèi)部的網(wǎng)絡(luò),即對用戶不可見,我們可以設(shè)定一個私有網(wǎng)絡(luò),這個網(wǎng)絡(luò)用來node節(jié)點和controller之間的網(wǎng)絡(luò)通訊,image的傳輸,nova-volume和node之間的iscsi的數(shù)據(jù)傳輸。
環(huán)境準備
所有的服務(wù)器都安裝Ubuntu 11.10。
網(wǎng)絡(luò)配置
參照上一篇文章中配置網(wǎng)絡(luò)接口那一部分,請把br100的設(shè)置controller為10.200.200.1,node1為2,以此類推。
時間同步
時間同步很重要,保證你各個節(jié)點之間,通常在controller上配置ntp服務(wù)器。其余節(jié)點的配置文件以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這個你可以設(shè)置為你自己想要安裝的目錄,我這里用/data/stack
FIXED_RANGE這個很重要,簡單的說就是switch2的網(wǎng)段
FLOATING_RANGE外網(wǎng)的地址網(wǎng)段
FLAT_INTERFACE這個就是你綁定網(wǎng)橋的那個網(wǎng)口。和你/etc/network/interfaces里一致
MYSQL_USER腳本里默認使用root,我使用了一個別的用戶。這個隨便你
然后執(zhí)行腳本./stack.sh
一開始會問你幾個密碼,分別是mysql,rabbitmq,service_token,horizon and keystone admin。你可以按照自己的輸入,只是要注意別搞混了。接著它就會運行下載安裝,由于可能網(wǎng)絡(luò)的原因會導(dǎo)致安裝中途斷掉,遇到這種情況,重新運行腳本即可。腳本執(zhí)行完之后,屏幕上會出現(xiàn)“stack.sh completed in $SECONDS seconds.”
這時候,打開你的web瀏覽器。輸入 “http://$HOST_IP/”,$HOST_IP/就是我的10.11.3.62,輸入你自己的,如果出現(xiàn)登陸界面,輸入admin和剛才的 horizon and keystone admin這個密碼。如果登陸成功,那就說明你完成了controller的安裝。
默認情況下,controller上面會起所有nova的服務(wù),你應(yīng)該可以看到你有幾個cpu和內(nèi)存可以使用,現(xiàn)在已經(jīng)可以使用基本的功能了。這個時候,你的controller其實即是控制節(jié)點,也是計算節(jié)點(因為起了nova-compute和nova-network服務(wù))。
以上就是一個最簡單的搭建教程。如果你只是想看一下界面,知道它是怎么樣的一個東西,那么現(xiàn)在已經(jīng)足夠了。
在下一篇中,我將介紹如何平行的添加節(jié)點,制作鏡像,進行快照,設(shè)定實例的配置選項。如果你想繼續(xù)深入,把OpenStack作為一個可以研究的對象的話,請先讀懂devstack的腳本,然后我們再深入。