您的位置:首页 > 运维架构 > Linux

centos 6.2 64位上安装ceph 0.47.2

2012-06-04 17:57 232 查看
centos 6.2 64位的内核版本是2.6.32-220.el6.i686,ceph的客户端已经在2.6.34以后的版本集成了,很明显centos6.2中没有client客户端,由于我已经在UBUNTU 11.10 64位版本中安装了ceph0.47.2,并且UBUNTU 11.10版本的内核版本是3.0.0-12-generic所以自然包含ceph 的client客户端,为了简便所以我打算在按照如下的配置做实验。

下面的例子中mon代表监控节点,osd代表对象存储设备,mds代表元数据服务器,client代表客户端。

在mon,osd,mds上分别要装有ceph,并且按照下面的例子配置好,client端要有ceph的客户端(如上面分析,如果内核版本足够高的话就内置了)

位置

IP

身份

UBUNTU 11.10

本地虚拟机

192.168.10.3

mon及client

CENTOS 6.2

真实服务器

192.168.5.101

osd

CENTOS6.2

真实服务器

192.168.5.100

mds

通过ssh添加对于mon节点的信任。

#ssh-keygen

#cd ~/.ssh; cat id_dsa.pub >>authorized_keys
#复制.ssh 文件夹到其他机器用户home目录上

首先./autogen.sh

然后执行./configure

会提示缺少一些包

configure: error: libuuid not found

configure: error: no FUSE found (use --without-fuse to disable)

configure: error: No usable version of libedit found.

configure: error: libaio not found

比如libuuid,fuse,libaio,libedit,分别按照如下命令安装。

yum install libuuid-devel

yum install fuse-devel

yum install libedit-devel

yum install libaio-devel

然后执行./configure --without-tcmalloc --without-libatomic-ops

configure成功以后生成了makefile文件

执行make 这个过程很慢请耐心等待。

这时候会出现一个问题error: ‘INT_MAX’ was not declared in this scope

不知道为什么会出现这个问题,提醒很明显是没有声明,所以直接在它提示的.cc文件中加入如下的定义

#include<limits.h>

不知道这样做对不对,但确实能够编译通过了。

后来又出现了个问题叫做error: expat.h: No such file or directory

error: ‘XML_Parser’ does not name a type

这时候缺少包expat-devel 执行yum install expat-devel

OK,这时候就能够编译通过了,不容易啊。

然后执行make install.

没有问题,这时候就行了,可以通过配置ceph.conf文件组成ceph小集群进行测试了。

具体ceph.conf的配置参考http://ceph.com/docs/master/config-cluster/ceph-conf/

注意要建立一些文件参考http://ceph.com/docs/master/config-cluster/mkcephfs/

对于我这个配置来说

需要在UBUNTU 11.10 192.168.10.3

mkdir /home/xieke/mon.0

在192.168.5.101上

mkdir /home/xieke/osd.0

在192.168.5.100上

mkdir /home/xieke/mds.0

由于这些目录不会被自己创建,所以要自己创建。

另外将ceph.conf放到mon节点,osd节点和mds节点下的/etc/ceph/ceph.conf后,还要将ceph文件夹复制到/usr/local/etc/ceph中,每次更新/etc/ceph/ceph.conf后都要同时更新/usr/local/etc/ceph/ceph.conf文件

每次更新完以后,都要在mon节点上执行mkcephfs -c /etc/ceph/ceph.conf -a操作

在mon节点上执行service ceph -a start

可以通过执行ceph -s 查看各个部件的运行状态。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: