红联Linux门户
Linux帮助

手动编译配置ceph

发布时间:2016-05-27 10:13:48来源:linux网站作者:linuxhunter

本文详细介绍在ubuntu16.04环境下手动编译并配置ceph-10.2.1的全过程。


一、手工编译ceph源代码。

1、下载ceph源代码。

从阿里云开源镜像网站下载当前最新版本的ceph源代码,具体下载地址如下:http://mirrors.aliyun.com/ceph/tarballs/ceph_10.2.1.orig.tar.gz

2、编译ceph源代码。

1)编译运行环境说明。

使用的编译和运行环境是ubuntu16.04-server-amd64,安装完ubuntu镜像后更新运行环境到最新。

#apt-get update

#apt-get upgrade

2)解压缩源代码。

#mkdir -p /root/src

#tar -xf ceph_10.2.1.orig.tar.gz -C/root/src

3)安装编译依赖包。

A)执行ceph源代码目录下的install_deps.sh脚本来安装必要的依赖(该脚本并不能完全安装编译ceph源代码所有的依赖)

#cd ceph-10.2.1

#./install-deps.sh

B)安装额外的依赖包。

#apt-get install libtool automake pkg-config cython libsnappy-dev libleveldb-dev libblkid-dev libudev-dev libkeyutils-dev libcryto++-dev libfuse-dev libatomic-ops-dev libaio-dev xfslibs-dev libboost-dev libboost-iostreams-dev libboost-random-dev libboost-program-options-dev libldap2-dev virtualenv python-pip zlib1g-dev libcurl4-nss-dev libfcgi-dev libssl-dev

4)配置ceph源代码。

#cd ceph-10.2.1

#./autogen.sh

#./configure —prefix=/usr —libexecdir=/usr/lib —sysconfdir=/etc —with-radosgw —with-rados —with-rbd —with-cephfs —with-debug --with-nss --without-libcryptopp

5)编译ceph源代码。

#make -j32

3、安装ceph源代码。

编译成功后,执行make install安装ceph到本地运行。

#make install


二、配置ceph运行环境。

1、ceph运行环境硬件说明。

ceph使用的硬件运行环境是华为服务器,其中CPU是Xeon E5-2650 v2,内存128GB,一共有4块600GB的SAS盘,其中一块作为系统盘,其余三块作为ceph存储节点。

2、配置monitor节点。

1)检查/etc/ceph目录是否存在,若不存在则手动创建一个。一般来说,在执行make install后回自动生成/etc/ceph目录;

2)创建/etc/ceph/ceph.conf配置文件;

#vim /etc/ceph/ceph.conf

3)创建unique ID;

#uuidgen

4)将创建的unique ID值写入到ceph.conf配置文件中;

fsid = xxxx-yyyy-zzzz

5)在ceph.conf中填写monitor节点成员名称和ip地址;

mon initial members = B-79-5

mon host = 192.168.250.93

6)创建monitor keyring;

#ceph-authtool —create-keyring /tmp/ceph.mon.keyring —gen-key -n mon. —cap mon ‘allow *'

7)创建client.admin keyring;

#ceph-authtool —create-keyring /etc/ceph/ceph.client.admin.keyring —gen-key -n client.admin —set-uid=0 —cap mon ‘allow *’ osd ‘allow *’ mds ‘allow'

8)将client.admin的key添加到monitor的keyring中;

#ceph-authtool /tmp/ceph.mon.keyring —import-keying /etc/ceph/ceph.client.admin.keyring

9)初始化monmap;

#monmaptool —create —add B-79-5 192.168.250.93 —fsid xxxx-yyyy-zzzz /tmp/monmap

10)创建monitor工作目录;

#mkdir -p /var/lib/ceph/mon/ceph-B-79-5

11)使用monmap和monitor keyring初始化monitor进程;

#su - ceph ceph-mon —mkfs -i B-79-5 —monmap /tmp/monmap —keyring /tmp/ceph.mon.keyring

12)设置monitor工作目录所有者为ceph用户;

#chown -R ceph:ceph /var/lib/ceph/mon/ceph-B-79-5

13)标识monitor节点初始化完成且可以启动;

#touch /var/lib/ceph/mon/ceph-B-79-5/done

14)创建ceph asok使用的目录;

#mkdir -p /var/run/ceph

#chown -R ceph:ceph /var/run/ceph

14)启动monitor进程;

#systemctl start ceph-mon@B-79-5

15)查看当前ceph的状态;

#ceph -s

3、配置osd节点。

1)为OSD节点生成unique ID;

#uuidgen#该命令返回unqiue ID字符串aaaa-bbbb-cccc

2)创建OSD节点;

#ceph osd create aaaa-bbbb-cccc    #该命令会返回创建的OSD节点编号{id}

3)创建OSD节点工作目录;

#mkdir -p /var/lib/ceph/osd/ceph-{id}

4)创建OSD磁盘且挂载该磁盘到OSD节点工作目录;

#mkfs.xfs /dev/sdb1

#mount /dev/sdb1 /var/lib/ceph/osd/ceph-{id}

5)初始化OSD节点工作目录;

#ceph-osd -i {id} —mkfs —mkkey —osd-uuid aaaa-bbbb-cccc

6)注册OSD节点认证key;

#ceph auth add osd.{id} osd ‘allow *’ mon ‘allow profile osd’ -i /var/lib/ceph/osd/ceph-{id}/keyring

7)OSD节点添加到CrushMap;

#ceph osd crush add-bucket virtual-node{id} host

#ceph osd crush move virtual-node{id} root=default

#ceph osd crush add osd.{id} 1.0 host=virtual-node{id}

8)设置OSD节点工作目录所有者为ceph;

#chown -R ceph:ceph /var/lib/ceph/osd/ceph-{id}

9)启动OSD进程;

#systemctl start ceph-osd@{id}

10)查看ceph状态;

#ceph -s

以相同的方式添加剩余两个OSDs节点。


三、注意事项。

1、注意/tmp/ceph.mon.keyring和/tmp/monmap的访问权限,最好设置成0644;

2、注意monitor和OSD节点工作目录的所有者和访问权限,即:所有者是ceph,访问权限最好设置成0644;

3、基本的ceph.conf文件内容如下:

/etc/ceph/ceph.conf

[global]

fsid = a7f64266-0894-4f1e-a635-d0aeaca0e993

mon initial members = B-79-5

mon host = 192.168.250.93

public network = 192.168.250.0/24

auth cluster required = cephx
auth service required = cephx
auth client required = cephx


本文永久更新地址:http://www.linuxdiyf.com/linux/20986.html