编译Ceph并验证

CentOS 7.6

  1. 修改ceph.spec文件。

    1
    2
    cd /home/ceph-14.2.8/
    vi ceph.spec.in
    

    修改scipy版本为“python36-scipy”。

  2. 修改dashboard的requirements.txt。

    1
    vi /home/ceph-14.2.8/src/pybind/mgr/dashboard/requirements.txt
    

    注释pyopenssl。

  3. 安装依赖。

    1
    2
    3
    4
    yum -y install epel-release
    yum -y install python36-scipy.aarch64
    cd /home/ceph-14.2.8/
    sh install-deps.sh
    

  4. 编译。

    1
    2
    3
    sh do_cmake.sh
    cd build
    make -j 48
    

  5. UT测试。

    1
    ctest3 -V -R unittest_compression
    

  6. 删除“build”目录。

    1
    2
    cd /home/ceph-14.2.8/
    rm -rf build
    

openEuler 20.03

  1. 借助epel安装openEuler中缺少的依赖。

    1. 配置epel源。
      1
      vi /etc/yum.repos.d/epel.repo
      

      添加如下内容:

      1
      2
      3
      4
      5
      6
      [epel]
      name=epel
      baseurl=https://repo.huaweicloud.com/epel/7/aarch64/
      enabled=1
      gpgcheck=0
      priority=1
      
    2. 使用epel源安装依赖。
      1
      yum install python-routes python-tox -y
      
    3. 删除epel源。
      1
      rm -rf /etc/yum.repos.d/epel.repo
      

      epel源必须删除,否则后续步骤将会从epel源下载与openEuler冲突的RPM包。

  2. 修改Ceph相关代码,使其兼容openEuler。

    1
    cd /home/ceph-14.2.8/
    
    1. 修改install-deps.sh文件,如下图所示增加“openEuler”。
      1
      vim install-deps.sh
      

    2. 修改ceph.spec.in。
      1
      sed -i 's#%if 0%{?fedora} || 0%{?rhel}#%if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler}#' ceph.spec.in
      
    3. 修改ceph.spec文件。
      1
      vim ceph.spec
      
      1. 文件开头添加以下内容。
        1
        %define _binaries_in_noarch_packages_terminate_build 0
        
      2. 如下图所示修改CEPH_MFLAGS_JOBS="-j48",提高openEuler版本编译速度。

  3. 安装依赖并编译。

    1. 安装依赖。
      1
      2
      cd /home/ceph-14.2.8/
      sh install-deps.sh
      
    2. 编译
      1
      2
      3
      sh do_cmake.sh
      cd build
      make -j 48
      
    3. UT测试。
      1
      ctest3 -V -R unittest_compression