文档章节

手动编译配置ceph

linuxhunter
 linuxhunter
发布于 2016/05/26 16:13
字数 1051
阅读 4000
收藏 3

一、手工编译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

© 著作权归作者所有

linuxhunter
粉丝 72
博文 144
码字总数 93264
作品 0
沈阳
高级程序员
私信 提问
加载中

评论(5)

linuxhunter
linuxhunter 博主
使用cmake编译ceph源代码时,需要手动安装sphinx-common软件包,之后按照官网的步骤编译即可。
linuxhunter
linuxhunter 博主
记录一下创建集群的命令行。
VSTART_DEST=/ceph ./vstart.sh -i 192.168.250.93 -n -d -r --mon_num 1 --osd_num 3 --mds_num 3 --bluestore
linuxhunter
linuxhunter 博主

引用来自“晓风谁染”的评论

编译完成以后,使用ceph -v检查版本的时候出现这样的错误:
Traceback (most recent call last):
File "/usr/bin/ceph", line 118, in <module>
import rados
ImportError: /usr/lib64/python2.7/site-packages/rados.so: undefined symbol: rados_nobjects_list_next
应该是系统没有安装python-rados这个包。
晓风谁染
编译完成以后,使用ceph -v检查版本的时候出现这样的错误:
Traceback (most recent call last):
File "/usr/bin/ceph", line 118, in <module>
import rados
ImportError: /usr/lib64/python2.7/site-packages/rados.so: undefined symbol: rados_nobjects_list_next
linuxhunter
linuxhunter 博主
更新一下编译选项,编译ceph的时候默认使用libcrypto++库,但是在实际运行radosgw相关命令的时候会曝出/usr/lib/librgw.so.2无法找到libcrypto库中的一个导出字段。所以更新一下编译选项,使得ceph使用libnss加密库,不用libcrypto++加密库。使用libnss加密库后radosgw相关命令可以正常启动了。
ubuntu16.04下“libcryto++-dev“无法安装

@linuxhunter 你好,想跟你请教个问题:您好,老师,我按照您编写的文档《 手动编译配置ceph 》 在ubuntu16.04环境下手动编译并配置ceph-10.2.1 的时候“libcryto++-dev”这个软件包始终无法...

hlc-123
2017/06/01
154
2
ceph jewel手动编译安装的一些优化

一、手动安装ceph。 根据http://my.oschina.net/linuxhunter/blog/682013,手动安装jewel版本ceph到硬件服务器。 二、测试ceph集群的方法。 使用ceph自带的rados bench命令简单测试手动搭建c...

linuxhunter
2016/06/02
1K
0
Kubernetes使用Ceph动态卷部署应用

Kubernetes使用Ceph动态卷部署应用 [TOC] 1. 环境准备 可用的kubernetes,版本1.11.1 可用的Ceph集群,版本luminous Ceph monitor节点:lab1、lab2、lab3 GO语言环境和kubernetes-incubator/...

ygqygq2
2018/08/24
0
0
CentOS7.5 手动部署Ceph RGW

目 录 1 设备列表... 1 2 Ceph RGW 部署... 1 2.1 使用civetweb配置... 2 2.2 使用nginx配置... 5 本文主要记录一下手动部署rgw的过程,环境是使用的之前手动部署的ceph环境,之前的环境部署...

青山如是
2018/07/03
0
0
Ceph编译安装教程

Ceph官方版本目前支持的纠删码很有限,实验室这块希望能够整合我们自主开发的纠删码BRS(Binary Reed–Solomon encoding),所以需要编译Ceph环境。Ceph官方目前推荐的安装方式都是通过Ceph-...

LeeHappen
2017/12/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SQL性能优化

SQL性能优化 一、SQL的执行顺序 顺序:FROM——ON——JOIN——WHERE——GROUP BY——SUM、COUNT——HAVING——SELECT——DISTINCT——ORDER BY——LIMIT 与写SQL的顺序不同,SQL的执行顺序并...

一字见心
9分钟前
3
0
x001-版本介绍

python版本介绍 目前有2 和 3 有很多企业用的代码是2版本,随着技术的发展,以后用3的会成为大趋势 python3的安装 yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-d...

侠客行之石头
11分钟前
4
0
聊聊rocketmq的TransientStorePool

序 本文主要研究一下rocketmq的TransientStorePool TransientStorePool rocketmq-all-4.6.0-source-release/store/src/main/java/org/apache/rocketmq/store/TransientStorePool.java publi......

go4it
昨天
6
0
笔记

场外借贷, 质押 ,托管, 永续合约. 场外借贷,n签合同. 新功能 证券交易组负责中信证券机构及个人投资交易相关系统,服务机构及个人投资客户, 涉及到两融、期权、 期货、做市等境内境外创新业...

MtrS
昨天
6
0
Pycharm最新激活码2019----亲测可用

今天来讲解下pycharm的激活码使用 其实非常简单 把激活码填入下面的地方即可。如果不知道在哪里,那么就选菜单栏里的help再选Register就会弹出下面的界面 激活码网址里面有 lookdiv.com 里面...

chenhongjiang
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部