在部署容器中安装各个RPM软件包,制作最小规格镜像。
- 进入部署容器。
|
podman exec -it openeuler2203sp4_release /bin/bash
|
- 安装UCX包。
|
cd /home/local_rpm
yum install ucx-1.14.1-1.aarch64.rpm ucx-cma-1.14.1-1.aarch64.rpm ucx-debuginfo-1.14.1-1.aarch64.rpm ucx-debugsource-1.14.1-1.aarch64.rpm ucx-devel-1.14.1-1.aarch64.rpm ucx-ib-1.14.1-1.aarch64.rpm ucx-rdmacm-1.14.1-1.aarch64.rpm ucx-static-1.14.1-1.aarch64.rpm -y
|
- 安装Ceph依赖包。
|
yum install python-asyncssh-help-2.7.0-2.noarch.rpm python3-asyncssh-2.7.0-2.noarch.rpm python3-natsort-8.4.0-3.noarch.rpm -y
pip3 install kubernetes==18.20.0
pip install pycryptodome==3.19.1
|
- 为了避免Python三方库pycryptodome版本太低导致部署失败,建议升级如下依赖包。
|
pip install pycryptodome==3.19.1
|
- 为了避免部署MGR报错No module named 'kubernetes.client.models.v1_event',需安装如下版本依赖包。
|
pip3 install kubernetes==18.20.0
|
- Ceph 17.2.8+openEuler-22.03-LTS-SP3场景下安装Ceph前需先安装依赖包selinux-policy。
- 依赖包获取参见步骤 7。
- 部署Ceph17.2.7版本时,仅openEuler-22.03-LTS-SP3及以下的操作系统版本需要安装selinux-policy包。openEuler-22.03-LTS-SP4可跳过本步骤。
|
yum install noarch/selinux-policy-35.5-23.noarch.rpm noarch/selinux-policy-devel-35.5-23.noarch.rpm noarch/selinux-policy-help-35.5-23.noarch.rpm noarch/selinux-policy-minimum-35.5-23.noarch.rpm noarch/selinux-policy-mls-35.5-23.noarch.rpm noarch/selinux-policy-sandbox-35.5-23.noarch.rpm noarch/selinux-policy-targeted-35.5-23.noarch.rpm -y
|
- 安装Ceph。
|
yum install aarch64/ceph-17.2.7-0.aarch64.rpm aarch64/ceph-base-17.2.7-0.aarch64.rpm aarch64/ceph-common-17.2.7-0.aarch64.rpm aarch64/ceph-debugsource-17.2.7-0.aarch64.rpm aarch64/ceph-exporter-17.2.7-0.aarch64.rpm aarch64/ceph-fuse-17.2.7-0.aarch64.rpm aarch64/ceph-immutable-object-cache-17.2.7-0.aarch64.rpm aarch64/ceph-mds-17.2.7-0.aarch64.rpm aarch64/ceph-mgr-17.2.7-0.aarch64.rpm aarch64/ceph-mon-17.2.7-0.aarch64.rpm aarch64/ceph-osd-17.2.7-0.aarch64.rpm aarch64/ceph-radosgw-17.2.7-0.aarch64.rpm aarch64/ceph-selinux-17.2.7-0.aarch64.rpm aarch64/ceph-test-17.2.7-0.aarch64.rpm aarch64/cephfs-java-17.2.7-0.aarch64.rpm aarch64/cephfs-mirror-17.2.7-0.aarch64.rpm aarch64/libcephfs-devel-17.2.7-0.aarch64.rpm aarch64/libcephfs2-17.2.7-0.aarch64.rpm aarch64/libcephfs_jni-devel-17.2.7-0.aarch64.rpm aarch64/libcephfs_jni1-17.2.7-0.aarch64.rpm aarch64/libcephsqlite-17.2.7-0.aarch64.rpm aarch64/libcephsqlite-devel-17.2.7-0.aarch64.rpm aarch64/librados-devel-17.2.7-0.aarch64.rpm aarch64/librados2-17.2.7-0.aarch64.rpm aarch64/libradospp-devel-17.2.7-0.aarch64.rpm aarch64/libradosstriper-devel-17.2.7-0.aarch64.rpm aarch64/libradosstriper1-17.2.7-0.aarch64.rpm aarch64/librbd-devel-17.2.7-0.aarch64.rpm aarch64/librbd1-17.2.7-0.aarch64.rpm aarch64/librgw-devel-17.2.7-0.aarch64.rpm aarch64/librgw2-17.2.7-0.aarch64.rpm aarch64/python3-ceph-argparse-17.2.7-0.aarch64.rpm aarch64/python3-ceph-common-17.2.7-0.aarch64.rpm aarch64/python3-cephfs-17.2.7-0.aarch64.rpm aarch64/python3-rados-17.2.7-0.aarch64.rpm aarch64/python3-rbd-17.2.7-0.aarch64.rpm aarch64/python3-rgw-17.2.7-0.aarch64.rpm aarch64/rados-objclass-devel-17.2.7-0.aarch64.rpm aarch64/rbd-fuse-17.2.7-0.aarch64.rpm aarch64/rbd-mirror-17.2.7-0.aarch64.rpm aarch64/rbd-nbd-17.2.7-0.aarch64.rpm noarch/ceph-grafana-dashboards-17.2.7-0.noarch.rpm noarch/ceph-mgr-cephadm-17.2.7-0.noarch.rpm noarch/ceph-mgr-dashboard-17.2.7-0.noarch.rpm noarch/ceph-mgr-diskprediction-local-17.2.7-0.noarch.rpm noarch/ceph-mgr-k8sevents-17.2.7-0.noarch.rpm noarch/ceph-mgr-modules-core-17.2.7-0.noarch.rpm noarch/ceph-mgr-rook-17.2.7-0.noarch.rpm noarch/ceph-prometheus-alerts-17.2.7-0.noarch.rpm noarch/ceph-resource-agents-17.2.7-0.noarch.rpm noarch/ceph-volume-17.2.7-0.noarch.rpm noarch/cephadm-17.2.7-0.noarch.rpm noarch/cephfs-top-17.2.7-0.noarch.rpm -y
yum install chrony haproxy keepalived -y
|
- 安装KSAL闭源算法包。
|
cd /home
unzip BoostKit-KSAL_1.10.0.zip
rpm -ivh libksal-release-1.10.0.oe1.aarch64.rpm
|
KSAL软件包获取请参见获取软件包,建议上传到“/home”目录下。
- SPDK需要使用用户态大页内存,因此需要给ceph-osd提权。
|
setcap 'CAP_DAC_OVERRIDE+eip CAP_SYS_ADMIN+eip' /usr/bin/ceph-osd
|
- 修改Ceph用户登录配置。
- 打开passwd文件。
- 按“i”进入编辑模式,将Ceph的登录shell修改为“/bin/bash”。

- 按“Esc”退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 配置用户资源限制(使能UCX需要)。
- 打开limits.conf文件。
|
vim /etc/security/limits.conf
|
- 按“i”进入编辑模式,在文件尾部新增如下内容。
|
* soft nofile 1048576
* hard nofile 1048576
* soft nproc unlimited
* hard nproc unlimited
* soft memlock unlimited
* hard memlock unlimited
|
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 在物理机上将容器提交成镜像。
|
podman commit 688247c8b260 [IP]:5000/ceph/ceph_release:v17.2.7
|
- 688247c8b260为openeuler2203sp4_release容器对应的容器ID(通过podman ps查看)。
- [IP]为实际本机IP地址。
- 执行commit动作前,可以将“/home”目录下已安装的RPM包删除,以精简镜像大小。
- 将部署镜像导出。
|
podman save -o ceph_release.tar a6e8aff2def8
|
a6e8aff2def8为10中提交的镜像对应的ID,通过podman images查看。