Apr 232013
 

从知道Gluster到现在,其实时间不短,当时单位用gluster对外提供网盘的服务,搜狗拼音,算是国内最大的Gluster用户,不过现在好像都在做迁移。

这次测试安装,其实遇到很多恶心的问题,估计都是软件的bug。Gluster的安装配置,倒是非常简单,简单到你基本没啥可做的,我就把安装和测试过程记录一下,没啥技术含量。

 

参考文档 原文

准备

我的实验环境是2个节点,一个客户端,gluster群集设置

  1. 关闭selinux
  2. 关闭iptables,避免各种端口访问的麻烦
  3. 网卡绑定,我使用mode=0,交换机不做任何设置
  4. 使用epel源,目前源里的gluster版本是3.2.7
  5. 采用FQDN 访问,你需要自己搞定,设置hosts文件,所有节点包括客户端
  6. 硬盘有一个单独的分区 /data 作为gluster数据存储空间

安装

在群集节点g132上

[root@g132 ~]# hostname
g132.chenshake.com
yum -y install glusterfs-server
chkconfig --levels 235 glusterd on
/etc/init.d/glusterd start 

在另外节点g132  也是相同操作

配置

Gluster的配置非常简单

添加节点,我是从g132节点进行添加其他节点

gluster peer probe g133

查看节点情况

# gluster peer status
Number of Peers: 1

Hostname: g133
Uuid: ad311d76-1d72-4950-b1e7-191291c0ab17
State: Peer in Cluster (Connected)

添加volume

为了方便测试,我们在两个节点的 /data 目录下,创建 data01目录

数据存放一份

gluster volume create testvol g132:/data/data01 g133:/data/data01

数据存放2份,这就需要你添加volume的时候是双数

gluster volume create testvol replica 2 g132:/data/data01 g133:/data/data01

条带化,看你希望条带化到几个节点,你自己调整 (我没测试)

gluster volume create testvol stripe 2 g132:/data/data01 g133:/data/data01

创建完volume后,会提示你启动volume,这个经常会忘记

gluster volume start testvol

查看gluster运行情况

netstat -tap | grep glusterfsd

查看volume情况

gluster volume info

查看节点

gluster peer status

客户端

其实服务器端,也可以当客户端,不过我还是专门找了一台机器作为客户端

yum -y install glusterfs-client

mount gluster目录

mkdir /test
mount.glusterfs g132:/testvol /test

你也可以用这个命令

mount -t glusterfs g132:/testvol /test

查看情况

[root@g140 ~]# mount
/dev/sda5 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda2 on /data type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
g132:/testvol on /test type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)

df查看

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda5              93G  1.5G   87G   2% /
tmpfs                  16G     0   16G   0% /dev/shm
/dev/sda1             194M   33M  152M  18% /boot
/dev/sda2             394G  199M  374G   1% /data
g132:/testvol         788G   83G  666G  11% /test

测试

dd测试,不过不算是太准确.

cd /test
dd if=/dev/zero of=/mnt/glusterfs/test.img bs=1024k count=1000

iozone 进行压力测试

如果你直接使用DD,不见得可以测试出真实带宽,估计是和多线程有关。

安装

wget http://www.iozone.org/src/current/iozone3_414.tar
tar xvf iozone3_414.tar -C /usr/local/src/
cd /usr/local/src/iozone3_414/src/curren
make linux-AMD64
cp iozone /usr/bin/

测试

cd /test/
mkdir n140
cd n140
iozone -t 250 -i 0 -r 512k -s 500M -+n -w

 

附注

查看命令帮助,这个非常有用,gluster很多命令和别的软件有区别

gluster help
gluster peer help
gluster volume help

删除节点

gluster peer help
gluster peer datach g133

删除birck

gluster volume info
gluster volume remove-brick testvol g132:/data/data01

如果你要删除volume,那么你需要停止volume服务

gluster volume stop testvol
gluster volume delete testvol
Apr 082013
 

2013年4月4日,已经正式发布了Grizzly版本,目前Ubuntu 12.04的Grizzly的deb包,也基本准备好了,这次Ubuntu的动作真的是很快。以前Folsom版本的时候,由于Quantum的复杂和很多问题,导致网络上有不少问题。Grizzly版本的Quantum,已经做了很大的改进。关于Quantum介绍,可以查看官方wiki

