自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 fsm in ironic

hardware management 的技术发展了很多年,很多公司有自己的系统,deploy os 作为hardware management中最常用的功能之一,每个公司可能都有几种自己的系统来完成这一操作,虽然实际的底层技术大同小异,但是每个系统封装的不同,实际扩展ironic时(ironic的确给出了一个框架,但是有框架就有限制),需要对现有的框架有充分的认识,才能游刃有余,这其中比

2015-05-29 10:33:19 532

原创 ironic db alembic

前面说nova的时候说过数据库的部分,nova用的是oslo.db中的类用来更新和迁移数据库,在nova/db/sqlalchemy/migrate_repo/versions中按序号由小到大编号,进行改动,复写upgrade和downgrade来在不同版本的数据库之间进行变动。前面也说过ironic作为新的openstack模块,在快速搭建的过程中,用到了更多开源的东西,除了好用,最主要

2015-05-18 10:44:19 527

原创 config drive and cloud-init

在config drive和cloud init之前,先要从制作镜像说起。一般情况下,我们可以从ubuntu或者fedora等的官网上下载镜像,启动虚机时从镜像启动即可,前面提过启动instance,root disk,swap等的意义,在开发项目的过程中,如果我们希望自己的镜像中自带某些已经安装好的服务,一些库,或者一些通用的配置文件等,除了使用cloud init,这个之后会说,其实制

2015-05-15 15:41:57 4752 1

原创 know more if you want, nova API3 and API21

在nova的paste配置文件中(事实上其他模块也会有这种情况,版本演进的过程中,新的概念会放在新的api version中,同时又兼容老的version,最大程度的满足不同情况的用户使用):/v1.1: openstack_compute_api_v2/v2: openstack_compute_api_v2/v2.1: openstack_compute_api_v21/v

2015-05-14 16:45:16 309

原创 small-mid-scale openstack cluster HA

安装openstack的过程中,区分controller和compute节点,配置网络,计算时不同类型的节点上启动的服务是不一样的。我们来把openstck的服务分一下:keystone做认证,目前没配过HA的集群;Ceph做集群后端,配分布式存储集群,集群本身有备份冗余,HA是天生的;使用OVS时候,neutron在计算节点需要配置openvswitch agent,计算节点挂点

2015-05-10 18:29:48 405

原创 storage, especially cinder(2)

前面说到并非所有的存储都是文件存储,一般说存储类型分为三种,文件存储,块存储,对象存储。在mark link 1中有个不错的讲解,我的理解是,块存储:将没有格式化过的裸盘映射给server(虚拟的,物理的)使用,而这里所谓的“裸盘”,可以是物理概念上的一块硬盘,也可以是逻辑上的一块硬盘(实际上由若干部分组成,每一部分都在不同的物理硬盘上),对server来说二者没有区分,ser

2015-05-08 14:46:14 472

原创 storage, especially cinder(1)

网络,计算,存储,是IT的基础,neutron是网络,nova是计算,存储在openstack中必然也有相当重要的地位,openstack中存储也扮演了十分重要的角色,而在存储发力的openstack也是主要的存储供应商,IBM,EMC,HUAWEI等。存储本身是十分复杂的,且类型各异,方式种种,openstack中的存储竟然对应了三个子项目,可想其重要性和复杂性。Cinder: 提供

2015-05-08 13:36:17 445

原创 generally, we use libvirt(2)

libvirt分为三层,接口层,抽象驱动层和具体驱动层:其中接口层可以使用libvirt的api或者virsh command调用;抽象驱动层则包括各种不同的driver,network driver,storage driver,device driver等等;具体驱动层则是针对qemu或者xen,Lxc的驱动。对于一般的开发者来说,也就看到接口层,调用libvirt的接口生成虚机,到此

2015-05-06 14:50:58 463

原创 generally, we use libvirt(1)

说openstack和cloud,cloud提供什么能力,计算,存储,网络,存储可能是单独的提供,现在软件定义存储也很火爆,网络也可以脱离计算存在,软件定义网络一样火,但是对普通用户来说,用openstack或者其他云平台(当然这里仅仅是指IaaS,至于PaaS和SaaS看到的又不一样),直观感受到的是虚机,看起来是计算/存储/网络的综合(现在ironic希望把物理机和虚机统一起来,尽管我

2015-05-05 20:03:39 348

原创 policy and pbr/distibution

关于policy:前面说keystone的时候,keystone的作用是认证/授权,这里policy我理解成鉴权,功能有很大的交叠部分,也可以认为属于一类,不过侧重点不一样,即使认证通过,还得通过鉴权再次细分。无论是nova还是neutron等模块,/etc/xxx下基本都有policy.json的文件,内容风格近似,在nova中,我们可以看到nova.policy.enfor

2015-05-05 19:03:24 376

原创 flexibility of openstack(4)

把这一条trace完,让它更清晰吧,接着上一节,build_instances时,message的direction为down,选中child_cells中的一个:next_hop.send_message(self)执行CellState的send_message方法,即self.driver.send_message_to_cell(self, message),前面提到的driv

2015-05-04 22:45:52 281

原创 flexibility of openstack(3)

接着上一篇,到MessageRunner执行build_instances, 调用nova/cells/messaging.py中_TargetedMessage的process方法:在_TargetedMessage(_BaseMessage)的__init__中:message_type = 'targeted'if isinstance(target_cell, cells_

2015-05-04 21:34:15 265

原创 flexibility of openstack(2)

前面说了region,az,aggregate,专门把对cell的积累做一节,当openstack部署成为公有云或者规模庞大的私有云时,还是存在性能瓶颈,我们能想到的:1. keystone,使用uuid而非PKI时,keystone感觉立刻就会成为瓶颈,实际生产环镜肯定是配PKI的,当然了不只是openstack,很多大型网站,高并发时authorization都是问题;2. dat

2015-05-04 16:27:04 214

原创 flexibility of openstack(1)

作为一个云平台,最看重的几个因素,在我看来是扩展性,安全性,容错性,不是说其他的不重要,而是这三点是称之为“云”的关键而已,说到扩展性,openstack很多概念就是为其而生的,基本上都能在AWS找到对应,毕竟在AWS面前,openstack还是学生,不过我相信,很快它会变成老师。我想这些概念肯定会看起来很熟悉:region, available zone, aggregate

2015-05-03 22:18:33 244

原创 sqlalchemy is important(2)

有必要了解一下sqlalchemy的一些基本概念,当然了没有比官方文档更好的地方,官网的文档写的也算是简介明了,以其为主:http://docs.sqlalchemy.org/en/rel_1_0/如果你不是关注与openstack的数据库方面,比如百度的人搞openstack貌似想做这方面的东西,他们想优化openstack的数据库。从网络上或者官网上可以看到sqlalchemy分为

2015-05-02 19:41:38 302

原创 two ways to hold the states of a job in ironic

具体说之前,先说一下如何在horizon中做点击link跳转至别的页面,对于Django来说这是一个很简单的问题,有用shortcuts.redirct的,也可以在url配置之后使用一个function,在function中return HttpResponseRedirect的,总之是可以办到的,但是在horion中,要是表格中的某一项是一个link,点击后跳转到新的页面怎么办呢。我

2015-05-01 16:47:38 328

hadoop In action

讲述hadoop 下mapreduce的编程,与hadoop guide配合使用很好

2011-02-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除