编译客户端安装包

前提条件

编译时“/home”目录下需要100GB容量。

操作步骤

  1. 获取软件包放置于“/home”目录下。

    所需软件包:

    • ceph-14.2.8.tar.gz和ceph-global-cache.patch
    • globalcache-ceph-adaptor-spec.patch
    • ceph-global-cache-tls.patch
    • boostkit-globalcache-ceph-adaptor-release-1.4.1.oe1.aarch64.rpm(ARM)或 boostkit-globalcache-ceph-adaptor-release-1.4.1.oe1.x86_64.rpm(x86),

  2. “/home”目录下面解压Ceph源码,并对Ceph源码打patch,完成后续的客户端的出包。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    cd /home
    tar -zxvf ceph-14.2.8.tar.gz
    cp ceph-global-cache.patch ceph-14.2.8
    cp globalcache-ceph-adaptor-spec.patch ceph-14.2.8
    cp ceph-global-cache-tls.patch ceph-14.2.8
    cd ceph-14.2.8
    patch -p1 < ceph-global-cache.patch
    patch -p1 < globalcache-ceph-adaptor-spec.patch
    patch -p1 < ceph-global-cache-tls.patch
    

  3. 安装从华为企业网或运营商网获取的闭源RPM包。

    • Arm环境:
      1
      rpm -ivh /home/boostkit-globalcache-ceph-adaptor-release-1.4.1.oe1.aarch64.rpm
      
    • x86环境:
      1
      rpm -ivh /home/boostkit-globalcache-ceph-adaptor-release-1.4.1.oe1.x86_64.rpm
      

  4. 使RPM包安装时设置的环境变量生效。

    1
    source /etc/profile
    

  5. 编译安装mxml。

    1. 将从开源网站获取mxml-3.2.tar.gz置于“/home”目录下。
    2. 解压mxml-3.2.tar.gz。
      1
      2
      cd /home
      tar -zxvf mxml-3.2.tar.gz
      
    3. 配置、编译和安装mxml。
      1
      2
      3
      4
      cd mxml-3.2
      ./configure
      make all
      make install
      

  6. 运行install-deps.sh,安装依赖包。

    1
    2
    cd /home/ceph-14.2.8/
    sh install-deps.sh
    

    “install-deps.sh”脚本如果执行失败,可以尝试切换代理后重新运行。openEuler 20.03 LTS SP3版本操作系统存在两个版本的PostgreSQL,安装时会冲突,为避免冲突时脚本退出,需要删除“install-deps.sh”中的set -e后执行脚本。

  7. 修改ceph.spec.in文件。

    1
    sed -i 's#%if 0%{?fedora} || 0%{?rhel}#%if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler}#' ceph.spec.in
    

  8. 回到“/home”目录并将“ceph-14.2.8”目录打包为tar.bz2格式的压缩包。

    1
    2
    cd /home
    tar -cjvf ceph-14.2.8.tar.bz2 ceph-14.2.8
    

  9. 拷贝文件。

    1. “ceph.spec”文件拷贝到“SPECS”中。
      1
      cp ceph-14.2.8/ceph.spec /home/rpmbuild/SPECS/
      
    2. 8打包好的文件放到“SOURCES”目录下。
      1
      cp ceph-14.2.8.tar.bz2 /home/rpmbuild/SOURCES/
      

  10. 修改“.rpmmacros”文件。

    1. 打开“.rpmmacros”文件。
      1
      vim /root/.rpmmacros
      
    2. “i”键进入编辑模式,注释掉下面红框中的内容。

    3. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。

  11. 删除“/etc/profile.d/performance.sh”以提高编译速度。

    1
    rm -rf  /etc/profile.d/performance.sh
    

  12. 重新开启一个新的终端让提速生效,使用rpmbuild开始编译。

    1
    2
    unset GOMP_CPU_AFFINITY
    rpmbuild -bb /home/rpmbuild/SPECS/ceph.spec
    

    编译过程需要花费半小时以上,编译完成后会在“/home/rpmbuild/RPMS/”目录下生成两个目录“aarch64”“noarch”,其中包含有Ceph相关的RPM包。