Openstack Havana Dashboard測試和使用

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

登錄

Snap4

用戶註冊的功能,這個並不難,能夠本身開發。不過目前是不支持用戶找回密碼,這個是須要keystone的支持https://bugs.launchpad.net/keystone/+bug/884451 ,Dashboard才能實現取回密碼。

Setting

 

用戶設置

基本全部的系統,都是右上角 「setting」 進行用戶的設置

Snap5

對於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

聽說此次香港峯會,會集中討論這個問題,由於各個組件都有相似的需求。

修改密碼

 

Snap6

在最新的H版本,用戶已經能夠修改本身的密碼,修改完密碼後,會強行退出再登錄,由於token須要update。很難想象,這樣簡單的功能,竟然是到H版本才實現。

密碼強度要求,這個其實能夠在前端去實現,不過密碼過時的功能,目前是沒有,這個也是須要keystone提供的功能。https://blueprints.launchpad.net/keystone/+spec/user-password-expiration

用戶操做日誌也是沒有的,用戶的全部操做,都有消息提醒,不過這些消息,都沒有記錄下來,對於Dashboard來講,他是不知道記錄在哪裏,目前 看來應該是Ceilometer該作的事情。有一個stacktach的項目,能夠將notification持久化,而且能夠在web頁面上進行搜索, 或者使用cli作分析。

Admin(管理員權限)

這個tab,只有管理員權限的用戶才能訪問。

System Panel(系統面板)

Overview(概況)

Overview:這裏會列出全部的系統的虛擬機使用狀況。包括刪除的虛擬機。能夠下載Excel表格,其實簡單的計量功能。對於起步階段,應該是能夠知足計費的需求。目前我下載的CSV,中文是亂碼,這也是一個bug:https://bugs.launchpad.net/horizon/+bug/1226910

項目名字,其實就是租戶,在Openstack裏,有點混亂,不一樣的版本,有時候是租戶,有時候是project,沒有接觸過共有云的人,對租戶的概念接觸比較少,很差理解。你就把租戶或項目理解成部門或者企業,租戶下才有用戶,用戶才能設置密碼。

Snap7

Resouce Usage(資源使用狀況)

這個是H版本新增長的功能,顯示系統資源的使用狀況。這是經過Ceilometer實現的功能,目前Ceilometer在計量方面作的工做,仍是不錯的,不過在監控上,仍是比較弱。估計這也是爲啥目前Redhat在RDO項目裏集成Nagios的緣由。

Snap9

這裏就使用的租戶的概念,顯示磁盤,網絡的使用狀況。並且只是30天內,沒法本身定義範圍,等待往後完善吧。

Snap10

網絡的使用狀況,上面都是Neutron的影子

Snap11

Stats這個標籤是重點,可讓你查看某個時間段的使用狀況。等往後產生數據,再好好查看一下。

Snap13

Hypervisors(虛擬機管理器)

這也是H版本新增長的功能,顯示物理機器的資源狀況,cpu,內存和硬盤,虛擬機數量

Snap14

不過這裏其實顯示的結果是有點問題。

VCPU(total)實際上是物理資源,就是cpu的核數*2 (超線程),這樣的描述讓人誤會。提交了一個bug https://bugs.launchpad.net/horizon/+bug/1202965

你可使用的VCPU:nova會把物理的cpu的核數,按照默認16:1進行虛擬化,這個比例你能夠本身設置。可是目前經過api,你是沒法獲取虛擬化的比例,致使沒法正確顯示。

內存和硬盤,狀況都是同樣,默認內存是1.5:1,硬盤,好像是1:1

另外還有一個小問題,就是host沒法點擊進入詳細頁面,顯示更多信息,例如在這臺機器的虛擬機列表。

Instances(雲主機)

這裏就是列出全部的虛擬機,而且能夠對虛擬機進行操做,例如遷移,刪除等。這個地方的信息比Overview詳細不少。

Snap15

Volumes(雲硬盤)

顯示用戶使用和建立的卷。H版本增長的Volume Types的功能,就是假設你有兩種的存儲,高速的SSD,和普通的SAS存儲,你經過volume Type區分,用戶建立卷的時候進行選擇。

管理員必須添加一個volume type,用戶才能建立卷。

Snap16

建立出來的volume type,如何和後端的存儲進行綁定,我還沒看明白,至少Dashboard目前是沒有提供這個功能。

卷的列表裏,是能夠對捲進行刪除操做。

Snap18

Flavors(雲主機類型)

這個其實看上去比較簡單,其實很是複雜。目前默認有5個Flavor,你能夠編輯Flavor,建立Flavor.

Snap19

目前支持指定某個Flavor給租戶使用。當用戶要求的虛擬機不在Flavor裏,那麼你就可使用這種方式,爲特定的租戶建立一個Flavor。 目前AWS,國內的青雲,應該都是相似這種方式。Public=true,表示全部租戶均可以使用,Public=False 表示只有某些租戶可使用。

Snap20

普通用戶是不能本身建立Flavor,也不能本身定義虛擬機的配置。不過對於私有云來講,實際上是能夠經過擴展一下nova的API就能夠實現。這個同事已經驗證,相似青雲那種設計,用戶能夠本身定義虛擬機配置。

Flavor extra Specs:這個地方看上去不起眼,不過不少功能和需求,都是能夠經過這個地方知足,例如你但願對虛擬機的cpu資源限制,網絡帶寬限制,磁盤IO限制,均可以經過這裏設置參數。

Snap21

目前添加這些參數,仍是很是複雜,這個Blueprint是專門解決這個問題,Intel網卡的pci_passthrough的功能,都是經過這裏進行設置 https://blueprints.launchpad.net/horizon/+spec/flavor-extra-specs-templates

