在无外网环境下安装Ceph(Debian/Ubuntu环境适用)

时间:2022-03-15 12:50:15

问题

无网络环境下就无法访问拥有Ceph相关包的源,也即无法直接通过apt-get install ceph这种方式安装Ceph包,那这种场景下该怎么安装Ceph呢?

解决思路

在该无网络的Ceph机器上搭建Ceph本地源

解决步骤

编译Ceph包

可依据http://www.cnblogs.com/yanghc/p/5777401.html 文章中的第一步,编译Ceph相关包。

注意: 编包的机器应该能访问外网,并且主机环境最好与实际的无外网的需要安装Ceph的环境一致。避免之后软件依赖出现问题

在无外网的机器上搭建本地源

把上面编译得到的所有Ceph deb包拷贝到该无外网的机器。然后依据http://www.cnblogs.com/yanghc/p/5777401.html 文章中的第二步,制作本地源。

找出还缺少的deb包

此时apt-get install ceph还是没法安装成功的,因为还缺少一系列的基础软件包。所以需要获取安装Ceph的所有依赖,可通过如下命令获得安装ceph需要的所有依赖包,包括递归依赖:

apt-cache depends --recurse--no-recommends
--no-suggests --no-conflicts --no-breaks
--no-replaces--no-enhances --no-pre-depends
<your-package-here> | grep "^\w"| sort -u

此时,会得到一系列需要的deb软件包的名称

下载得到所有缺少的deb包

在之前编包的机器上创建一个文件ceph_need,然后把3.3步所得到的所有软件包的名字拷贝到改文件(去掉ceph相关的软件包名字,比如ceph-common,librbd,librados等),然后通过如下命令下载得到所有的deb软件包:

apt-get download $(cat ceph_need)

更新无外网机器上之前搭建的本地源

把3.4步下载得到的所有deb软件包拷贝到该无外网机器的/home/ceph-hammer/pools目录下,然后重新执行http://www.cnblogs.com/yanghc/p/5777401.html文章中的步骤2.4,2.5,2.6,即可更新本地源。

安装ceph

apt-get update

apt-get install ceph