统信uos部署ceph有三种可行路径:一、ceph-deploy传统方案,需配置ssh免密、启用root登录并安装python2依赖;二、cephadm容器化方案,基于podman自动处理依赖,推荐uos 2023+;三、rook云原生方案,适用于kubernetes环境,需适配cgroup v2内存限制。

如果您在统信UOS操作系统上部署Ceph分布式存储集群时遇到环境配置失败、ceph-deploy工具不可用或节点间SSH连接异常等问题,则很可能是由于基础系统服务未就绪或关键依赖缺失所致。以下是针对统信UOS平台的多种可行部署路径:
一、基于ceph-deploy的传统部署方案
该方法复用官方历史工具链,适用于UOS Server 20/1040等长期支持版本,要求所有节点已预装Python2及pip基础环境。其核心在于规避UOS默认禁用root远程登录与SSH密钥策略限制。
1、在管理节点执行主机名标准化:hostnamectl set-hostname ceph-admin
2、编辑所有节点的/etc/hosts文件,确保三节点IP与主机名双向解析准确,例如:192.168.26.110 ceph-node1
3、启用root SSH登录:修改/etc/ssh/sshd_config中PermitRootLogin yes并重启sshd服务
4、配置免密SSH:在ceph-admin节点运行ssh-keygen -t rsa后,依次执行ssh-copy-id root@ceph-node1、ssh-copy-id root@ceph-node2、ssh-copy-id root@ceph-node3
5、安装ceph-deploy:使用UOS适配源执行apt install -y ceph-deploy,若报No module named pkg_resources错误,则先运行apt install -y python2-pip
6、初始化集群:在ceph-admin节点创建部署目录,执行ceph-deploy new ceph-node1 ceph-node2 ceph-node3生成配置模板
7、安装Ceph包:执行ceph-deploy install --release pacific ceph-node1 ceph-node2 ceph-node3(注意UOS 1040需指定pacific及以上兼容版本)
8、部署Monitor:运行ceph-deploy mon create-initial,成功后检查ceph -s输出是否显示monmap与osdmap
二、基于cephadm的容器化部署方案
该方案绕过传统包管理冲突,利用Podman容器引擎隔离Ceph守护进程,是UOS 2023+版本推荐方式,无需手动配置YUM/APT源且自动处理依赖。
1、确认Podman已启用:执行podman --version验证,若未安装则运行apt install -y podman
2、下载cephadm脚本:在ceph-admin节点执行curl --silent --remote-name --location https://github.com/ceph/ceph/raw/quincy/src/cephadm/cephadm并赋予可执行权限
3、引导Bootstrap:运行./cephadm bootstrap --mon-ip 192.168.26.110 --initial-dashboard-user admin --initial-dashboard-password uosceph2026
4、添加OSD节点:在ceph-admin节点执行./cephadm shell -- ceph orch apply osd --all-available-devices自动探测空闲磁盘
5、验证容器状态:运行podman ps | grep ceph确认ceph-mgr、ceph-mon、ceph-osd容器均处于up状态
6、获取Dashboard访问地址:执行./cephadm shell -- ceph dashboard get-login-url返回HTTPS链接
三、基于Rook Kubernetes Operator的云原生部署方案
该方案适用于已在UOS上部署Kubernetes集群的场景,将Ceph作为底层存储供给上层有状态应用,通过CRD声明式管理,天然支持高可用与滚动升级。
1、确认Kubernetes版本≥1.20:执行kubectl version --short验证,UOS Server 20内建KubeSphere时需启用rook-ceph插件
2、部署Rook Operator:应用https://github.com/rook/rook/blob/v1.12.7/cluster/examples/kubernetes/ceph/common.yaml与operator.yaml
3、创建CephCluster资源:修改cluster.yaml中storage.nodes字段为UOS节点列表,设置dataDirHostPath: /var/lib/rook
4、注入UOS专用参数:在cluster.yaml的spec.resources下为mgr和mon添加limits.memory: 4Gi(UOS默认cgroup v2内存限制严格)
5、应用资源配置:执行kubectl apply -f cluster.yaml,等待cephcluster.ceph.rook.io/rook-ceph状态变为Ready
6、验证存储类:运行kubectl get storageclass确认rook-ceph-block处于Active状态