Images(鏡像)

就是鏡像的管理,能夠上傳鏡像,你須要知道你上傳的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

Snap23

我上傳了一個Ubuntu 12.04的官方提供的image。這個image的格式是QCOW2,你須要指定,不然會出錯。

Public, 就是表示該Image能夠全部租戶均可以看見。對於Image來講,用戶本身也是能夠上傳image,設置是否只是本身訪問,仍是全部租戶均可以看見。

Protected:若是打鉤,那麼你在列表裏就沒法刪除,能夠避免誤刪除。若是須要刪除,經過編輯,去掉打鉤,就能夠刪除。

鏡像對硬盤和內存的最小需求,實際上是爲了往後建立虛擬機的時候,若是Flavor沒法知足Image的需求的狀況下,就會隱藏該Flavor。https://bugs.launchpad.net/horizon/+bug/1116122  這個功能在H版本,應該是有機會實現,做爲一個Bug修復。

能夠從本地上傳一個操做系統的ISO

Snap24

我嘗試上傳4G的ISO,百兆的網絡,火狐下,竟然一點問題都沒有,上傳成功。

使用ISO來安裝操做系統,你須要建立一個單獨的Flavor,或者修改已有的Flavor,讓Ephemeral disk不爲0,你才能進行安裝。

Snap26

設置Protected,就沒有more的刪除按鈕。

目前在image的詳細頁面裏,image的上傳時間UTC時間,而不是你設置的時區的時間。這個有待改進的地方。

Networks(網絡)

這部分是我一直沒搞明白的,藉助龔永生的文檔,終於搞定。這篇文檔,全部打算玩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  不過我沒試驗成功。

Snap29

記住要勾選External Network, 點擊建立。

進入網絡的詳細頁面,

Snap26

extnet的詳細資料,黃色的部分,應該好好理解,我是採用RDO all in One安裝,因此網絡是local,

Snap27

建立Subnet,所謂Subnet,個人理解就是Floating IP 地址池,分配公網IP給虛擬機。

Snap31

Subnet Detail,這裏是不須要設置。

添加後

Snap32

 

Routers(路由)

管理員不須要建立路由器,能夠查看到全部租戶建立的路由器,而且進行刪除。

Defaults(默認值)

這是系統的默認設置,目前就只有Quotas的默認設置,你能夠修改這些默認設置,這樣很是方便。

Snap27

經過 Update Defaults,能夠修改全部的Quota的默認設置,若是你但願對用戶不作限制,那麼就設置成-1.

做爲管理員,還有一個需求,能夠訂製安全組的默認設置,這個功能,下一個版本應該是能夠加入。

System Info(系統信息)

系統的基本信息

對於Openstack,有幾個概念,讓你們很頭疼,須要搞明白

openstack-zoning

來源: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://russellbryantnet.wordpress.com/2013/05/21/availability-zones-and-host-aggregates-in-openstack-compute-nova/

http://www.mirantis.com/blog/segregation-in-grizzly-availability-zones-versus-host-aggregates/

Service

Snap28

 

Compute Service

Snap33

Availability Zones

Snap34

Host Aggregates

Snap35

Netwrok Agent

Snap36

Identity Panel(認證面板)

Domains(域)

H版本增長了Domain的功能,不過Dashboard應該僅僅是顯示,還沒搞明白Domain的用途。

 

Snap31

編輯

Snap32

Domain Groups

Snap33

Projects(項目)

Project,至關於租戶,系統內置兩個租戶

Snap34

爲了試驗,我建立一個test租戶

Snap35

因爲我如今尚未建立用戶,因此別的tab不須要設置

Users(用戶)

系統會建立不少服務的用戶

Snap36

咱們這裏建立一個用戶:chenshake, 添加到project:test

Snap37

Groups(組)

你能夠建立組,能夠往組裏添加用戶,不過這個組,我是沒搞明白如何使用。

Snap38

Roles(角色)

這是系統內置的Roles,添加roles,僅僅是添加一個名字,沒有任何地方能夠設置。

Snap40

Project(普通用戶)

這裏我不是使用管理員的帳號,而是使用我文檔上面建立的用戶:chenshake 登錄進行完成。下面我就不按照菜單的順序來介紹,而是按照一個虛擬機的建立流程來截圖。

建立網絡

Snap42

Create Network

Snap45

 

Snap46

直接建立就能夠,不須要設置subnet  detail

Snap47

建立路由器

Snap49

Snap51

 

Set Gateway

Snap52

Snap53

結果如圖

Snap57

 

路由詳情

Snap58

添加Interface

Subnet,就會顯示剛纔建立的網絡,點擊建立

Snap59

結果

Snap60

查看網絡拓撲

Snap67

 

設置安全組

Snap61

默認的安全組,是拒絕全部的訪問,

Snap62

咱們須要打開22端口和容許ping。

22端口

Snap64

容許ping

Snap65

 

看看結果

Snap63

建立祕鑰

Snap66

下載到windows本地。

申請Floating Ip

Snap73

Snap74

結果

Snap75

建立虛擬機

Flavor選擇的時候,須要注意,不能選擇tiny,由於個人Ubuntu的鏡像要求比tiny大。

Snap71

Snap69

選擇網絡

Snap70

把網絡添加完,就能夠建立虛擬機

Snap72

分配floating Ip

Snap76

選擇剛纔申請的IP

Snap77

大概過1,2分鐘

Snap78

這個時候,你就能夠ping通虛擬機和ssh到虛擬機上面。

相關文章
相關標籤/搜索