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到虚拟机上面。

相关文章
相关标签/搜索