Qauntum 需要通过插件来实现网络管理,有各种的商业插件,目前开源的插件就2个,linux Bridge和Openvswith,这篇文档是针对Bridge,Bridge不支持GRE模式,只支持VLAN和Local两种模式,Local只能用于测试使用。如果是多节点,VLAN模式就需要交换机支持,对端口设置Trunk。

quantum

 

参考英文原文:https://github.com/mseknibilel/OpenStack-Grizzly-Install-Guide

Quantum linux-Bridge 插件介绍:https://wiki.openstack.org/wiki/Quantum-Linux-Bridge-Plugin

我会对原文进行一些调整

  • 我的网络环境eth0连接公网,eth1是内网
  • 组件需要的数据库,我统一创建
  • 通过设置环境变量的办法,使得文章适应不同的场景(例如不同的IP和密码)

文档修改历史

2013年4月10凌晨:Grizzly正式版本的Ubuntu 12.04的包刚刚发布,使用最新的包,已经基本完成安装过程,目前只剩下Dashboard的使用。由于quantum的网络设置比较复杂,需要设置好网络,才能进一步测试。

2013年4月17日:修正了文档几个错误,nova.conf 里quantum的账号设置错误,还有就是quantum没设置 /etc/quantum/dhcp_agent.ini:不过目前还是没法创建虚拟机,非常郁闷。目前看到的情况是:Dashboard里还无法完全管理网络,尤其是bridge模式。

组件和网络拓扑图

grizzly

Continue reading »

Mar 222013
 

这是我转载mirantis的文章,Mirantis对Openstack的贡献,其实真不比任何一家公司小。因为他的网站访问要拿梯子,所以我就转载过来方便大家。

我简单说一下我对文章的理解

在Nova network里,采用mutilhost的方式实现冗余,就是每个计算节点,都安装nova network,负责这个计算节点的vm访问互联网.在Folsom版本的quantum,其实没有实现网络节点的冗余,只能存在一个网络节。在Grizzly版本的Quantum里,你可以有多个网络节点,这几个网络节点实现同步,负责vm的访问,和以前的mutilhost是有区别的。你的网络节点不可能和计算节点的数量是一样的。

关于这个的中文解析,可以看 http://blog.csdn.net/lynn_kong/article/details/8709003

今天刚看到邮件列表关于如何在Quantum里实现mutilhost,估计是上游开发者认为还是有必要去实现这个功能,关键代码已经在Grizzly里,只是没宣布而已。http://l2.yunpan.cn/lk/QEy3TkutXnqZe

原文:http://www.mirantis.com/blog/a-new-agent-management-approach-in-quantum-for-openstack-grizzly/

Continue reading »

Mar 182013
 

现在的信用卡中心,基本都采用自动应答,你如果要找人工服务,按照提示,估计你会疯掉的。终于有人整理出一个完整版本,非常实用,我至少使用中信,华夏,浦发的电话。 (原文)下面800开头的电话,如果你是手机,就改成400就可以。

我自己使用记录

华夏银行:400 669 5577 ,输入身份证号码,选择0 人工服务,输入查询密码,就ok

浦发银行:400 820 8788 ,让我听广告,按1选择中文,输入身份证号码,选择你的卡片,输入1(你可能有多张卡),让我听我的账单信息,输入0人工服务。

 

Continue reading »

Mar 152013
 

这段时间学习监控,本来希望从Nagios开始,不过发现Nagios涉及的东西太多,并且很多地方都会提到Cacti。所以就专门去了解和学习一下Cacti。

Ubuntu下安装软件,其实是非常方便的,不过现在发现很多软件编译起来也很方便。编译的一个好处,其实就是可以使用最新的版本。目前最新版本是0.8.8a,官方预计第一个季度底推出1.0版本,会有重大更新。

Cacti的编译安装文档,基本都是在Centos下测试,包括Cacti官方文档,所以在Ubuntu源码安装Cacti的spine,遇到点麻烦,不过还是顺利解决。大家可以比较一下源和源码安装的不同,我基本实现了两种安装,获得相同的结果。采用源码安装,应该可以让你了解更多细节。

 

Continue reading »

Mar 132013
 

今年的一个目标,就是把监控好好搞搞。彻底熟悉一下nagios的使用。网上看了一下安装文档,感觉有点乱,安装文档,通常不详细解析组件的功能和用途。

