源码编译ceph

1. 前言

毕业进入公司后,接触的第一个项目是做ceph内核客户端的优化,为了对ceph以及其客户端有更加深刻的了解,在通过rpm安装了一次ceph后,这里又通过源码编译配置了一次。其中,操作系统为centos7.2,编译ceph-10.2.3的源码。

2. 本文分析内容安排

  • 下载源码并编译
  • 配置ceph运行环境
  • 使用ceph-deploy配置环境
  • ceph运行命令

3. 下载源码并编译

  1. 从github下载源码,要加上–recursive参数,不然ceph源码内的很多子程序无法下载
    git clone --recursive https://github.com/ceph/ceph.git
  2. 选择对应版本,跳到源码根目录,用git tag显示已有的版本,然后git checkout v10.2.3跳到我们要编译的版本
  3. 下载依赖并开始编译
    ./install-deps.sh
    ./autogen.sh
    ./configure
    make
    注意:最后make编译的过程中,如果遇到编译器错误,可以添加-j参数指定处理器数量,make -j2
  4. 执行make install命令安装到本地,这一步也可以通过手动移动二进制文件和配置文件到相应目录。其中,二进制文件放到/usr/bin,库文件放到/usr/lib,配置文件存入/etc/ceph。

4. 配置ceph运行环境

接下来可以有两种方式来配置ceph运行环境,其一是直接手动运行,这种方式繁琐且容易出错,下面列出部分步骤,注意,这里步骤并不全,只是为了说明;后面会详细介绍ceph-deploy的方式,这种方式一键式自动化配置管理文档,并管理ceph的实际运行。
首先,通过手动的方式:
1. 查看/etc/ceph目录是否存在,不存在的话就自己建一个,然后创建/etc/ceph/ceph.conf文件
2. 运行uuidgen命令创建unique ID,并将其赋值给fsid写入到ceph.conf文件,同时也将monitor节点的主机名和ip地址写入,最后的ceph.conf文件如下
3. 创建monitor keyring
ceph-authtool --create-keyring /tmp/ceph.mon --gen-key -n mon. --cap mon 'allow *'
4. 将client.admin的可以添加到monitor的keyring中
ceph-authtool /tmp/ceph.mon.keyring —import-keying /etc/ceph/ceph.client.admin.keyring
而所有上面这些操作如果通过ceph-deploy来运行,仅需一条ceph-deploy new MON命令,便建立并配置了上述所有文档,下面一节讲通过ceph-deploy部署并运行ceph的过程。

5. 使用ceph-deploy配置环境

  1. 建立运行ceph-mon的配置文件和秘钥,将在/ect/ceph下生成ceph.conf和ceph.mon.keyring文件
    ceph-deploy new [HOST...]
  2. 接下来的过程是为了在节点上实际安装ceph-mon,如果用户不指定HOST,这里因为我们已经提前安装了ceph组件,这里就不用这一步了
    ceph-deploy mon create [HOST...]
  3. 在其中一个mon节点上执行ceph-deploy gatherkeys [HOST...]命令,收集新加入集群的节点的keys
  4. 添加osd,准备osd磁盘 ceph-deploy osd create localhost:/dev/sdb

6. ceph运行命令

7. 总结

本文主要包含两部分,第一介绍了ceph源码编译过程,第二介绍了编译完成后的使用。

8. 作者介绍

梁明远,国防科大并行与分布式计算国家重点实验室研究生,读研期间重点研究docker容器技术。17年毕业后回老家进入浪潮,主攻ceph分布式文件系统的优化。邮箱:liangmingyuanneo@gmail.com

9. 参考文献

编译ceph
ceph-deploy使用

Ceph是一个分布式存储系统,可以提供高性能、可靠性和可扩展性的存储解决方案。Ceph的文件系统(CephFS)是其核心组件之一,可以提供类似传统文件系统的访问方式。 要搭建CephFS,首先需要从源码编译Ceph。以下是一个大致的步骤: 1. 下载Ceph源码:可以从Ceph官方网站上获取源码的压缩包,也可以通过Git从Ceph的代码仓库中克隆最新的源码。 2. 安装依赖项:编译Ceph需要一些依赖项,如CMake、GCC、Python等。确保这些依赖项已经安装在系统中。 3. 配置编译选项:进入Ceph源码目录,运行命令"CMake ."来生成编译脚本。可以根据需要配置编译选项,例如启用CephFS支持。 4. 编译源码:运行命令"make -j"进行编译,"-j"选项可以并行编译以加快编译时间。 5. 安装二进制文件:编译完成后,运行命令"sudo make install"将二进制文件安装到系统路径中。 6. 配置Ceph集群:在搭建CephFS之前,需要先配置一个Ceph集群。这包括设置监视器(Monitor)和存储后端(OSD),以及创建认证密钥等。 7. 创建CephFS:在Ceph集群配置完成后,可以通过命令"ceph fs new cephfs_data metadata"来创建一个名为cephfs_data的CephFS。这将在集群中的一个数据池中创建CephFS的元数据。 8. 挂载CephFS:在创建CephFS后,可以使用命令"sudo mount -t ceph <MONITOR_IP>:6789:/ /path/to/mount"将CephFS挂载到本地文件系统中。将<MONITOR_IP>替换为Ceph监视器的IP地址。 通过以上步骤,您应该能够成功编译和搭建CephFS。然后,您可以通过CephFS提供的类似传统文件系统的API和工具来管理和访问分布式存储。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值