You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS 7系统安装Ceph失败求助:无可用软件包等报错

解决CentOS 7安装Ceph时的"未注册订阅+无可用软件包"问题

我之前在CentOS 7上部署Ceph的时候也碰到过一模一样的问题,先把你遇到的报错信息整理出来方便定位:

[node.example.com][DEBUG ] 此系统未在授权服务器注册,您可以使用subscription-manager进行注册。
[node.example.com][DEBUG ] 正在确定最快镜像
[node.example.com][DEBUG ] 无可用的ceph软件包。
[node.example.com][DEBUG ] 无可用的ceph-osd软件包。
[node.example.com][DEBUG ] 无可用的ceph-mds软件包。
[node.example.com][DEBUG ] 无可用的ceph-mon软件包。

这个问题其实是两个原因叠加:一是系统默认在尝试访问需要Red Hat商业订阅的源,二是CentOS官方基础源里根本没有Ceph的软件包。下面是一步步的解决办法:

1. 禁用订阅管理器,切换到CentOS公共源

如果你用的是CentOS 7(不是RHEL),完全不需要依赖Red Hat的订阅服务,直接把它关掉并替换成公共源:

  • 停止并禁用subscription-manager相关服务:
    systemctl stop rhsmcertd
    systemctl disable rhsmcertd
    
  • 备份原有订阅源配置,然后创建CentOS基础源文件:
    mv /etc/yum.repos.d/redhat.repo /etc/yum.repos.d/redhat.repo.bak
    cat > /etc/yum.repos.d/CentOS-Base.repo <<EOF
    [base]
    name=CentOS-$releasever - Base
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
    #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
    #released updates
    [updates]
    name=CentOS-$releasever - Updates
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
    #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever - Extras
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
    #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever - Plus
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
    #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    EOF
    

2. 添加兼容CentOS 7的Ceph官方源

CentOS 7推荐用Ceph Luminous或者Nautilus版本(更高版本可能有兼容性问题),这里以Luminous为例创建源配置:

cat > /etc/yum.repos.d/ceph.repo <<EOF
[ceph]
name=Ceph packages for $basearch
baseurl=https://download.ceph.com/rpm-luminous/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm-luminous/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-source]
name=Ceph source packages
baseurl=https://download.ceph.com/rpm-luminous/el7/SRPMS
enabled=0
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
EOF

如果想安装Nautilus版本,把上面的rpm-luminous替换成rpm-nautilus就行。

3. 清理缓存并安装Ceph组件

最后刷新yum缓存,就可以正常安装需要的Ceph包了:

yum clean all
yum makecache fast
# 安装需要的组件,比如mon、osd、mds
yum install ceph ceph-mon ceph-osd ceph-mds -y

额外提醒

如果你是用ceph-ansible自动化部署的,记得在ansible的inventory或者变量文件里指定我们刚才配置的Ceph源,避免部署脚本再次去调用订阅源检查。

内容的提问来源于stack exchange,提问作者Kisen.Chin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:54:12