惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
博客园 - 司徒正美
TaoSecurity Blog
TaoSecurity Blog
Martin Fowler
Martin Fowler
T
Threat Research - Cisco Blogs
Blog — PlanetScale
Blog — PlanetScale
S
Secure Thoughts
博客园 - 三生石上(FineUI控件)
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
K
Kaspersky official blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Cisco Talos Blog
Cisco Talos Blog
H
Help Net Security
博客园 - 叶小钗
爱范儿
爱范儿
GbyAI
GbyAI
I
Intezer
M
MIT News - Artificial intelligence
Latest news
Latest news
Schneier on Security
Schneier on Security
T
Tor Project blog
Simon Willison's Weblog
Simon Willison's Weblog
I
InfoQ
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
CXSECURITY Database RSS Feed - CXSecurity.com
罗磊的独立博客
N
News and Events Feed by Topic
T
The Blog of Author Tim Ferriss
V2EX - 技术
V2EX - 技术
B
Blog
T
Tailwind CSS Blog
N
Netflix TechBlog - Medium
Security Latest
Security Latest
V
V2EX
F
Fortinet All Blogs
Forbes - Security
Forbes - Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
The Hacker News
The Hacker News
Scott Helme
Scott Helme
P
Privacy International News Feed
P
Palo Alto Networks Blog
H
Heimdal Security Blog
C
Cisco Blogs
T
The Exploit Database - CXSecurity.com
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
G
Google Developers Blog
W
WeLiveSecurity
L
LINUX DO - 最新话题

lvbibir's Blog

shell | 磁盘空间分析脚本 Linux cat 和 tee 命令写入文件 python | 使用 uv 管理你的 python 环境 Claude Code 完整配置指南 windows | mihomo 内核独立部署指南 linux | 磁盘扩容 wsl | 释放长久运行占用的磁盘空间 mysql | 线程上限问题处理 麒麟 7.6 安装谷歌 OTP 认证模块 suse 12sp5 升级 openssh 及 openssl suse 12sp5 部署 mysql 5.7 《谁的青春不迷茫》 docker | centos7 部署 docker vim | 基础配置和使用 windows | rime 输入法 & 雾凇方案 shell | sshpass 批量传输文件及执行命令 wsl | 原生 linux 方式安装 docker nodejs | fnm + pnpm 开发环境配置 wsl | 安装配置 miniconda 虚拟环境 wsl | 自动更新系统代理 wsl | bashrc 环境变量不正确加载的处理方法 wsl | win10 安装 wsl2 troubleshooting | ssh 成功但是 scp 失败 linux | 常用命令总结 docker 部署 piclist shell | 检测网站存活并自动钉钉告警 Zabbix | 监控端口连通性并自动追踪 TCP 路由 windows | 自定义开机快速启动项 windows | miniconda 配置 python 虚拟环境 Zabbix | 监控主机到指定 ip 的流量大小 shell | centos 初始化 loki (二) 部署 loki (一) 简介 prometheus (六) Alertmanager prometheus (五) 记录规则与告警规则 prometheus (四) 黑盒监控 prometheus (三) 服务发现 prometheus (二) 静态配置 prometheus (一) 简介及部署 traefik (四) TraefikService 服务 traefik (三) Middleware 中间件 traefik (二) ingressRoute 路由 traefik (一) 简介、部署和配置 kubernetes | Gateway API 简介及部署 linux | dns 配置文件中 search 和 options ndots 详解 kubernetes | command args 和 dockerfile 中的 ENTRYPOINT CMD kubernetes | statefulset 控制器详解 docker | dockerfile 最佳实践 docker | dockerfile 指令详解 linux | kill 命令详解以及 linux 中的信号 troubleshooting | elasticsearch 安装插件报错 shell | if 条件判断 docker | 下载外网镜像的几种方式 python | 鬼谷子数学问题 steam挂刀教程 linux | history 命令的格式化输出 shell | 将本地镜像批量推送到 harbor windows | hosts 文件修复 kubernetes | configmap & secret kubernetes | RBAC 鉴权和 NetworkPolicy kubernetes | service & ingress kubernetes | 存储 kubernetes | 滚动升级和自动伸缩 kubernetes | 控制器 kubernetes | 日志 kubernetes | 调度 kubernetes | pod kubernetes | 杂记 linux | set 命令详解 ceph | openeuler 部署 ceph-v16 pxe 如何应对复杂的服务器硬件环境 python | 批量修改目录下文件名 《微习惯》 ceph | openeuler (aarch64) 部署 ceph-v16 troubleshooting | glibc 误升级后修复 pxe 安装配置大全 《人间失格》 跑步日常 [置顶] Hello, hugo! shell | 检索某 url 中所有文件的内容 shell | 不同执行方式的区别 shell | 开启 debug 模式 vscode | 常见问题 windows & linux 多网卡时设置默认路由以及添加静态路由 mysql (二) 主从复制原理 GTID 并行复制 mysql (一) 部署 mysql | 杂记 cicd | jenkins 部署 mall-swarm 项目 httpd 源码打包编译成 rpm 包 openssl 源码打包编译成 rpm 包 centos7 | 修改网卡名称 ceph | pool pg_num 配置 docker | 脚本方式批量导出/导入镜像 centos 密码尝试次数过多问题处理 centos7 | 升级内核至 5.10 CVE-1999-0526 ceph | centos7 部署 ceph-v12 python | 修改 pip 源 troubleshooting | 安装 cloud-init 后导致 ssh 连接失败 windows | autohotkey 常用脚本
ceph | ceph-v16 离线安装解决方案
lvbibir · 2022-08-19 · via lvbibir's Blog

