自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 keystone性能优化

openstack采用了token认证的机制,各api的调用都会涉及到token的验证问题,使得keystone成为一个性能的瓶颈。token的验证环节包括:验证请求中包含的token是否有效、过期,该token对应的用户组和用户id,对应的授权服务访问地址等。性能瓶颈的解决-1:由于openstack中的各api都是wsgi服务,并且都用到了keystoneclient提供的一个中间

2015-05-25 17:07:21 3561

原创 OpenStack配额(Quota)设计与实现

配额(Quota)模块在openstack中是一个比较小的模块,具有比较好的扩展性。功能配额能够以user、project以及 quota class 这三个单位计算配额。默认情况下,是以project为计算单元。抽象配额在使用的过程中,抽象出三个概念:资源、驱动、引擎。资源BaseResource定义了一个配额单元的基本属性,如下class BaseRes

2015-05-25 16:20:02 4210

翻译 Horizon二次开发

注:openstack horion项目和其他的项目有所不同,它主要提供一套工具,我们可以自己定制开发我们想要的dashboard(控制面板)。翻译自:http://docs.openstack.org/developer/horizon/topics/tutorial.html

2015-04-02 09:07:04 4868 1

原创 python语言特性

最近一段时间一直在研究openstack的源码,所以对python语言也在逐渐的熟悉(之前一直是在用java)。今天这篇文章来总结一下python语言的一些特性吧。首先来了解一下经常出现的python一些特殊的函数:python语言约定,函数名以“_”(单下划线)开头的为受保护函数,只有类本身和子类可以访问到,相当于java中的protected关键字;函数名以“__”(双下划线)开头的为

2015-03-18 09:51:15 1046

原创 OpenStack之Nova分析——Nova Compute定时任务(三)

上篇文章我们分析了update_available_resourced定时任务,这篇文章我们来继续分析Nova Compute定时任务——report_driver_status和publish_service_capabilities定时任务。report_driver_status定时任务的主要功能是定时更新ComputeManager对象缓存的计算节点的capabilities信息。一个

2015-03-03 17:34:29 1408

原创 OpenStack之Nova分析——Nova Compute定时任务(二)

这篇文章,我们来详细的分析一下Nova Compute服务的update_available_resource定时任务。update_available_resource定时任务的主要功能是定时更新Nova Compute服务所管理的计算节点的资源信息,它对应的周期方法就是ComputeManager类的update_available_resource方法。来看一下update_avai

2015-03-03 09:23:55 2606

原创 OpenStack之Nova分析——Nova Compute定时任务(一)

我们在分析虚拟机的创建和Nova Scheduler调度算法中,其实已经涉及到了Nova Compute服务的一些内容,不过Nova Compute服务完成的工作要更多。这篇文章我们来详细的分析一下Nova Compute服务的一个重要内容——定时任务。在前面分析Nova Scheduler调度算法中,大家是否还记得在HostManager对象中有两个重要的变量:1. host_state

2015-02-16 09:05:27 2523

原创 OpenStack之Nova分析——创建虚拟机(八)

前面几篇文章已经通过大量的篇幅分析了虚拟机的创建过程

2015-02-13 15:50:09 2287

转载 OpenStack之调试——Pdb调试

用pdb调试有多种方式可选:1. 命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前python -m pdb myscript.py2. 在Python交互环境中启用调试>>> import pdb>>> import mymodule>>> pdb.run(‘mymodule.test()’)3. 比较常用的,就

2015-02-09 11:11:09 1561

原创 OpenStack之Nova分析——创建虚拟机(七)——创建虚拟机镜像文件

虚拟机的镜像文件主要是指磁盘镜像文件,当然有的还包括ramdisk和kernel镜像来配合磁盘镜像文件使用,这篇文章我们来重点分析一下创建虚拟机镜像的整个过程。先来概述一下整个流程:1. LibvirtDriver类中的_create_img方法,完成虚拟机镜像文件的创建工作的准备工作后,调用Qcow2类的cache方法。2. Qcow2类的cache方法调用create_image方

2015-02-09 09:29:05 2863

原创 OpenStack之Nova分析——创建虚拟机(六)

