CentOS内网环境如何完全离线安装Ceph?

在高度安全或网络隔离的生产环境中,为CentOS系统离线安装Ceph分布式存储系统是一项常见且关键的任务,此过程的核心在于提前准备好所有必需的软件包及其依赖项,并在目标离线环境中构建一个本地软件源,本文将详细阐述这一过程的完整步骤,确保安装的顺利进行。

CentOS内网环境如何完全离线安装Ceph?

环境准备

我们需要准备两台机器:

  1. 在线准备节点:一台可以访问互联网的CentOS机器,其版本需与目标离线节点保持一致(同为CentOS 7.x或8.x),此节点用于下载所有软件包。
  2. 目标离线节点:需要安装Ceph的、处于网络隔离环境的CentOS机器。

在两台节点上,都应进行基础的系统配置,包括:

  • 时间同步:确保所有节点时间一致,可通过NTP服务实现。
  • 配置主机名与hosts解析:为每个节点设置静态主机名,并在/etc/hosts文件中添加所有节点的IP与主机名映射。
  • 创建部署用户:创建一个具有sudo免密码权限的普通用户(如ceph-deploy),用于后续的集群部署操作。
  • 配置SSH免密登录:确保部署用户可以在所有节点之间进行无密码SSH登录。

在线节点下载软件包

这是整个离线安装流程中最关键的一步,我们需要在在线准备节点上,下载Ceph及其所有依赖的RPM包。

安装必要工具
在在线节点上安装yum-utilscreaterepo,前者提供了下载工具,后者用于创建本地仓库。

sudo yum install -y yum-utils createrepo

添加Ceph软件源
根据需要安装的Ceph版本(例如Pacific),添加官方软件源配置,创建/etc/yum.repos.d/ceph.repo如下:

[Ceph]
name=Ceph packages for $basearch
baseurl=https://download.ceph.com/rpm-pacific/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1
[Ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm-pacific/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1

注意:el7代表CentOS 7,若为CentOS 8,则需修改为el8

下载软件包
创建一个目录用于存放所有下载的软件包,然后使用repotrack命令下载Ceph核心组件及其所有依赖。repotrack能够递归地解析并下载所有依赖关系,比yumdownloader更彻底。

CentOS内网环境如何完全离线安装Ceph?

# 创建存放目录
mkdir -p /opt/ceph-offline/packages
# 使用repotrack下载核心组件及其所有依赖
repotrack -p /opt/ceph-offline/packages ceph ceph-base ceph-common ceph-mds ceph-mgr ceph-mon ceph-osd ceph-radosgw

这个过程会花费一些时间,因为它会下载数百个软件包。

创建本地仓库元数据
下载完成后,进入软件包目录,使用createrepo命令生成仓库的元数据,这些元数据文件是yum能够识别和安装本地软件包的关键。

cd /opt/ceph-offline/packages
createrepo .

执行后,会在当前目录下生成一个repodata文件夹。

传输软件包至离线节点

将整个/opt/ceph-offline目录打包,通过U盘、移动硬盘或内部网络的安全传输方式(如SCP)拷贝到所有目标离线节点的相同路径下(例如/opt/ceph-offline)。

# 在在线节点打包
tar -czvf ceph-offline.tar.gz /opt/ceph-offline
# 拷贝到离线节点后解压
tar -xzvf ceph-offline.tar.gz -C /

离线节点配置与安装

在目标离线节点上,我们需要配置yum以使用本地仓库进行安装。

配置本地Yum源
备份或移除原有的/etc/yum.repos.d/下的Ceph源文件,然后创建一个新的本地源文件/etc/yum.repos.d/ceph-local.repo

[ceph-local]
name=Local Ceph Repository
baseurl=file:///opt/ceph-offline/packages
enabled=1
gpgcheck=0
priority=1

这里gpgcheck=0是因为我们本地仓库没有GPG密钥。baseurl指向我们存放软件包的本地路径。

CentOS内网环境如何完全离线安装Ceph?

清理并安装
执行以下命令,清理Yum缓存并安装Ceph。

yum clean all
yum makecache
# 安装Ceph软件包
yum install -y ceph ceph-mon ceph-osd ceph-mds ceph-mgr ceph-radosgw

yum现在会从我们本地的file:///路径中查找并安装所有软件包,而不会尝试访问互联网。

部署Ceph集群

软件包安装完成后,即可使用ceph-deploy等工具进行集群的初始化和部署,由于ceph-deploy本身也需要被下载并包含在离线包中,因此在repotrack步骤中最好也将其加入下载列表,后续的ceph-deploy new, ceph-deploy mon create, ceph-deploy osd create等步骤与在线安装流程完全一致。

为了方便参考,以下是核心命令的小编总结:

步骤 命令 目的
下载依赖 repotrack -p /path ceph ... 递归下载指定RPM包及其所有依赖
创建仓库 createrepo /path 在本地目录生成Yum仓库元数据
离线安装 yum install --disablerepo=* --enablerepo=ceph-local ceph 仅从指定的本地仓库安装软件

相关问答FAQs

Q1: 如果在离线安装过程中,提示缺少某个依赖包怎么办?
A1: 这通常是由于repotrack未能完全捕获所有依赖,或者目标系统与在线准备节点存在微小差异(如已安装的软件包版本不同),解决方法是:回到在线准备节点,使用yumdownloader --resolve <缺失的包名>命令单独下载这个缺失的包及其依赖,然后将其拷贝到离线节点的软件包目录中,再次运行createrepo --update .更新仓库元数据,最后在离线节点上重新执行yum install命令即可。

Q2: 我可以为不同版本的CentOS(例如CentOS 7和CentOS 8)使用同一套离线软件包吗?
A2: 绝对不可以,不同主要版本的CentOS(如7和8)其系统底层库(如glibc、openssl等)版本差异巨大,软件包的编译依赖和架构完全不同,为CentOS 7编译的RPM包无法在CentOS 8上安装,反之亦然,必须为每个目标操作系统版本准备一套独立的、在与之完全相同的在线环境中下载的离线软件包。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-06 14:43
下一篇 2025-10-06 14:47

相关推荐

  • CentOS系统如何查询是否为64位版本?

    在Linux系统中,确定操作系统的位数是系统管理和软件部署的重要基础步骤,对于CentOS系统而言,无论是进行软件安装、编译源码,还是配置服务,了解当前系统是32位还是64位都至关重要,本文将详细介绍多种在CentOS系统中查询64位信息的方法,涵盖命令行工具、系统文件分析以及图形界面操作,帮助用户全面掌握系统……

    2025-12-03
    009
  • 仿品域名注册_注册域名

    仿品域名注册,保护您的品牌声誉。我们提供专业的域名注册服务,确保您的网站安全、稳定且易于记忆。立即注册,开启您的在线业务之旅!

    2024-06-25
    0022
  • CentOS 6.5提权漏洞未修复?如何检测与利用?

    CentOS 6.5 作为一款经典的 Linux 发行版,尽管已停止官方支持,但在一些遗留系统中仍可能被使用,由于长期未更新,其安全漏洞较多,提权风险较高,本文将围绕 CentOS 6.5 的提权方法、常见漏洞及防御措施进行详细说明,帮助管理员了解潜在风险并加强系统安全,CentOS 6.5 的提权背景Cent……

    2025-11-23
    007
  • CentOS系统如何配置DNS解析域名?详细步骤是怎样的?

    在CentOS系统中,DNS(域名系统)扮演着至关重要的角色,它负责将人类易于记忆的域名转换为计算机能够识别的IP地址,正确配置DNS解析功能,不仅能确保网络服务的稳定访问,还能提升网络管理效率,本文将详细介绍在CentOS系统中实现域名解析的多种方法、配置步骤及常见问题排查技巧,帮助用户全面掌握DNS解析的实……

    2025-12-13
    006

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信