0 前言

适用于 Centos8/openeuler + docker

安装 cephadm、ceph-common 的过程就不赘述了,主要探讨如何实现 cephadm 离线安装 ceph v16.2.8

1 离线包的获取

离线包主要指 rpm 包和 ceph 的 docker 镜像

  1. 找一台有外网的测试机(尽量跟生产系统的环境一致)通过 yum 安装 cephadm、ceph-common、docker 等需要的 rpm 包,注意使用 downloadonly 参数先下载好 rpm 包和对应的依赖,然后再通过 yum localinstall 安装
  2. 使用 cephadm bootstrap 初始化单节点 ceph 集群,过程中会下载好需要的 docker 镜像

初始化完成后就可以使用 cephadm rm-cluster --force --zap-osds --fsid <fsid> 把现在的集群删除了,暂时用不到

2 修改 docker 镜像

我们需要修改的镜像只有 quay.io/ceph/ceph:v16 这个镜像,采用 docker commit 的方式修改

先运行一个容器用于修改文件

[root@node-128 ~]# docker run -itd --name test quay.io/ceph/ceph:v16
520af9cf98688d1eb1f572c28c4c60db4f231e4dbf6b3594c54c3892494e5d6c
[root@node-128 ~]# docker exec -it test /bin/bash
# 容器操作
[root@520af9cf9868 /]# find /usr/ -name serve.py
/usr/share/ceph/mgr/cephadm/serve.py
/usr/lib/python3.6/site-packages/pecan/commands/serve.py
[root@520af9cf9868 /]# vi /usr/share/ceph/mgr/cephadm/serve.py

如下,注释三行,大约 937 行

image-20220819162607128

如下,三处修改大约位于 1342 行

  1. 注释 if 语句
  2. 修改 cepadm 命令的 pullinspect-image
  3. 获取 container 数据改为直接写死

image-20220819162743610

至此,已修改完毕,将容器提交为新的镜像

docker commit -m "修改 /usr/share/ceph/mgr/cephadm/serve.py 文件" -a "lvbibir" test ceph:v16

[root@node-128 ~]# docker images
REPOSITORY                         TAG       IMAGE ID       CREATED         SIZE
ceph                               v16       c654e94b4c3f   3 days ago      1.23GB
quay.io/ceph/ceph                  v16       e8311b759ac3   3 months ago    1.23GB
quay.io/ceph/ceph-grafana          8.3.5     dad864ee21e9   4 months ago    558MB
quay.io/prometheus/prometheus      v2.33.4   514e6a882f6e   5 months ago    204MB
quay.io/prometheus/node-exporter   v1.3.1    1dbe0e931976   8 months ago    20.9MB
quay.io/prometheus/alertmanager    v0.23.0   ba2b418f427c   11 months ago   57.5MB

然后将原先的镜像删除,将修改后的镜像改为原先的镜像 tag

docker rmi quay.io/ceph/ceph:v16
docker tag ceph:v16 quay.io/ceph/ceph:v16
docker rmi ceph:v16

[root@ceph-x86-node3 ~]# docker images
REPOSITORY                         TAG       IMAGE ID       CREATED         SIZE
quay.io/ceph/ceph                  v16       c654e94b4c3f   4 days ago      1.23GB
quay.io/ceph/ceph-grafana          8.3.5     dad864ee21e9   4 months ago    558MB
quay.io/prometheus/prometheus      v2.33.4   514e6a882f6e   5 months ago    204MB
quay.io/prometheus/node-exporter   v1.3.1    1dbe0e931976   8 months ago    20.9MB
quay.io/prometheus/alertmanager    v0.23.0   ba2b418f427c   11 months ago   57.5MB

本博客另一篇文章 有脚本可以方便的批量导入导出镜像

3 测试

将之前下载的 rpm 包和导出的 docker 镜像进行归档压缩,上传至无法访问外网的环境,之后就与在线部署 ceph 集群的步骤一样了

以上

wechat_pay

微信

alipay

支付宝