正文内容加载中...
posted @ 2015-02-03 19:42 杨雨_AlexYang 阅读 (4128) 评论 (2) 编辑
摘要:安装依赖sudo apt-get install libapache2-mod-fastcgia2enmod fastcgisudo apt-get install libfcgi-dev libfcgi0ldbl编写FCGI代码代码fcgi-hello.c#include "fcgi_stdio.h" /* fcgi library; put it first*/#include int count;void initialize(void){ count=0;}void main(void){/* Initialization. */ initialize();/* R 阅读全文
posted @ 2014-02-10 14:33 杨雨_AlexYang 阅读 (506) 评论 (0) 编辑
摘要:前言上一篇文章概括性的介绍了Salt的用途和它的基本组成和实现原理,也深入的的介绍了Salt的命令编排和批量执行,但是对于状态管理只是简单的介绍了一下,因为状态管理是一个比较重要且常用的功能,单独的介绍状态管理会比较适合。本文将会首先介绍Salt状态管理的一些概念,然后会通过实例来演示Salt状态管理的使用,实例的演示基于Vagrant和Vagrant的Salt插件。Salt状态管理的关键概念状态树在Salt中,所有的状态都是通过状态描述文件来定义的,而它们都存储在master节点(masterless情况除外)。Salt通过状态树定义了不同'环境'下状态描述文件的层次结构。如 阅读全文
posted @ 2013-12-05 00:20 杨雨_AlexYang 阅读 (3202) 评论 (0) 编辑
摘要:简介系统管理员(SA)通常需要管理和维护数以百计的服务器,如果没有自动化的配置管理和命令执行工具,那么SA的工作将会变得很繁重。例如,要给集群中的每个服务器添加一个系统用户,那么他必须登陆到每台服务器上去逐一的执行命令。好在有编程能力的SA能通过bash + ssh的方式来自动化自己的工作,于是出现了ClusterShell这一类的工具。但这类工具只是解决了远程命令调用的问题,并没有对一些运维的过程进行抽象,在面对不同的操作系统等环境时,使用会变得复杂和繁琐,对常见的运维操作,如包管理、配置文件分发也没有很好的支持。于是出现了CFEngine,Puppet,Chef,Salt等工具,他们在远程 阅读全文
posted @ 2013-11-27 12:06 杨雨_AlexYang 阅读 (3364) 评论 (0) 编辑
摘要:Vagrant是一个简单易用的部署工具,用英文说应该是orchestration tool。它能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境。Vagrant的基本工作原理大致如下:首先,通过读取配置文件,获知用户需要的环境的操作系统、网络配置、基础软件等信息;然后,调用虚拟化管理软件的API(VMWare Fusion,Oracle VirtualBox, AWS, OpenStack等)为用户创建好基础环境;最后,调用用户定义的安装脚本(shell,puppet,chef)安装好相应的服务和软件包;Vagrant的主要应用场景开发环境部署作为开发人员可能会涉及到不同的开发语言 阅读全文
posted @ 2013-10-23 16:27 杨雨_AlexYang 阅读 (24486) 评论 (1) 编辑
摘要:Ceilometer项目创建时最初的目的是实现一个能为计费系统采集数据的框架。在G版的开发中,社区已经更新了他们的目标,新目标是希望Ceilometer成为OpenStack里数据采集(监控数据、计费数据)的唯一基础设施,采集到的数据提供给监控、计费、面板等项目使用。Project GoalFor Grizzly, the new objective is The project aims to become the infrastructure to collect measurements within OpenStack so that no two agents would need 阅读全文
posted @ 2013-02-18 17:02 杨雨_AlexYang 阅读 (6178) 评论 (0) 编辑
摘要:简介OpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一。Swift使用普通的服务器来构建冗余的、可扩展的分布式对象存储集群,存储容量可达PB级。Swift的是用Python开发,前身是Rackspace Cloud Files项目,随着Rackspace加入到OpenStack社区,Racksapce也将Cloud Files的代码贡献给了社区,并逐渐形成现在Swift。Swift最新的发型版本为essex1.4.6。功能Swift提供的服务与AWS S3相同,可以用以下用途:作为IaaS的存储服务与OpenStack Compute对 阅读全文
posted @ 2012-03-03 13:07 杨雨_AlexYang 阅读 (1845) 评论 (1) 编辑
摘要:读/写IO磁盘控制器向磁盘发出一次读/写指令,给出开始扇区的地址和向后连续读/写的扇区的个数。读/写IO是一次IO,操作的扇区编号必须是连续的,如过上层文件系统的IO请求是多个不连续的扇区,将会被磁盘控制器拆分成多个读/写IO来执行。(层次模型是理解一个系统最重要的思想,层次模型从底层到高层是一个化繁为简的过程,低层模块把复杂封装,向上层提供简易的使用接口;从高层到底层是一个逐层细分,逐层细化的过程。各层之间逻辑内聚,通过协议通讯降低耦合。文件系统层的一次IO会被磁盘存储层拆分成多次IO执行,不同层次之间的一次IO概念是不同的。)大/小块IO小块IO:指一次读/写IO操作的连续扇区数目较小;大 阅读全文
posted @ 2011-12-28 14:59 杨雨_AlexYang 阅读 (758) 评论 (0) 编辑
摘要:有数量不限的面值为100,50,20,10,5,1元的纸币,问要组成N(N<=10^6)共有多少种组合方式?(Google笔试题)首先用深搜思想实现的枚举#include <cstdio>#define COM_LEN 6using namespace std;int com[COM_LEN] = {1, 5, 10, 20, 50, 100};void cal_combinations(int num, int *arr, int index, int &res) { if (0 == num) { ++res; return; } if (in... 阅读全文
posted @ 2011-10-15 10:43 杨雨_AlexYang 阅读 (676) 评论 (1) 编辑
摘要:Google笔试被拒,百度3面居然都挂了,还好,明天微软笔试。。。有数量不限的面值为100,50,20,10,5,1元的纸币,问要组成N(N<=10^6)共有多少种组合方式?(Google笔试题)#include <cstdio>#define COM_LEN 6using namespace std;int com[COM_LEN] = {1, 5, 10, 20, 50, 100};void cal_combinations(int num, int *arr, int index, int &res) { if (0 == num) { ++res; r... 阅读全文
posted @ 2011-10-14 22:20 杨雨_AlexYang 阅读 (249) 评论 (0) 编辑