自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gtt116

http://www.gaott.info

  • 博客(31)
  • 收藏
  • 关注

原创 OpenStack API 通用扩展方法

OpenStack是开源的IaaS解决方案,完全由python实现,由apache协议发行,被称为云计算界的Linux。由于需要适应不同企业的需求,一个灵活可扩展的架构尤其重要,其中API扩展性更是重中之重。 OpenStack内组件繁多,架构也各有不同,本文介绍OpenStack项目中通用的API架构,主要参考组件为Nova,Cinder,Glance,并且介绍API的扩展方法。同时本文描述的架

2016-06-07 14:32:24 1894

原创 配置keystone使用redis

前言Icehouse版本之后keystone引入了一个通用的cache库“dogpile”,这个通用的cache访问层用途类似于sqlalchemy,对程序开发人员提供一个一致的编程接口,并且提供灵活可配置的缓存后端(memcache,redis等)。值得一提的是,dogpile的作者和sqlalchemy是同一个人,换言之,dogpile的可靠性应该是不错的。详情请查看原文

2015-01-29 16:07:48 1419

翻译 DEVOPS 周报 #210

DevOps Weekly每周会提供一些DevOps 相关的新闻,工具和招聘(当然是国外的)。是已邮件形式订阅的,我虽然基本每期都看,不过为了方便自己以后查找,也加深印象,也希望能够让更多人看到,决定尽力每期都翻译一下,能不能坚持就看自己了。在此感谢DevOps Weekly。-gtt116原文翻译:赞助商广告省略……新闻一个ppt,介绍了很多安全漏洞和解决办法

2015-01-11 20:20:10 1136

原创 [libvirt]快速查找虚拟机对应的vnet设备

使用网桥模式时,libvirt会自动插入tap设备,有一个ku

2014-08-26 14:51:57 3215

原创 iscsiadm 使用简介

iscsiadm是open-iscsi包中的一个工具,用来发现和登陆iSCSI tar

2014-08-07 12:13:25 3139

原创 ubuntu/debian中完全删除mysql

sudo apt-get purge mysql-server mysql-common mysql-clientsudo rm -rf /etc/mysqlsudo rm -rf /var/lib/mysqlsudo rm -rf /var/log/mysqlsudo rm -rf /var/run/mysqld之后就可以重新anzhuan

2014-08-06 15:14:10 1874

原创 eventlet.wsgi 中的 start_response定义

def start_response(status, response_headers, exc_info=None): status_code[0] = status.split()[0] if exc_info: try: if headers_sent:

2014-07-02 15:26:47 1035

原创 swift 验证机制原理

认证和认证处理分开。认证是用户申明他是谁,认证处理是系统验证用户申明的身份是否真实。swift推荐使用前缀来区分不同的认真方式,例如tempauth中用户名都为AUTH_name

2014-07-02 15:26:45 964

原创 amazon s3 的用户验证 access-key, secrete-key

amazon  s3的用户验证方式是一种对称加密方式,下面介绍此加密方式。 请求的构造  请求元素:  AWS Access Key Id:其实就是常见的用户名,用来区分用户的。  Signature:签名,使用私钥计算后得出。  Timestamp:时间戳  Date:时间,为每一个请求设置一个过期时间。验证过程  客户端:经过下面3个步骤1

2014-07-02 15:26:43 3558

原创 emacs中配置上下移动行