基本介绍

先把一些常见的术语搞清楚。Nagios不仅仅是一个监控软件,其实更多像一个监控的框架,形成了一个生态圈,所以你需要了解他周围的东西很多。

Nagios介绍

自己以前转载过一篇文章原文,介绍的倒是很详细,只是当时没看懂,这次倒是用上。

监控软件,以前我倒是研究过一下,无非就两种:基于SNMP和通过agent来实现。基于SNMP,可以获得的数据会比较少,Agent的会比较多一点,但是也比较复杂。

Nagios通常由一个主程序(Nagios  Core)、一个插件程序(Nagios-plugins)和四个可选的附件(NRPE、NSCA、 NSClient++和NDOUtils)组成。Nagios的监控工作都是通过插件实现的,因此,Nagios和Nagios-plugins是服务器端工作所必须的组件。

    其它四个附件:
   (1)NRPE:用来在监控的远程Linux/Unix主机上执行脚本插件以实现对这些主机资源的监控。check_nrpe插件:运行在监控主机上 ,NRPE daemon:运行在远程的linux主机上(通常就是被监控机)
   (2)NSCA:用来让 被监控的远程Linux/Unix主机主动将监控信息发送给Nagios服务器(这在冗余监控模式中特别要用到)
   (3)NSClient++:用来监控 Windows主机时安装在Windows主机上的组件
   (4)NDOUtils:则用来将Nagios的配置信息和各event产生的数据存入数据库,以实现 这些数据的快速检索和处理

    这四个ADDON(附件)中,NRPE和NSClient++工作于客户端,NDOUtils工作于服务器端,而NSCA则需要同时安装在服务器端和客户端

所以你看安装文档的时候,就会看到各种文档,启用不同的插件,让你比较糊涂。另外Nagios提供web界面,不过只是展现功能,无法做任何的操作,例如添加监控节点,这个就只能在命令行下完成。

ICINGA

Nagios,其实可以理解为一个开源版本,一个商业版本。对于小的开源软件,这是一个不错的模式,不过一旦项目庞大,参与社区的开发者多了时候,就会出现矛盾:商业版本和开源版本的功能区别。这也是很可能导致分裂。Eucalyptus就是这样死掉了。

ICINGA,就是一个Nagios开发者独立出去成立的项目,项目野心很大,新的开源项目将完全兼容以前的Nagios应用程序及扩展功能。在新项目的网站上,他们是如此定义ICINGA的,这将是一个介于Nagios社区版和企业版间的产 品。特别将致力于解决Nagios项目现在的问题。 ICINGA,目前在加紧开发2.0的版本,完全抛弃1.x版本,将会在2013年底发布。到时候Nagios估计可以感受到压力。

据说web界面做的不错。改天要好好测试一下。很多配置,都和Nagios类似。

Centreon

Centreon作为nagios的分布式监控管理平台,其功能之强大,打造了Centreon在IT监控方面强势地位,它的底层使用Nagios监控软件,Nagios通过ndoutil模块将监控数据写入数据库,Centreon读取该数据并即时的展现监控信息,通过centreon可以简单地管理和配置所有Nagios,因此,完全可以使用centreon轻易的搭建企业级分布式IT基础运维监控系统。

简单理解,就是一个基于Nagios的Dashboard, 很多操作,可以在web完成。详细介绍

PNP4Nagios

这应该算是Nagios的一个插件,增强Nagios的图表功能。很多人是通过集成Cacti实现,不过现在可以通过这个nagios插件来实现,这个插件同时也支持ICINGA。软件更新还是很快,值得去尝试。

Check_MK

Check_MK也和Centreon有点类似,但是它有个更强大的地方是Check_MK有自己单独的数据采集客户端工具,配置也比较简单,当然同时也支持snmp。官方网站介绍

Check_MK 是开源的。Check_MK Monitoring-system 是收费的系统。这个估计需要花点时间了解才行。

37signals也是采用Check_MK ,可见这个插件的厉害。中文  英文

NagiosQL

这也是一个web管理Nagios和ICINGA。看了一下网站,目前是一个人在开发。也已经有1年没有更新。网站

Nconf

这也是一个Nagios web管理工具,可以实现web进行操作。不过我看了一下网站,发现已经有1年多没更新。看看git上的代码,感觉也不很活跃。不打算研究这个。