Install Ceph on CentOS 5.5

原文地址:Install Ceph on CentOS 5.5(原创)CentOS5.5 上安装 Ceph 作者:Eugene
为了实验的简单性,本实验就是在一台虚拟的CentOS-5.5 i386上进行。
 

准备:  
centos5.5 下yum库扩展工具链接:
    ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el5/en/x86_64/dag/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
   ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el5/en/i386/dag/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
# yum install rpm-build fuse-devel libtool libtool-ltdl-devel boost-devel libedit-devel git
openssl-devel gcc-c++ btrfs-progs

步骤1、因为光盘上的内核版本不是最新,所有第一步就是编译内核,本实验选择的是2.6.37。  
# make mrproper &&  # make menuconfig 认真查找将与btrfs和Ceph相关的选项多选择上,保存退出
# make bzImage &&  # make modules &&  # make modules_install &&  # make install
(注意其中会出现两个错误,请参照本博客的另外两篇博文)

步骤2、安装btrfs和创建btrfs文件系统
下载源码包:btrfs-progs-0.19.tar.gz ,注意步骤1中我们已经将btrfs编入内核,就无需源码包btrfs-0.xx。
tar -zxvf XXXX && make && make install
可以实验一下: fdisk /dev/sdb ...&& mkdir /mnt/btrfs && mkfs.btrfs /dev/sdb1 
&& mount -t btrfs /dev/sdb1 /mnt/sdb1 && df 一下就能看到结果 ,记得umount掉。

步骤3、安装ceph
进入源码包ceph-0.24 , ./autogen && ./configure && make &&make install
在这个过程中会出现一些问题
(1)要求安装libcrypto++:下载源码包cryptopp561.zip,&& mkdir cryptopp561 &&cd &&unzip ../cryptopp561.zip && vim GNUmakefile ,CXXFLAGS += -fPIC && make
&& make libcryptopp.so && make install
(2)要求安装libedit:因为本系统是i386系列,
     rpm -Uvh http://dev.centos.org/centos/5/testing/i386/RPMS/libedit-3.0-2.20090905cvs.el5.centos.i386.rpm
     rpm -Uvh http://dev.centos.org/centos/5/testing/i386/RPMS/libedit-devel-3.0-2.20090905cvs.el5.centos.i386.rpm
步骤4、
# mkcephfs -c /usr/local/etc/ceph/ceph.conf --allhosts --mkbtrfs -k /etc/ceph/keyring.bin
# mkcephfs -c /etc/ceph/ceph.conf --allhosts --mkbtrfs -k /etc/ceph/keyring.bin
这两条命令有点混。
# /etc/init.d/ceph -a start
步骤5、ceph挂载,出现了问题:
# mount -t ceph 10.65.1.86:/ /mnt/ceph
mount: wrong fs type, bad option, bad superblock on 10.65.1.87:/,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
查看错误:
[root@ceph86 src]# dmesg | tail
libceph: no secret set (for auth_x protocol)
libceph: error -22 on auth protocol 2 init
问题解决了
ceph-0.24卸载掉后,重装最新的ceph-0.25.1即可。

附录1 修改hostname

google 百度一下吧 
这里主要涉及 /etc/sysconfig/network文件, hostname命令, /etc/hosts文件 

附录2 无需密码ssh访问

原理就是公私钥机制,我要向让别人访问我,那么就要把自己的公钥发给别人,这样他就可以凭该公钥来访问我了.

$ ssh-keygen –d 
#该命令会在~/.ssh下面生成几个文件,这里有用的是id_dsa.pub,为该节点(甲)的公钥,然后把里面的内容添加到对方节点(乙) 
#~/.ssh/目录下的authorized_keys文件中,如果没有则创建一个,这样就从乙节点不需要密码ssh登陆到甲上了.
附录3 请记住一定要关闭 selinux
setenforce 0
vim /etc/sysconfig/selinux
不然在客户端对新加进来的设备操作,会出现错误:XXXXXPermission denied
为了排除干扰:servcie iptabes stop

你可能感兴趣的:(DFS)