编译部署ceph-10.2.3

准备:

1.centos 7系统

2.ceph-10.2.3源码

3.ceph-deploy源码

https://github.com/ceph/ceph-deploy/tree/v1.5.36

4.依赖包

可以通过以下路径下载依赖包:https://pkgs.org/


1.安装依赖包

首先安装编译ceph所依赖的软件包,如下:(共20个)。可以通过for i in `ls`; do rpm -ivh $i ; done

cryptopp-5.6.2-10.el7.x86_64.rpm  

leveldb-devel-1.12.0-11.el7.x86_64.rpm    

python-remoto-0.0.25-1.el7.noarch.rpm
cryptopp-devel-5.6.2-10.el7.x86_64.rpm  

libatomic_ops-devel-7.2d-7.el7.x86_64.rpm

python-tox-1.4.2-8.el7.noarch.rpm
Cython-0.19-3.el7.x86_64.rpm            

python-2.7.5-34.el7.x86_64.rpm            

snappy-devel-1.1.0-3.el7.x86_64.rpm
fcgi-2.4.0-25.el7.x86_64.rpm          

 python-execnet-1.2.0-4.el7.1.noarch.rpm    

xfsprogs-devel-3.2.2-2.el7.x86_64.rpm
fcgi-devel-2.4.0-25.el7.x86_64.rpm      

python-libs-2.7.5-34.el7.x86_64.rpm        

yasm-1.2.0-4.el7.x86_64.rpm
gperftools-devel-2.4-7.el7.x86_64.rpm  

python-pip-7.1.0-1.el7.noarch.rpm          

yasm-devel-1.2.0-4.el7.x86_64.rpm
leveldb-1.12.0-11.el7.x86_64.rpm      

 python-py-1.4.30-2.el7.noarch.rpm


2.编译ceph

①  进入ceph-10.2.3源码目录,执行./autogen.sh.

②  执行./configure --prefix=/usr --sbindir=/sbin --localstatedir=/var--sysconfdir=/etc --with-debug

③  make –j32 install

完成ceph源码的编译。


3.Ceph-deploy工具的安装

将ceph-deploy源码拷贝到服务器上任意目录下,执python  setup.py install,完成ceph-deploy工具的安装。

建议使用新版本,适用版本是1.5.36

源码安装:

    https://github.com/ceph/ceph-deploy/tree/v1.5.36

python setup.py install

rpm下载路径:

http://download.ceph.com/rpm/el7/noarch/ceph-deploy-1.5.36-0.noarch.rpm


4.部署ceph

(1)前期准备工作

  ①.修改主机名

vim /etc/hosts 添加 192.168.1.111      host111

vim /etc/sysconfig/network  添加 NETWORKING =yes   

 HOSTNAME=host111

(以上配置重启才能生效,可以在终端执行hostname=host111,然后关闭终端,再重新打开即可)

生效后终端显示如下:

[root@host111  ceph_deploy]# 

②.关闭防火墙

sudo systemctlstop firewalld.service

sudo systemctldisable firewalld.service

③.创建ceph用户

由于centos7.2的特性以及ceph 版本的迭代,systemctl及udev规则都是指定的ceph用户和ceph用户组,原来0.87.1使用的root用户,这里需要使用ceph用户,并提升ceph用户权限至root用户

       adduser -d /home/ceph -m ceph

passwd ceph  添加密码

       vim /etc/passwd提升权限,修改ID值与root用户ID值0相同即可!

④.拷贝脚本

cp ceph-10.2.3//src/init-ceph /etc/init.d/ceph && chmod 777 /etc/init.d/ceph

cp ceph-10.2.3/src/ceph-osd-prestart.sh /usr/lib/ceph/ &&chmod 755  /usr/lib/ceph/ceph-osd-prestart.sh

cp -rfpd ceph-10.2.3/udev/* /lib/udev/rules.d/

⑤.添加库路径

vim /etc/ld.so.conf添加上/usr/lib,保存退出后,执行命令ldconfig让其生效

(2)正式开始部署

①创建monitor

ceph-deploy new $HOST_NAME(主机名) --cluster-network 192.168.1.0/24 --public-network 192.168.1.0/24

执行完上述步骤后,会在当前目录下生成三个文件:ceph.conf ceph.log ceph.mon,keyring

ceph-deploy --overwrite-conf mon create-initial

执行完上述步骤后,此时通过命令ceph -s可以看到集群信息

②格式化磁盘

for i in $HOST_NAME
do
for j in `ls /dev/sd* |grep -v -w sda|grep -v [0-9]$`
do
ceph-deploy disk zap $i:$j
done
done

③prepare磁盘

for i in $HOST_NAME
do
osd_num=0
for j  in `ls /dev/sd* |grep -v -w sda|grep -v [0-9]$` 
do
test -d /var/lib/ceph/osd/ceph-$osd_num || mkdir -p /var/lib/ceph/osd/ceph-$osd_num
ceph-deploy --overwrite-conf osd prepare ${i}:${j}
let osd_num+=1;
done
done

④对osd进行激活

#active
for i in $HOST_NAME
do
for j  in `ls /dev/sd* |grep -v -w sda|grep -v [0-9]$` 
do
ceph-deploy osd activate ${i}:${j}1
done
done

⑤创建mds

一般创建两个,一主一备。

#create mds
for i in 1 2
do 
test -d /var/lib/ceph/mds/ceph-$i ||mkdir -p /var/lib/ceph/mds/ceph-$i
ceph-deploy mds create $HOST_NAME:$i
done

⑥创建元数据池

ceph osd pool create mpool 128 128 
ceph osd pool set
mpool size 1  

其中mpool是meta pool的名字 ,128 128 分别是pg数和pg组的数,一般为大于 (该池子中osd的个数*100 /副本数) 的最小2次幂

⑦创建数据池

分为两种形式,一种是纠删池,另一种是副本池(与元数据池一样)

纠删池:

ceph osd erasure-code-profile set isa plugin=isa k=4 m=2 ruleset-failure-domain=osd
ceph osd pool create $DATA_POOL 1024 1024 erasure isa

副本池:

ceph osd pool create dpool 2048 2048
ceph osd pool set
dpool size 3

⑧创建文件系统

ceph fs new inspurfs mpool dpool





你可能感兴趣的:(ceph)