一、前言
N版ceph dashboard已經支持中文了,但是用默認是英語,對於有中文需求的人可以參考以下步驟,重新編譯ceph RPM包,支持dashboard中文顯示。
二,環境準備
需要一個大內存和多核的主機可以是虛擬機,磁盤空間要足夠大(80GB),安裝centos7.6
三、下載ceph源碼包
用git clone方式下載ceph源碼需要下載ceph的子模塊,這個過程要連接國外的網站,下載速度非常的慢,因此下載ceph的tar源碼包,下載地址:https://download.ceph.com/tarballs/。
四、編譯dashboard angular
ceph的dashboard使用的angular框架,默認情況下只編譯了英文包,因此需要自己重新編譯自己需要的語言包
1、解壓
下載了ceph 源碼包後,解壓
2、創建臨時文件
TEMP_DIR=`mktemp -d`
3、創建python虛擬機環境
五、編譯ceph rpm包
1、安裝ceph編譯依賴包
執行ceph源碼目錄下的./install-deps.sh
2、安裝gcc 7.3版本
yum install centos-release-scl scl-utils-build
yum list all --enablerepo='centos-sclo-rh' 列出scl有哪些源可以用
yum install devtoolset-7-gcc.x86_64 devtoolset-7-gcc-c++.x86_64 devtoolset-7-gcc-gdb-plugin.x86_64 安裝gcc-7.3編譯工具鏈
scl enable devtoolset-7 bash 切換到gcc-7.3編譯環境
3、設置編譯環境
yum install rpm-build rpmdevtools 安裝rpm包編譯工具
rpmdev-setuptree 設置編譯環境
cp ceph-<version>.tar.gz rpmbuild/SOURCES 將ceph 源碼壓縮包拷貝到rpmbuild目錄下
tar --strip-components=1 -C ~/rpmbuild/SPECS/ --no-anchored -xvzf ~/rpmbuild/SOURCES/ceph-<version>.tar.gz "ceph.spec" 提取ceph.sepc文件
修改文件rpmbuild/SPECS/ceph.spec 編輯Source0: http://ceph.com/download/ceph-<version>行,
將ceph-<version>改爲rpmbuild/SOURCES下的文件名
4、編譯ceph rpm包
執行 rpmbuild -ba ~/rpmbuild/SPECS/ceph.spec編譯ceph rpm包
六、遇到的問題
1、編譯rpm包過程中可能會報需要python3
yum install python36u -y
yum install python36u-devel -y
2、編譯rpm包過程中出現以下錯誤
在ceph.spec文件中加入
%define _binaries_in_noarch_packages_terminate_build 0