admin管理员组

文章数量:1531699

2024年6月4日发(作者:)

Ceph环境配置文档

1. 整体说明

本文档适用于特定版本的ceph源码,对于不同版本可能有不同的依赖库,或配置步骤

可能略有不同。

Ceph配置分为client和其他(monitor,mds,osd)两部分,其中client已经集成在2.6.34

及其以后的内核版本中,故只需下载新内核版本编译内核即可;其他部分则用到了ceph

源码包(从官网获得),其中有些依赖库,详细步骤见第二节。

Ceph集群简介:

 Client

 Monitor

Monitor线程处理集中的集群管理,配置和状态监控。他们是相对来说较轻的线程,

用到的数据保存在本地文件系统。需要注意的是,监控线程必须有奇数个。

 Mds

Ceph中的元数据服务器(mds)本质上就是一个满足一致性的分布式元数据缓存,

所有的元数据都保存在存储节点上。元数据服务器(线程)能根据需要任意地加入

到集群中,负载会自动的在这些服务器间进行平衡。例如可以先启动1到2个,然后

根据需要再增加。配置文件中max mds参数控制最多有多少活动线程,额外的线

程处于standby状态,如果有活动线程出故障了则standby状态的线程取代之。

 Osd

Osd是存储数据和元数据的实际存储节点,最好运行两个osd,其中一个作为另一

个的备份。每个osd其实就是一个线程,提供访问本地磁盘的服务。Osd端本地的

文件系统最好用BTRFS,但是其他文件系统如ext3也可以。

2. 配置步骤

 除client以外其他节点的配置

1) 下载ceph源码(/download/)这里选择较早版本

为了涉及尽量少的依赖库。

2) 安装libedit_devel库,命令如下:

rpm -Uvh /centos/5/testing/x86_64/RPMS/.x86_

rpm -Uvh /centos/5/testing/x86_64/RPMS/.x86_

注:这里可以直接运行上述命令,前提是机器能上网,如果不能的话可以自己下载

两个rpm包然后手动安装。

3) 解压源码

Tar -zvxf

4) 进入源码目录并执行如下操作(蓝色部分为命令)

# ./

# CXXFLAGS="-g -O2" ./configure --prefix=/usr --sbindir=/sbin --localstatedir=/var

--sysconfdir=/etc

# make && make install

注意:

 在第二步configure过程,可能遇到有些依赖库没装的情况,报哪个没装就安

装哪个吧,我遇到了libboost-dev没装的情况,结果在网上下载安装包,只有

手动安装咯。

安装步骤

 下载源码包(

 /projects/boost/files/boost/1.42.0/boost_1_42_/do

wnload)

 ./

 ./bjam install

 在第三步make install的过程中遇到了一个问题(ca24):

libtool: install: error: cannot install `' to a directory not ending in

/usr/local/lib

通过将configure 的--prefix=/usr 选项改成--prefix=/usr/local解决。这个问题并不是

每台机器都会出现,可能是由于机器的配置不同而导致仅仅指定到/usr使得有些机

器configure的时候不能确定lib的安装目录。结果安装后启动过程又出现了错误,

由于24,23两台osd的可执行文件不在同一个目录下,23在/usr/bin下,24在

/usr/local/bin下,然后又将24上/usr/local/bin/下的可执行文件拷贝到了/usr/bin下,

终于解决问题,长舒一口气!!!

 Client端的配置

1) 客户端集成在了34内核以后的版本中,所以只需下载新版本内核进行编译即可

2) 编译34内核过程遇到了些问题另有文档说明

3) 编译时选上支持ceph的选项即可

本文标签: 线程配置数据内核版本