大家好,我是wanger。我之前写过使用cephadm安装cephoctopus。很多时候生产环境是在内网,这就需要我们离线部署。下面是离线部署ceph的步骤。制作离线安装包,首先我们需要缓存联网环境下需要使用的deb包和docker镜像。安装docker-cecurl-sSLhttps://get.daocloud.io/docker|shsystemctldaemon-reloadsystemctlrestartdockersystemctlenabledocker安装cephadm使用curl获取独立脚本最新版本.如果网络不好,可以直接去GitHub复制编辑/etc/resolv.conf文件,修改nameserver为114,.114.114.114curl--silent--remote-name--locationhttps://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadmchmod+xcephadminstallcephadm./cephadmadd-repo--releaseoctopus./cephadmininstallBootstrapanewclusterset要启动一个集群,你需要先创建一个目录:/etc/cephmkdir-p/etc/ceph可以执行一个节点,然后运行这个命令:cephbootstrap./cephadmbootstrap--mon-ip192.168.10.2Enablecephcliphadmadd-repo--releaseoctopuscephadmininstallceph-commonDeployOSDIf满足以下所有_条件_,存储设备被禁用被认为可用:设备必须没有分区。设备不得有任何LVM状态。不得安装设备。该设备不能包含文件系统。设备不得包含CephBlueStoreOSD。设备必须大于5GB。Ceph拒绝在不可用的设备上提供OSD。为了保证osd能够成功添加,我只是在每个节点上添加了一个新磁盘,从特定主机上的特定设备创建OSDcephorchdaemonaddosdnode1:/dev/sdb。安装完成后,我们可以看到它使用了哪些docker镜像。导出docker镜像需要导出这些镜像制作离线包root@node1:~#dockersave-oceph.tarquay.io/ceph/ceph:v15root@node1:~#dockersave-oprometheus.tarquay.io/prometheus/prometheus:v2.18.1root@node1:~#dockersave-ografana.tarquay.io/ceph/ceph-grafana:6.7.4root@node1:~#dockersave-oalertmanager.tarquay.io/prometheus/alertmanager:v0.20.0root@node1:~#dockersave-onnode-exporter.tarquay.io/prometheus/node-exporter:v0.18.1exportdebpackage我们刚刚安装了docker、chrony和cephadm,deb包默认存放在/var/cache/apt/archives目录下,你可以把这个目录下的deb包缓存起来,新建一个文件夹,将下载的deb包复制到上面新建的文件夹中,建立deb包的依赖关系apt-getinstalldpkg-dev-ymkdir/offlinePackagecp-r/var/cache/apt/archives/offlinePackagechmod777-R/offlinePackage/dpkg-scanpackages/offlinePackage//dev/null|gzip>/offlinePackage/Packages.gztarzcvfofflinePackage.tar.gz/offlinePackage/修改cephadm脚本最后要修改的是cephadm安装脚本,默认安装的时候cephadm会去在线拉取镜像,但是实际生产环境是没有外网的,所以需要修改为直接使用本地图片,修改_pull_image函数拉入cmd列表,修改为images(我用的是octopus版本,其他版本基本不变)启动离线部署前提Cephadm使用容器和systemd来安装和管理Ceph集群,与CLI和dashboardGUI紧密结合。cephadm仅支持octopusv15.2.0及更高版本。cephadm与新的编排API完全集成,并完全支持新的CLI和仪表板功能来管理集群部署。cephadm需要容器支持(podman或docker)和Python3。时间同步基本配置这里我使用ubuntu20.04安装ceph,里面自带python3,不再单独安装,没有特别说明,三台服务器都要执行以下步骤配置hosts解析cat>>/etc/hosts<
