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