Openstack的Havana將要2013年10月17日發佈,目前Redhat和Ubuntu 的包都已經基本準備好,正式版本發佈後,Redhat和Ubuntu 對新版本的支持,應該會在一個星期內就搞定。前端
此次我是使用Redhat的RDO來搭建 http://www.chenshake.com/centos-6-4-rdo-test/,儘可能全面測試一下Dashboard的功能,讓你們對Dashboard的功能有必定的瞭解,這也算是給Openstack作點貢獻ios
Openstack的Dashboard,是基於OpenStack各個組件開發的web管理後臺,項目名字是Horizon。目前 Dashboard並無實現所有的API功能,不少功能多是API提供,可是Dashboard沒有去實現。同時Dashboard還欠缺很多功能, 等待你們一塊兒完善。在Openstack的各個項目裏,若是是一個小的功能,會作做爲一個bug的方式去修復。大的功能,纔會做爲Blueprint。當 你但願作某個功能的時候,不僅是把Blueprint看一遍,還須要把Bug列表看一遍,這樣才能避免重複造輪。web
寫這個文檔,我也基本儘可能把各個項目的bug列表和Blueprint過一遍,加上相關的連接,各位開發者若是感興趣,能夠去修復。給 Openstack貢獻代碼,其實對我的的好處是不少的,能力和視野都會提升不少,在國內,若是你是某個項目的Core,那麼你基本就是去各大外企都不是 問題,成爲Core,並非想象中那麼高難度,尤爲一些新項目。對於新手,如何提交第一個patch給Openstack,其實能夠參考文章提到的各類 bug和功能,這樣會更快成爲一個Commiter.數據庫
Contents [hide]ubuntu
1 登錄windows
用戶註冊的功能,這個並不難,能夠本身開發。不過目前是不支持用戶找回密碼,這個是須要keystone的支持https://bugs.launchpad.net/keystone/+bug/884451 ,Dashboard才能實現取回密碼。
基本全部的系統,都是右上角 「setting」 進行用戶的設置
對於Dashboard來講,分爲3欄,項目,管理員和Settings,
不過目前來講,用戶設置裏的語言和時區的設置,只是保存在cokie裏,沒沒有存放在數據庫裏。默認語言是根據瀏覽器的語言來決定。用戶的個性化的 設置,都是沒法保存。由於目前keystone沒法存放這些數據。你也沒法修改用戶的郵箱,因此也就致使你沒法實現取回密碼功能。https://bugs.launchpad.net/horizon/+bug/884492
若是但願修改默認時區,你須要修改 /etc/openstack-dashboard/local_settings 文件,不過我嘗試修改,重啓Apache,並不生效,還沒確認這是不是bug。
#TIME_ZONE = "UTC"TIME_ZONE = "Asia/Chongqing"
例如虛擬機的數量太多,須要分頁,多少條一頁,這個目前仍是沒法實現。https://blueprints.launchpad.net/horizon/+spec/v3-pagination-support
聽說此次香港峯會,會集中討論這個問題,由於各個組件都有相似的需求。
在最新的H版本,用戶已經能夠修改本身的密碼,修改完密碼後,會強行退出再登錄,由於token須要update。很難想象,這樣簡單的功能,竟然是到H版本才實現。
密碼強度要求,這個其實能夠在前端去實現,不過密碼過時的功能,目前是沒有,這個也是須要keystone提供的功能。https://blueprints.launchpad.net/keystone/+spec/user-password-expiration
用戶操做日誌也是沒有的,用戶的全部操做,都有消息提醒,不過這些消息,都沒有記錄下來,對於Dashboard來講,他是不知道記錄在哪裏,目前 看來應該是Ceilometer該作的事情。有一個stacktach的項目,能夠將notification持久化,而且能夠在web頁面上進行搜索, 或者使用cli作分析。
這個tab,只有管理員權限的用戶才能訪問。
Overview:這裏會列出全部的系統的虛擬機使用狀況。包括刪除的虛擬機。能夠下載Excel表格,其實簡單的計量功能。對於起步階段,應該是能夠知足計費的需求。目前我下載的CSV,中文是亂碼,這也是一個bug:https://bugs.launchpad.net/horizon/+bug/1226910
項目名字,其實就是租戶,在Openstack裏,有點混亂,不一樣的版本,有時候是租戶,有時候是project,沒有接觸過共有云的人,對租戶的概念接觸比較少,很差理解。你就把租戶或項目理解成部門或者企業,租戶下才有用戶,用戶才能設置密碼。
這個是H版本新增長的功能,顯示系統資源的使用狀況。這是經過Ceilometer實現的功能,目前Ceilometer在計量方面作的工做,仍是不錯的,不過在監控上,仍是比較弱。估計這也是爲啥目前Redhat在RDO項目裏集成Nagios的緣由。
這裏就使用的租戶的概念,顯示磁盤,網絡的使用狀況。並且只是30天內,沒法本身定義範圍,等待往後完善吧。
網絡的使用狀況,上面都是Neutron的影子
Stats這個標籤是重點,可讓你查看某個時間段的使用狀況。等往後產生數據,再好好查看一下。
這也是H版本新增長的功能,顯示物理機器的資源狀況,cpu,內存和硬盤,虛擬機數量
不過這裏其實顯示的結果是有點問題。
VCPU(total)實際上是物理資源,就是cpu的核數*2 (超線程),這樣的描述讓人誤會。提交了一個bug https://bugs.launchpad.net/horizon/+bug/1202965
你可使用的VCPU:nova會把物理的cpu的核數,按照默認16:1進行虛擬化,這個比例你能夠本身設置。可是目前經過api,你是沒法獲取虛擬化的比例,致使沒法正確顯示。
內存和硬盤,狀況都是同樣,默認內存是1.5:1,硬盤,好像是1:1
另外還有一個小問題,就是host沒法點擊進入詳細頁面,顯示更多信息,例如在這臺機器的虛擬機列表。
這裏就是列出全部的虛擬機,而且能夠對虛擬機進行操做,例如遷移,刪除等。這個地方的信息比Overview詳細不少。
顯示用戶使用和建立的卷。H版本增長的Volume Types的功能,就是假設你有兩種的存儲,高速的SSD,和普通的SAS存儲,你經過volume Type區分,用戶建立卷的時候進行選擇。
管理員必須添加一個volume type,用戶才能建立卷。
建立出來的volume type,如何和後端的存儲進行綁定,我還沒看明白,至少Dashboard目前是沒有提供這個功能。
卷的列表裏,是能夠對捲進行刪除操做。
這個其實看上去比較簡單,其實很是複雜。目前默認有5個Flavor,你能夠編輯Flavor,建立Flavor.
目前支持指定某個Flavor給租戶使用。當用戶要求的虛擬機不在Flavor裏,那麼你就可使用這種方式,爲特定的租戶建立一個Flavor。 目前AWS,國內的青雲,應該都是相似這種方式。Public=true,表示全部租戶均可以使用,Public=False 表示只有某些租戶可使用。
普通用戶是不能本身建立Flavor,也不能本身定義虛擬機的配置。不過對於私有云來講,實際上是能夠經過擴展一下nova的API就能夠實現。這個同事已經驗證,相似青雲那種設計,用戶能夠本身定義虛擬機配置。
Flavor extra Specs:這個地方看上去不起眼,不過不少功能和需求,都是能夠經過這個地方知足,例如你但願對虛擬機的cpu資源限制,網絡帶寬限制,磁盤IO限制,均可以經過這裏設置參數。
目前添加這些參數,仍是很是複雜,這個Blueprint是專門解決這個問題,Intel網卡的pci_passthrough的功能,都是經過這裏進行設置 https://blueprints.launchpad.net/horizon/+spec/flavor-extra-specs-templates
就是鏡像的管理,能夠上傳鏡像,你須要知道你上傳的image是什麼格式。Glance支持不少格式,可是對於企業來講,其實用不了那麼多格式,你能夠進行配置,具體 http://openstack.redhat.com/forum/discussion/554/havana-horizon-no-formats-available-for-images/p1
可使用一個ubuntu作好的image:連接填寫下面地址就能夠。
http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img
我上傳了一個Ubuntu 12.04的官方提供的image。這個image的格式是QCOW2,你須要指定,不然會出錯。
Public, 就是表示該Image能夠全部租戶均可以看見。對於Image來講,用戶本身也是能夠上傳image,設置是否只是本身訪問,仍是全部租戶均可以看見。
Protected:若是打鉤,那麼你在列表裏就沒法刪除,能夠避免誤刪除。若是須要刪除,經過編輯,去掉打鉤,就能夠刪除。
鏡像對硬盤和內存的最小需求,實際上是爲了往後建立虛擬機的時候,若是Flavor沒法知足Image的需求的狀況下,就會隱藏該Flavor。https://bugs.launchpad.net/horizon/+bug/1116122 這個功能在H版本,應該是有機會實現,做爲一個Bug修復。
能夠從本地上傳一個操做系統的ISO
我嘗試上傳4G的ISO,百兆的網絡,火狐下,竟然一點問題都沒有,上傳成功。
使用ISO來安裝操做系統,你須要建立一個單獨的Flavor,或者修改已有的Flavor,讓Ephemeral disk不爲0,你才能進行安裝。
設置Protected,就沒有more的刪除按鈕。
目前在image的詳細頁面裏,image的上傳時間UTC時間,而不是你設置的時區的時間。這個有待改進的地方。
這部分是我一直沒搞明白的,藉助龔永生的文檔,終於搞定。這篇文檔,全部打算玩Neutron,都應該好好看看。http://www.ustack.com/blog/neutron_intro/ 網絡部分,還有不少細節,後面逐步完善。
這裏管理員建立的網絡,有點相似數據中心的接入,聯通線路,電信線路。對於租戶來講,能夠選擇不一樣的線路出去。不過目前路由器的出口,只能是1條線路。
我實驗有一個網絡 10.1.198.0/24 專門給虛擬機的Floating IP使用,網關是10.1.198.1。若是你但願你的網絡和機器的網絡是一個網段,能夠參考文檔 http://openstack.redhat.com/Neutron_with_existing_external_network 不過我沒試驗成功。
記住要勾選External Network, 點擊建立。
進入網絡的詳細頁面,
extnet的詳細資料,黃色的部分,應該好好理解,我是採用RDO all in One安裝,因此網絡是local,
建立Subnet,所謂Subnet,個人理解就是Floating IP 地址池,分配公網IP給虛擬機。
Subnet Detail,這裏是不須要設置。
添加後
管理員不須要建立路由器,能夠查看到全部租戶建立的路由器,而且進行刪除。
這是系統的默認設置,目前就只有Quotas的默認設置,你能夠修改這些默認設置,這樣很是方便。
經過 Update Defaults,能夠修改全部的Quota的默認設置,若是你但願對用戶不作限制,那麼就設置成-1.
做爲管理員,還有一個需求,能夠訂製安全組的默認設置,這個功能,下一個版本應該是能夠加入。
系統的基本信息
對於Openstack,有幾個概念,讓你們很頭疼,須要搞明白
來源:http://kimizhang.wordpress.com/2013/08/26/openstack-zoning-regionavailability-zonehost-aggregate/
Region:這個概念來自亞馬遜,能夠理解成一個地區,一個Region,實際上是能夠對應多個數據中心,這幾個數據中心,距離應該是100千米左右。
Availability zones(AZ):AZ,其實個人理解就是Region的某個數據中心,或者一個數據中內心,不一樣供電的機房單元相似的概念。
Cell:當你的在一個數據中心大規模部署的時候,節點數量到了必定程度,那麼就會有服務產生瓶頸,那麼如何擴展呢?每一個Cell有本身的消息隊列 和數據庫服務,不過全部的Cell,都是統一的Nova API接口。就是一個Region下能夠有多個Cell,每一個Cell裏,有本身的消息隊列,數據庫。
Host Aggregates:這個主要用途是設置調度,讓某個image或者某個Flavor,建立在某些服務器上。
http://www.mirantis.com/blog/segregation-in-grizzly-availability-zones-versus-host-aggregates/
Service
Compute Service
Availability Zones
Host Aggregates
Netwrok Agent
H版本增長了Domain的功能,不過Dashboard應該僅僅是顯示,還沒搞明白Domain的用途。
編輯
Domain Groups
Project,至關於租戶,系統內置兩個租戶
爲了試驗,我建立一個test租戶
因爲我如今尚未建立用戶,因此別的tab不須要設置
系統會建立不少服務的用戶
咱們這裏建立一個用戶:chenshake, 添加到project:test
你能夠建立組,能夠往組裏添加用戶,不過這個組,我是沒搞明白如何使用。
這是系統內置的Roles,添加roles,僅僅是添加一個名字,沒有任何地方能夠設置。
這裏我不是使用管理員的帳號,而是使用我文檔上面建立的用戶:chenshake 登錄進行完成。下面我就不按照菜單的順序來介紹,而是按照一個虛擬機的建立流程來截圖。
Create Network
直接建立就能夠,不須要設置subnet detail
結果如圖
路由詳情
添加Interface
Subnet,就會顯示剛纔建立的網絡,點擊建立
結果
默認的安全組,是拒絕全部的訪問,
咱們須要打開22端口和容許ping。
22端口
容許ping
看看結果
下載到windows本地。
結果
Flavor選擇的時候,須要注意,不能選擇tiny,由於個人Ubuntu的鏡像要求比tiny大。
選擇網絡
把網絡添加完,就能夠建立虛擬機
分配floating Ip
選擇剛纔申請的IP
大概過1,2分鐘
這個時候,你就能夠ping通虛擬機和ssh到虛擬機上面。