自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

韦远科的专栏

https://weiyuanke.github.io/

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

原创 云计算标准化以及互操作性方面的标准

CSA (云计算安全联盟)的目标是为云计算的安全保证提供实践指南,同时提供如何安全地利用云计算方面的指导。DMTF (分布式管理工作组)通过开放云计算标准孵化器致力于互操作和安全机制方面的标准化。ETSI (欧洲电信标准协会)致力于信息技术和电信融合的问题。NIST (国家标准核技术研究院)致力于云计算概念的定义。OGF (开放网格计算论

2012-06-28 16:27:59 2019

转载 mod_wsgi介绍中文翻译

本文转载自:奋斗足迹  作者:崔玉松 原文地址:http://fendou.org/2009/03/27/mod_scgi_description/ 什么是mod_wsgi ?mod_wsgi的目标是实现一个简单的Apache模块,支持任何Python WSGI的接口的Python应用程序的托管。该模块适用于高性能生产的WEB站点,同时也适用于自己维护站点的WEB 服务托管

2012-06-27 16:32:35 3523

原创 django框架 日志支持 horizon

由于print语句在mod_python插件中无效,因此导致程序调试比较麻烦。对此可以采用一下办法:(1)采用python标准日志包(2)重定向stdout saveout = sys.stdout fsock = open('/opt/stack/out.log', 'w')

2012-06-27 16:26:15 940

原创 django框架下开发,更新代码需重启apache服务器

由于apache使用mod_python插件支持python程序,而且mod_python会缓存预载入的代码,因此在修改后相关的代码后,必须重启apache服务器。但是通过在配置文件中指定:MaxRequestsPerChild 1可以强制apache对每个请求都重新载入所有代码。

2012-06-27 16:22:13 2851 1

原创 django框架中管理模块admin的工作机制

服务启动时,根据ROOT_URLCONF配置,进入urls.py,然后执行admin.autodiscovery()这个函数遍历INSTALLED_APPS,并寻找admin.py文件进行执行。admin.py文件中,通过admin.site.register(..)进行模块注册

2012-06-26 16:57:23 1125

转载 mongodb 复制集之同步机制

MongoDB核心开发工程师 Kristina Chodorow(@kchodorow) 最近在她的博客上表示,她会发表一系列关于MongoDB Replica Sets 相关的文章,向大家详细的进行一次 Replica Sets的知识培训。其系列文章内容包括下面一些章节:Elections(选举)Creating a set(创建一个replica sets)Reconfig

2012-06-25 13:40:43 2417

原创 高可用消息队列服务构建-RABBITMQ

openstack采用了一个松耦合的方式来进行各个组建之间的通信,具体来讲组建之间的通信是通过rabbitmq的消息队列进行的。当openstack系统规模变大时,消息队列就成为了性能发挥的瓶颈。网上有人给出了集群化的消息队列配置方案,如下:原文:http://www.sebastien-han.fr/blog/2012/05/21/openstack-high-availabilit

2012-06-25 10:58:28 3636 1

原创 openstack国际化

openstack基于django web框架构建,该框架本身提供了完整的国际化方案和步骤。研究了django框架中国际化的方法和步骤,就会对openstack国际化有一个比较深入的理解。django中国际化大概如下:(1)通过gettext函数或者模板中trans关键词将需要翻译的对象做一*标记*(2)采用 django-admin makemessages -a 命令抽取程

2012-06-21 12:32:01 1263

原创 mongodb shard key的选择

(1)对于那种持续增加的shard key,如日志中的时间字段,或者数据库中的自增字段;采用这些字段做shard key会导致数据库的插入完全集中在最后一个分片上,导致写入压力比较大。但是这种方式对数据库的查询有利。由于这种类型的应用,其访问的内容已经在内存当中,所以性能表现会不错。一种解决方式是采用复合的shard key,如[timestamp, usename](2)

2012-06-19 16:50:12 1703

原创 Linux系统监控工具列表

(1)top (2)vmstat (3)w显示登录用户,以及活动 (4)uptime系统运行时间 (5)ps (6)free (7)iostat (8)sar (9)mpstat (10)pmap进程的内存使用情况 (11)netstat (12)ss - 网络相关信息 (13): iptr

2012-06-12 16:37:32 806

原创 服务器管理相关

(1)配置管理可以采用puppet,chef等管理工具,通过定义一些配置信息文件来完成批量系统的配置。 (2)备份 (3)资源监视RRDTool,Munin,ServerDensity 和 Cloudkick (4)进程监控程序Monit, God可以确保某个进程一直运行良好

2012-06-12 16:37:07 780

原创 ACID 和 BASE

传统数据库的ACID:(1)A: 可用性(2)C:一致性(3)I:隔离性(4)D:持久行 非关系型数据库的BASE(1)B:基本可用性(2)S:柔性事务(3)E:最终一致性

2012-06-12 16:36:43 996

原创 INFO: task df:8145 blocked for more than 120 seconds.

mongodb在高负载运行的情况下,系统出现如下日志:May 14 14:08:47 node76 kernel: [2430870.730018] INFO: task df:8145 blocked for more than 120 seconds.May 14 14:08:47 node76 kernel: [2430870.730022] "echo 0 > /proc/sys/

2012-06-12 16:35:48 5028

原创 bash编程 特殊字符

回想一下,断断续续在工作中写过很多bash脚本了,但一直有一个遗憾,就是未曾系统的学习过bash。能写跟能写的好绝对不是一码事,于是下决心把《高级Bash脚本编程指南》这本书主要部分都仔细读一遍,力争bash编程水平能有所进步,在这里记录一些简略的笔记,用于以后复习,主要会包括一些要点和疑惑解释。第一部分热身略去了,毕竟不是完全没写过bash的人。。。第二部分:基础3.特殊字符#

2012-06-12 16:35:25 1570

原创 mongodb多节点部署 分片部署 分片集群

要构建一个 MongoDB Sharding Cluster,需要三种角色:(1)Shard Server:mongod 实例,用于存储实际的数据块,实际生产环境中一个shard server角色可由几台机器组个一个relica set承担,防止主机单点故障需要注意的是,shard server中,最好包含奇数台服务器,这样可以保证在一台服务器down掉之后,其他节点可以通

2012-06-12 16:35:03 1387

原创 openstack ami格式镜像文件的上传

镜像制作好之后,会有三个文件,(1)内核文件 vmlinuz*(2)内存盘文件 initrd*(3)ami磁盘文件 首先上传内核文件:glance -A XXXXX add name="ubuntu-11.10-desktop-i386.vmlinuz" is_public=true container_format=aki disk_format=aki 其中XXXX

2012-06-12 16:34:22 2074

原创 python inspect

inspect是python中的一个检查模块,openstack的调度器中,在确定相关配置文件路径的时候就使用了该模块。“”"Here are some of the useful functions provided by this module:ismodule(), isclass(), ismethod(), isfunction(), isgeneratorfunct

2012-06-12 16:33:44 1217

转载 Linux-HA, heartbeat, 高可用集群,双机

引言首先,本文中的大部分内容并非原创。撰写本文的目的只是以某种方式作出贡献。我所作的工作只是将Linux-HA的其他文档中(如Volker Wiegand的硬件安装指南)的部分编辑成一份文档,这份文档可以帮助初学者了解Linux-HA, 而不需麻烦Alan Robertson, 并且避免在邮件列表上出现重复的问题。开始你首先需要两台电脑,这两台电脑并不需要有相同的硬件(

2012-06-12 16:33:07 2105

原创 linux watchdog

watchdog是一个Linux内核模块,它通过定时向/dev/watchdog设备文件执行写操作,从而确定系统是否正常运行,如果watchdog认为内核挂起,就会重新启动系统。 在linux中完成watchdog功能的软件叫softdog,softdog维护一个内部计时器,此计时器在一个进程写入/dev/watchdog设备文件时更新,如果softdog没有看到进程写入/dev/

2012-06-12 16:31:58 1239

原创 [编程珠玑]第一章 开篇

1.问题描述输入:一个最多包含n个整数的文件,文件中的每个整数都小于n,其中n=10^7。输入文件中没有重复的整数。输出:按升序排列的整数列表约束:最多有大约1MB的内存空间,有充足的磁盘存储空间可用。(1)采用外排序;每次读入一部分数据至内存进行排序,然后对各部分进行归并。(2)采用位图法;用一个一千万位的bit串来表示所有的整数,从左到右每一位分别代表整数1,2,3

2012-06-12 14:01:31 882

原创 heartbeat 高可用nfs服务器 不能停止nfsd 无法重启nfs

最近在用heartbeat构建一个高可用的nfs服务器,heartbeat的配置很顺利,一共也就需要修改三个配置文件。通过heartbeat可以启动nfs服务,并且当一台机器down掉之后,nfs服务也可以切换到另一台机器上。但是存在的一个问题是:运行heartbeat stop时,停止脚本无法完全终止nfs服务,系统中残留有nfsd进程,导致后续nfs服务的启动出现问题。

2012-06-12 10:58:10 3173

原创 mongodb 禁用auto balance disable auto balance

mongodb在做自动分片平衡的时候,或引起数据库响应的缓慢,可以通过禁用自动平衡以及设置自动平衡进行的时间来解决这一问题。(1)禁用分片的自动平衡// connect to mongos> use config> db.settings.update( { _id: "balancer" }, { $set : { stopped: true } } , true );

2012-06-11 10:14:07 2522

原创 nfs出现 Stale NFS file handle 错误

摘要:在做双机高可用nfs服务的时候,当nfs服务从一台机器切换到另一台机器的时候,客户端会出现如下的错误提示:Stale NFS file handle日志中出现:NFS: server 192.168.136.115 error: fileid changed目前的解决方法是,客户端卸载nfs目录后重新挂载。客户端在挂载nfs目录的时候,会和服务

2012-06-08 13:57:45 7047

原创 初始化的和未初始化的全局变量分别放在什么地方?BSS段的全称是啥?为啥用BSS 段,有啥好处

一.初始化的全局变量存放在数据段(data segment),数据段数据静态分配二.未初始化的全局变量存放在bss段,BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。“未初始化”这一说法其实并不准确,虽然.bss段在编译出的目标文件中是不占 空间的,但是c语言假设在程序的执行之前,运行时启动代码或者操作系统会负责将.bss段清零,而且许多c语

2012-06-08 13:50:37 10391

原创 grub限制机器可使用的内存 linux内存限制

之前为了比较KVM虚拟机和宿主机的IO性能,研究了IOzone以及相关的一些测试方法。 为了提高测试结果的精确性,须将宿主机的内存限制为和虚拟机一样大小。 后在网上搜索发现如下解决方法: 限制宿主机内存大小: 在grub内核引导中添加 mem = 5G参数,即可将可用内存限制为5G

2012-06-08 13:43:07 3386

原创 puppet 工作流程

puppet的工作流程如下:(1)客户端puppetd调用facter,facter探测出主机的一些变量,例如主机名,内存大小,ip地址等。pupppetd 把这些信息通过ssl连接发送到服务器端;(2)服务器端的puppetmaster 检测客户端的主机名,然后找到manifest里面对应的node配置, 并对该部分内容进行解析,facter送过来的信息可以作为变量处理,node牵涉到的

2012-06-08 13:42:34 1379

转载 mysql 分区和分表的区别和联系

转一篇文章http://chinaxxren.iteye.com/blog/793713一,什么是mysql分表,分区什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上,具体请参考mysql分区功能详细介绍,以及实例二,mysql分表和分区

2012-06-08 13:42:16 853

原创 简易双机高可用 实现脚本

如下两台机器:A:192.168.136.79B:192.168.136.78对外IP:192.168.136.115在A和B上分别运行如下脚本:#!/bin/bashaddr="192.168.136.115"trap ctrl_c INTfunction ctrl_c() {        echo "receive ctl-c"

2012-06-08 08:50:02 1491

原创 64位liux系统 安装永中office

安装永中office时,出现如下的提示: (setup:4774): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so: wrong ELF class: ELFCLASS64 或者安装永中office后,运行出现如下的错误: Exception in thread "main" java.lang.

2012-06-08 08:48:49 1770

原创 关闭外键检查 ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails

由于连个表之间有外键制约,所以无法删除可以通过关闭数据库的外键检查功能来解决该问题,mysql> SET FOREIGN_KEY_CHECKS=0; 之后再将外键检查功能打开mysql> SET FOREIGN_KEY_CHECKS=1;

2012-06-08 08:09:13 1883

原创 nova-network 固定IP的释放

nova-network在实例删除的时候,会释放实例所占用的固定IP,有两种方式来释放固定IP (1)超时释放,可以通过fixed_ip_disassociate_timeout 进行配置 (2)强制释放,使用选项force_dhcp_release进行配置,当删除实例的时候,调用dhcp_release外部命令,发送一个DHCPRELEASE 消息给 dnsmas

2012-06-08 08:08:51 2030

转载 最牛B 的 Linux Shell 命令, SHell使用技巧

http://varyall.iteye.com/blog/799219 1.以sudo运行上条命令$ sudo !!或者按Ctrl-p,按Ctrl-a,输入sudo,回车。两个感叹号其实是bash的一个特性,称为事件引用符(event designators)。!!其实相当于!-1,引用前一条命令,当然也可以!-2,!-50。默认情况下bash会在

2012-06-08 08:08:09 5071

原创 openstack部署中的一些问题

本文总结了在多节点上部署openstack时碰到的一些问题,算是对自己前段时间的工作做一小结。转载请注明出处。 1、假设当前主机名为“computer”,IP地址为“192.168.136.123”在当前主机安装mysql server,创建数据库nova,并执行如下语句:grant all on nova.* to 'nova'@'%' identified by 'nova';

2012-06-07 20:31:13 1766

原创 版本控制系统

版本控制系统是一种记录若干文件变化,以便将来查阅特定版本修订情况的系统。 版本控制系统大量的应用在软件源代码的管理中。在这种情形下,多名程序员合作完成同一个项目,每个人对该项目贡献修改的代码都记录在版本控制系统中。 根据版本控制系统记录的信息,可以很快的找到谁最后修改了什么东西,因此可以很方便的恢复到项目开发的不同时间点。 (1)本地版本控制系统

2012-06-07 20:30:58 941

原创 版本控制系统

版本控制系统是一种记录若干文件变化,以便将来查阅特定版本修订情况的系统。 版本控制系统大量的应用在软件源代码的管理中。在这种情形下,多名程序员合作完成同一个项目,每个人对该项目贡献修改的代码都记录在版本控制系统中。 根据版本控制系统记录的信息,可以很快的找到谁最后修改了什么东西,因此可以很方便的恢复到项目开发的不同时间点。 (1)本地版本控制系统

2012-06-07 20:30:43 1304

原创 kvm IO优化的措施, KVM优化措施

(1)采用virtio磁盘控制器kvm设计了virtio类型的磁盘控制器,是针对磁盘和网络的一个半虚拟化接口,以提高效率为目的。Linux内核中已经集成进去了,window平台的话,必须安装相应的驱动:http://libvirt.org/windows.html

2012-06-07 20:30:00 6232

原创 kvm 命令行参数

-m 1024  设置虚拟系统内存1024MB-localtime  使虚拟系统与宿主系统时间一致-M pc  虚拟系统类型为pc-smp 1  1个CPU-drive file=Windows7_x86.img,cache=writeback,boot=on硬盘选项,虚拟磁盘是Windows7_x86.img,cache方式为writeback,可引导型磁

2012-06-07 20:29:20 1325

原创 python中 *arg,**arg

当参数为*arg时,表示接受一个元组;当参数为**arg时,表示接受一个字典

2012-06-07 20:28:54 1733

原创 Python 元组、列表、字典、文件

python的元组、列表、字典数据类型是很python(there python is a adjective)的数据结构。这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的益处。元组        个人认为就像java的数组,python中的元组有以下特性:任意对象的有序集合,这条没啥说的,数组的同性;通过偏移读取;一旦生成,不可改变;固定长度,支持嵌套

2012-06-07 20:28:30 976

转载 glance api操作

参考文档:http://docs.openstack.org/api/openstack-image-service/1.0/content/requesting-detailed-metadata-on-public-vm-images.htmlhttp://glance.openstack.org/glanceapi.htmlhttp://glance.openstac

2012-06-07 20:27:54 1141

空空如也

空空如也

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

TA关注的人

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