;move line up down(defun move-text-internal (arg) (cond ((and mark-active transient-mark-mode) (if (> (point) (mark)) (exchange-point-and-mark)) (let ((column (current-colu

2014-07-02 15:26:41 1704

原创 常用emacs操作

什么是Emacs?Emacs是一种强大的文本编辑器,在程序员和其他以技术工作为主的计算机用户中广受欢迎。EMACS,即Editor MACroS(编辑器宏)的缩写,最初由Richard Stallman(理查德·马修·斯托曼)于1975年在MIT协同Guy Steele共同完成。 Emacs不仅仅是一个编辑器,他是一个整合环境,或可称它为集成开发环境。在里面你可以收发电子邮件,FTP,上新

2014-07-02 15:26:39 751

原创 python列表推导 和 内置函数map,filter 效率对比

前言在python中的列表操作主要有两种,一种类似于lisp的函数编程方法:filter( function,list) , map( function, list)另一种特别pythonic——列表推导 [ i for i in list ]现在就两种方法进行对比,看看哪种效率高filter 和 列表推导file: filter-1.py 1 #coding=

2014-07-02 15:26:37 1580

原创 在数据库中存储层次型数据

前言层次型数据在数据库中的存储已经是老生常谈,常见的: 邻接表改进前序遍历树下面我将简要介绍这两种方法的思路并附上代码,然后会探讨两种方法的优劣,以及背后原因,最后提出一种折衷的办法:改进邻接表。  方法一:邻接表假设我们需要在数据库中存储如下的结构 (图片来自:参考1) 那么使用邻接表将会在数据库中这么存放数据: (图片

2014-07-02 15:26:35 1039

原创 django源码笔记-【2】

上一期完理解了WSGI处理思路,现在看看django是如何实现这个接口的。django.core.handlers在此模块中着重看两个文件:base.py, wsgi.py首先从宏观上看主要涉及到的类:而当我们运行了manage.py runserver后,将会生成一个进程来运行WSGIHandler实例,来响应用户的请求,其实WSGIHandler就是一个

2014-04-09 10:08:45 1035

原创 django源码笔记-【1】

前言Django是一个开放源代码的Web应用框架,她像一个工具箱,包括了整个web开发中的各种技术,例如ORM,Template等。这是在阅读django的源码中作的笔记。首先需要简要介绍以下WSGI。WSGI基本概念wsgi是Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。 在此接口中有两个方面,一个web应用程序类比java中

2014-04-09 10:02:18 919

原创 [openstack]配置高可用RabbitMQ

概述Havana的nova已经支持使用RabbitMQ的高可用队列。此文章介绍高可用队列的特点,如何配置nova使用高可用队列,及测试结果。高可用队列RabbitMQ的高可用首先要用到集群模式(Cluster),在集群中的所有RabbitMQ实例互相感知对方的存在。RabbitMQ的高可用为Active/Active模式,多个RabbitMQ实例相互之间做镜像,即一条消息发

2014-03-12 12:05:16 3456

原创 [openstack]metadata service使用方法

声明:本博客欢迎转发,但请保留原作者信息!内容系本人学习、研究和总结,如有雷同,实属荣幸!原文地址:http://blog.csdn.net/gtt116/概述为了兼容EC2,openstack也提供了在虚拟机内通过http://169.254.169.254来获取虚拟机信息的接口。 以下是对该接口的介绍。注意,以下命令是在虚拟机内部执行,不是在宿主机以

2014-01-08 12:07:49 3479 1

原创 [openstack]nova aggregate概念理解

概述aggregate进一步切分了availability zone的概念。AZ对用户是可见的,aggregate仅仅对管理员可见,用户并不可用。aggregate的概念来自Xen的resource pool,后来抽象成aggregate的概念。管理员可以给aggregate设置metadata,一个host可以属于多个aggregate,基于aggregate的metadat

2014-01-08 11:40:46 7521

原创 Elastic Search 设置默认analyzer

index: analysis: analyzer: default: type: whitespace将如上内容填到elasticsearch/config/elasticsearch.yml中,之后重启elasticSearch。这样ES里面默认的analyzer就是whitespace了,新建的inde

2013-09-24 14:04:32 6790

转载 [openstack]并发调优

Boosting OpenStack's Parallel Performance作者对openstack十分熟悉,文章中分析了各个模块的并发瓶颈。并且提出了修改代码和修改配置两种方式进行调优,值得一看。

2013-07-31 14:40:40 2378

原创 [openstack]资源统计实现

openstack关注宿主机的如下资源:* vcpus* vcpus_used* memory_mb* memory_mb_used* local_gb* local_gb_used* cpu_info* disk_available_least* free_ram_mb* free_disk_gb这些数据在periodic task中会定时更新

2013-07-29 17:16:56 4830 1

原创 OpenNebula架构分析(源码)

前言OpenStack使用的语言是python,比他年长的2岁的OpenNebula就显得比较奇葩,使用的是C语言和Ruby,shell,多种语言混杂而成。关于两者的优劣在此不做讨论,但我个人认为OpenStack的发展偏向公有云,而OpenNebula的设计初衷就是私有云,这可以从两个产品的设计上看出来。OpenStack的功能基本是仿照AWS,也就是按照公有云的思路来设计接口和功能

2013-06-12 15:21:45 4489

原创 Openstack Grizzly 新特性

通用许多项目的默认loglevel设置成了WARNING,在配置文件中设置verbose=True,等效于loglevel=INFO;debug=True,等效于loglevel=DEBUG.(https://bugs.launchpad.net/oslo/+bug/989269)nova引入Cell的概念(实验中),cell详细介绍请参考:1)2)AZ加强了,原来AZ

2013-05-26 10:44:21 2427 3

原创 Python程序调优 (Python Profiler)

概述本文介绍基本的python profilter方法,并且用Openstack Nova作为例子展示具体使用方法。本文介绍的profiler方法区别于一般常用的使用python cProfile模块,cProfile模块的分析结果不直观,并且仍然无法精确定位具体出问题代码。本文的profile的最小粒度是“行”,profile的结果需要展示某行代码对CPU和memory的影响,最终帮

2013-05-11 09:53:23 5906 1

原创 os._exit() vs sys.exit()

概述python的程序有两中退出方式:os._exit(), sys.exit()。本文介绍这两种方式的区别和选择。os._exit()会直接将python程序终止,之后的所有代码都不会继续执行。sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。举例说明imp

2013-04-16 22:13:54 1277

原创 python logging quick start

本文主要介绍logging模块的快速使用方法,如果需要深入的定制,请参考(http://docs.python.org/2/howto/logging-cookbook.html)import logging logging.basicConfig(format='[%(asctime)s] '+logging.BASIC_FORMAT) # logging.BASIC_FORMA

2013-04-16 22:11:43 1065

原创 AWS - Auto Scaling 介绍

本文简要介绍aws的auto scaling以及相关概念,让读者对auto scaling服务有一个基本的认识。概要Auto Scaling(简称AS)是为了方便用户增减虚拟机的服务,以达到最大化系统使用率和最小化成本的目的。主要的使用情景:用户需要创建一个集群对外提供数据库服务,并且希望在访问量大时增加节点数量,在访问量小是减小节点数量;在晚上减少节点数,白天增加节点数;

2012-09-13 14:26:56 6741

原创 heat-api (Openstack中的CloudFormation) cfntools笔记

在heat-api架构中,虚拟机外部需要和虚拟机进行通行,和对虚拟机进行详细自定义。具体架构以后再写。今天着重介绍cfntools里面几个脚本的作用。(https://github.com/heat-api/heat-jeos)cfntools介绍cfntools是在虚拟机中跑的一堆辅助脚本,一般用来获取metadata,并根据metadata做一些自动化配置。cf

2012-08-17 17:44:27 5273

原创 Openstack关于Regions和Availability Zones

在AMZ中有Region和Availability Zones的概念,并且在openstack中也实现了两者,只是不太容易看出来。此文主要介绍他们的概念和关系,以及在openstack中的实现。如果没有特别强调,下文中Availability Zones简称az。概述===    一般情况下region表示地理上隔离的两个区域,例如一个region放在美国,另外一个放在

2012-08-09 11:05:06 7005 3

原创 使用qmeu-img创建虚拟机(创建虚拟机,虚拟机快照)

本文主要介绍创建虚拟机的一般过程。一台虚拟机的核心就是一个磁盘镜像,这个镜像可以理解成虚拟机的磁盘,里面有虚拟机的操作系统和驱动等重要文件。创建虚拟机镜像 要在一台host上跑起一个虚拟机一般需要两个步骤:第一步:创建虚拟机镜像qemu-img create -f raw /images/vm1.raw 8Gqmeu-img创建的镜像是一个稀疏文

2012-07-12 22:58:32 243389 1

原创 openstack.nova.manager创建虚拟机流程(run_instance)

本文主要分析nova中虚拟机的启动过程,着重介绍此过程的状态改变和响应的操作。代码整理自 nova/compute/manager.py 代码的顺序有改动,只是为了方便查看,完整的代码可以参考:https://github.com/openstack/nova/blob /master/nova/compute/manager.py虚拟机的创建流程为3步走:向nova-ne

2012-07-12 22:53:05 2945 2

空空如也

空空如也

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

TA关注的人

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