接着上篇文章谈到的,这篇文章我们继续,来分析ComputeManager类下的_spawn方法。class ComputeManager(manager.SchedulerDependentManager):  def _spawn(self, context, instance, image_meta, network_info,               block_devi

2015-02-06 14:32:37 1719

原创 OpenStack之Nova分析——创建虚拟机(五)

上篇两篇文章分析了Nova Scheduler服务,这篇文章我们继续来分析创建虚拟机的过程。先来回顾一下。class FilterScheduler(driver.Scheduler): def scheduler_run_instance(self, context, request_spec, admin_passwor

2015-02-05 11:00:17 1812

原创 OpenStack之Nova分析——Nova Scheduler调度算法

上篇文章介绍了Nova Scheduler服务的启动流程,我们知道Nova Scheduler服务作为一个调度者,其核心便是调度算法。这篇文章我们就来分析一下Nova Scheduler服务的调度算法吧。在配置文件中,调度算法默认的驱动类是FilterScheduler,该类位于nova/nova/scheduler/filter_scheduler.py中。其算法的原理是比较简单的,就是“过

2015-01-28 16:14:34 7347

原创 OpenStack之Nova分析——Nova Scheduler服务启动

在继续介绍Nova虚拟机创建过程之前,我们来穿插一个很重要的内容,这就是Nova组件的“大脑”——Nova Scheduler(调度器)。它是我们后续分析虚拟机创建的基础。这个子服务的作用前面已经介绍过,从其名称也可以看出该子服务就是负责调度各子服务工作的。Nova Scheduler属于RPC服务(至于什么是RPC服务可以关注我之前的文章),这篇文章我们先来分析一下Nova Schedule

2015-01-27 16:16:00 4404

原创 OpenStack之Nova分析——创建虚拟机(四)

上篇文章我们分析完了_validate_and_provision_instance方法,回到_create_instance方法,我们来回顾一下这个方法class API(base.Base): def _create_instance(self,context,instance_type, ...): .

2015-01-27 15:01:00 1416

原创 OpenStack之Nova分析——创建虚拟机(三)

继续上篇文章谈到的_get_project_quotas方法,进入这个方法。def get_project_quotas(self, context, resources, project_id, quota_class=None, defaults=True, usages=T

2015-01-23 16:38:11 1332

原创 OpenStack之Nova分析——创建虚拟机(二)

接着上篇文章,我们来继续分析_create_instance方法。这个方法定义在nova/nova/compute/api.py中。class API(base.Base): def _create_instance(self,context,instance_type, ...): ... #验证

2015-01-22 10:11:11 1702

原创 OpenStack之Nova分析——创建虚拟机(一)

上篇文章主要介绍了Nova API的启动流程,这篇文章我们来分析一下一个虚拟机的创建产生过程是怎样的。由前一篇文章的分析,我们知道,处理HTTP请求的核心工作实际上都在底层的Controller对象中定义完成。Resource对象只是在Controller的基础上完成的封装,用来实现数据的序列化和反序列化。Controller类中,处理虚拟机创建请求的方法是create,该方法最终调用了Com

2015-01-20 16:04:55 3737

原创 OpenStack之Nova分析——Nova API服务

Nova是OpenStack中最核心的组件,可以说OpenStack中的其它组件都是为Nova服务的。所以Nova也是OpenStack最复杂的组件。Nova服务由多个子服务组成,这些子服务通过RPC实现通信,而其它组件(如glance等)是通过Nova对外提供的API,实际上就是RESTful API,实现与Nova的通信。所以可以看到,前面提到的OpenStack应用的两种通信方式(RPC、R

2015-01-19 15:51:01 2367 1

转载 OpenStack Eventlet分析(二)

转自http://blog.csdn.net/gaoxingnengjisuan/article/details/12914831上一篇博客OpenStack-Eventlet分析(1)以eventlet库中的spawn函数为代表,详细的介绍了spawn函数的运行过程。最终的重点是在hubs用来进行调度的一面,而hubs关于网络的一面还没有涉及。然而,上一篇只专注于每一行代码的执行流程了,

2015-01-19 14:44:58 639

转载 OpenStack Eventlet分析(一)

转自http://blog.csdn.net/gaoxingnengjisuan/article/details/12913275本来打算总结一下eventlet在OpenStack中的应用,正巧在网上找到几篇别人已经总结好的资料,而且总结的很好,这里直接转载过来。同时也向作者表示感谢。    Eventlet库在OpenStack服务中上镜率很高,尤其是在服务的多线程和WSGI Se

2015-01-19 14:34:23 810

原创 OpenStack之RESTful API调用(二)

接着上面的文章,我们继续来谈

2015-01-17 20:45:27 2107

原创 OpenStack之RESTful API调用(一)

前面两篇文章分析了OpenStack同一组件下不同模块之间的通信方式——RPC。这篇文章我们来继续看一下OpenStack中的另一种通信方式——RESTful API。在OpenStack中,RESTful API用于不同组件之间的通信。先来简单的了解一下REST吧。REST构建于HTTP协议之上,遵循并扩展和规范了传统HTTP协议中的标准方法,以下是RESTful API定义的标准方法:

2015-01-16 09:03:00 4034

原创 OpenStack之RPC调用(二)

我们接着上篇博文,下面来分析一下客户端4. 客户端:向主题服务器发送RPC请求主题消费者创建完成后,客户端就可以向RabbitMQ服务器发送RPC请求了。还是先来看一下client.pyclinet.py

2015-01-14 16:59:23 1242

原创 OpenStack之RPC调用(一)

众所周知,OpenStack的通信方式有两种,一种是基于HTTP协议的RESTFul API方式,另一种则是RPC调用。两种通信方式的应用场景有所不同,在OpenStack中,前者主要用于各组件之间的通信(如nova与glance的通信),而后者则用于同一组件中各个不同模块之间的通信(如nova组件中nova-compute与nova-scheduler的通信)。关于OpenStack

2015-01-13 09:00:35 5741 1

转载 [RabbitMQ+Python入门经典] 兔子和兔子窝

RabbitMQ作为一个工业级的消息队列服务器,在其客户端手册列表的Python段当中推荐了一篇blog,作为RabbitMQ+Python的入门手册再合适不过了。不过,正如其标题Rabbit and Warrens(兔子和养兔场)一样,这篇英文写的相当俏皮,以至于对于我等非英文读者来说不像一般的技术文档那么好懂,所以,翻译一下吧。翻译过了,希望其他人可以少用一些时间。翻译水平有限,不可能像原

2014-12-09 16:02:44 1397

原创 openstack集群架构

来到云计算&云存储团队已经小半年了,摸索openstack也快半年了,总觉得是时候该把学到的东西总结一下了。以下博文都是个人的一些心得,有不妥的地方还望列为技术大师不吝赐教。关于openstack架构等相关概念就不在这介绍了(这些东西资料一大坨,都被说烂了)。首先来看一下我们的openstack部署架构吧。

2014-12-08 16:00:18 3144 3

原创 nova-network网络模式

作为openstack中的核心组件,nova肩负着管理虚拟机的使命。nova提供nova-api,nova-scheduler,nova-network等几个重要的服务。而其中nova-network是openstack网络管理模块neutron还没有独立出来时候的前身,当然其功能就是网络和地址管理,它会创建虚拟网络,

2014-12-05 16:55:48 2910

转载 解决MySQL远程连接不上的问题

其实这个问题对于熟手来说根本就不是什么问题,远程连接 只需要下面123就可以搞定了:1. 首先要排查网络问题和防火墙的问题           这个是必须的, 你要是连MySQL的服务器都连不上, 那还访问什么? 怎么检查呢? ping一下          ping 192.168.0.11          ping 的通的话, 再去检查一下 3306端口是不是被防火墙给挡掉了      

2014-11-13 14:44:02 930

原创 nginx+keepalived实现高可用

这篇文章是针对上篇文章的架构

2014-10-24 17:10:33 576

原创 nginx+apache集群简单配置

单位有个简单的应用,需要nginx处理静态页面

2014-10-22 10:20:30 1342

原创 glusterfs性能优化

glusterfs 3.x.x版本后,客户端不再有配置文件

2014-09-29 17:22:30 10883

原创 gluster常用命令

1. 动态添加卷2. 动态删除卷3.

2014-09-29 16:48:20 3971

原创 glusterfs之初体验

关于glusterfs的概念、架构这些老生常谈的东西就不再赘述了,网上资料

2014-09-15 14:41:30 1202

原创 Openstack swift安装部署

块存储&文件存储&对象存储

2014-09-12 16:10:04 2654

空空如也

空空如也

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

TA关注的人

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