openEuler 20.03 (LTS-SP2) aarch64 cephadm 部署ceph18.2.0【1】离线部署 准备基础环境

news2024/12/25 9:29:29

准备3台虚拟机服务器(均可访问公网)

10.2.1.176 (作为操作机)

10.2.1.191

10.2.1.219

安装基础工具

yum install -y vim

配置hosts

编辑/etc/hosts,添加

10.2.1.176 ceph-176 
10.2.1.191 ceph-191 
10.2.1.219 ceph-219

配置免密登录(方便远程操作)

10.2.1.176 执行

[root@10-2-1-176 ~]# ssh-keygen
[root@10-2-1-176 ~]# ssh-copy-id ceph-191
[root@10-2-1-176 ~]# ssh-copy-id ceph-219

同步hosts

[root@10-2-1-176 ~]# scp /etc/hosts ceph-191:/etc/
[root@10-2-1-176 ~]# scp /etc/hosts ceph-219:/etc/

配置ntp

内网服务端

[root@10-2-1-176 ~]# yum install -y ntp

[root@10-2-1-176 ~]# vim /etc/ntp.conf 
[root@10-2-1-176 ~]# systemctl enable ntpd
Created symlink /etc/systemd/system/multi-user.target.wants/ntpd.service → /usr/lib/systemd/system/ntpd.service.
[root@10-2-1-176 ~]# systemctl restart ntpd
[root@10-2-1-176 ~]# systemctl status ntpd
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2023-12-04 15:15:40 CST; 8s ago
  Process: 22311 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 22313 (ntpd)
    Tasks: 2
   Memory: 3.3M
   CGroup: /system.slice/ntpd.service
           └─22313 /usr/sbin/ntpd -u ntp:ntp -g

Dec 04 15:15:40 10-2-1-176 ntpd[22313]: Listen and drop on 0 v6wildcard [::]:123
Dec 04 15:15:40 10-2-1-176 ntpd[22313]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Dec 04 15:15:40 10-2-1-176 ntpd[22313]: Listen normally on 2 lo 127.0.0.1:123
Dec 04 15:15:40 10-2-1-176 ntpd[22313]: Listen normally on 3 enp3s0 10.2.1.176:123
Dec 04 15:15:40 10-2-1-176 ntpd[22313]: Listen normally on 4 lo [::1]:123
Dec 04 15:15:40 10-2-1-176 ntpd[22313]: Listen normally on 5 enp3s0 [fe80::9372:4b38:76ef:92e4%2]:123
Dec 04 15:15:40 10-2-1-176 ntpd[22313]: Listening on routing socket on fd #22 for interface updates
Dec 04 15:15:40 10-2-1-176 ntpd[22313]: kernel reports TIME_ERROR: 0x2041: Clock Unsynchronized
Dec 04 15:15:40 10-2-1-176 ntpd[22313]: kernel reports TIME_ERROR: 0x2041: Clock Unsynchronized
Dec 04 15:15:40 10-2-1-176 systemd[1]: Started Network Time Service.
 

状态,目测正常

 查看防火墙状态

[root@10-2-1-176 ~]# systemctl status firewalld

开放udp123端口

安装工具,查看端口状态

yum install net-tools
netstat -lnep | grep ntp

开放端口

[root@10-2-1-176 ~]# firewall-cmd --permanent --add-port 123/udp 
success
[root@10-2-1-176 ~]# systemctl restart firewalld
[root@10-2-1-176 ~]# firewall-cmd --list-port
123/udp
 

内网客户端

安装ntp

[root@10-2-1-176 ~]# ssh ceph-191 yum install ntp -y
[root@10-2-1-176 ~]# ssh ceph-219 yum install ntp -y

测试内网时间服务器ip地址(成功)

[root@10-2-1-176 ~]# ssh ceph-191 ntpdate ceph-176

Authorized users only. All activities may be monitored and reported.
 4 Dec 15:32:19 ntpdate[22293]: adjust time server 10.2.1.176 offset +0.007469 sec

[root@10-2-1-176 ~]# ssh ceph-219 ntpdate ceph-176

Authorized users only. All activities may be monitored and reported.
 4 Dec 15:32:51 ntpdate[22327]: adjust time server 10.2.1.176 offset +0.009131 sec
 

主节点安装podman-3.4.4(编译rpm包)

参考官方适配的列表

COMPATIBILITY WITH PODMAN VERSIONS

Podman and Ceph have different end-of-life strategies. This means that care must be taken in finding a version of Podman that is compatible with Ceph.

This table shows which version pairs are expected to work or not work together:

Ceph

Podman

1.9

2.0

2.1

2.2

3.0

> 3.0

<= 15.2.5

True

False

False

False

False

False

>= 15.2.6

True

True

True

False

False

False

>= 16.2.1

False

True

True

False

True

True

>= 17.2.0

False

True

True

False

True

True

选择版本> 3.0

自带的版本不满足

下载src.rpm(openEuler-22.03-LTS-SP2)

wget https://repo.openeuler.org/openEuler-22.03-LTS-SP2/source/Packages/podman-3.4.4-1.oe2203sp2.src.rpm

安装src.rpm

rpm -ivUh podman-3.4.4-1.oe2203sp2.src.rpm

安装依赖

yum-builddep -y ~/rpmbuild/SPECS/podman.spec

安装的依赖内容

构建rpm包

yum install rpm-build
rpmbuild -ba ~/rpmbuild/SPECS/podman.spec

podman 3.4.4 rpm包

构建crun 1.4.5 rpm包(podman3.4.4依赖)

wget https://repo.openeuler.org/openEuler-22.03-LTS-SP2/source/Packages/crun-1.4.5-1.oe2203sp2.src.rpm
rpm -ivUh crun-1.4.5-1.oe2203sp2.src.rpm
yum-builddep -y ~/rpmbuild/SPECS/crun.spec
rpmbuild -ba ~/rpmbuild/SPECS/crun.spec

crun 1.4.5 rpm包

构建conmon 2.1.0 rpm包(podman3.4.4依赖)

wget https://repo.openeuler.org/openEuler-22.03-LTS-SP2/source/Packages/conmon-2.1.0-1.oe2203sp2.src.rpm
rpm -ivUh conmon-2.1.0-1.oe2203sp2.src.rpm
yum-builddep -y rpmbuild/SPECS/conmon.spec 
rpmbuild -ba rpmbuild/SPECS/conmon.spec

common 2.1.0 rpmb包

主节点安装podman

yum install -y rpmbuild/RPMS/noarch/podman-docker-3.4.4-1.noarch.rpm rpmbuild/RPMS/aarch64/podman-remote-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/crun-help-1.4.5-1.aarch64.rpm rpmbuild/RPMS/aarch64/crun-1.4.5-1.aarch64.rpm rpmbuild/RPMS/aarch64/conmon-2.1.0-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-help-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-gvproxy-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-plugins-3.4.4-1.aarch64.rpm

启动podman

[root@10-2-1-176 ~]# systemctl daemon-reload
[root@10-2-1-176 ~]# systemctl enable podman
[root@10-2-1-176 ~]# systemctl start podman
[root@10-2-1-176 ~]# systemctl status podman

其他节点安装podman

同步rpm包

yum install -y rsync
ssh ceph-191 yum install -y rsync
ssh ceph-219 yum install -y rsync
rsync -avr -P ~/rpmbuild/RPMS ceph-191:~/rpmbuild/
rsync -avr -P ~/rpmbuild/RPMS ceph-219:~/rpmbuild/

安装podman 3.4.4

ssh ceph-191 yum install -y rpmbuild/RPMS/noarch/podman-docker-3.4.4-1.noarch.rpm rpmbuild/RPMS/aarch64/podman-remote-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/crun-help-1.4.5-1.aarch64.rpm rpmbuild/RPMS/aarch64/crun-1.4.5-1.aarch64.rpm rpmbuild/RPMS/aarch64/conmon-2.1.0-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-help-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-gvproxy-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-plugins-3.4.4-1.aarch64.rpm

ssh ceph-219 yum install -y rpmbuild/RPMS/noarch/podman-docker-3.4.4-1.noarch.rpm rpmbuild/RPMS/aarch64/podman-remote-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/crun-help-1.4.5-1.aarch64.rpm rpmbuild/RPMS/aarch64/crun-1.4.5-1.aarch64.rpm rpmbuild/RPMS/aarch64/conmon-2.1.0-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-help-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-gvproxy-3.4.4-1.aarch64.rpm rpmbuild/RPMS/aarch64/podman-plugins-3.4.4-1.aarch64.rpm

启动podman

ssh ceph-191 systemctl daemon-reload
ssh ceph-191 systemctl enable podman
ssh ceph-191 systemctl start podman
ssh ceph-191 systemctl status podman

ssh ceph-219 systemctl daemon-reload
ssh ceph-219 systemctl enable podman
ssh ceph-219 systemctl start podman
ssh ceph-219 systemctl status podman

至此,基础环境准备就绪。

接下来

搭建registry私服

拉取ceph镜像,导入私服

配置各节点insecury-registry

根据ceph镜像内部的cephadm拉取所有镜像,导入私服

利用私服boostrap主节点

配置全部采用私服镜像

添加、启动其他节点

添加mon

添加osd

。。。

参考 

Compatibility and Stability — Ceph Documentation

openEuler 22.03 LTS x86_64 cephadm 部署ceph 16.2.14 未完成 笔记-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1282832.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Docker】资源配额及私有镜像仓库

资源配额及私有镜像仓库 一、Docker资源配额1.1、控制cpu1.1.1、cpu份额控制1.1.2、core核心控制1.1.3、配额控制参数的混合使用 1.2、控制内存1.3、控制IO1.4、资源释放 二、Docker私有镜像仓库Harbor2.1、Harbor简介2.2、为Harbor自签发证书【1】生成ca证书【2】生成域名的证…

伦敦银破位指标是哪些?

在伦敦银市场&#xff0c;破位通常有5种情形&#xff1a;技术形态破位、均线攴撑破位、技术指标破位、市场心理破位、高位盘整区破位。技术形态破位主要是指技术形态的重要颈线位&#xff0c;如多重顶、双顶、头肩顶等颈线位&#xff0c;以及支撑线&#xff08;主要是橫盘整理形…

盘点最近两个世纪那些搞怪又精彩的专利

人类的创新是无止境的&#xff0c;下面收集的就是最近两个世纪全球那些奇怪搞笑、精彩的6项专利。 小胡子卫士 (1876) 这款“胡须防护罩”由 VA.Gates 于 1876 年获得专利&#xff0c;是在节日盛宴期间保护胡须的巧妙解决方案。“弯曲和凹形的护罩&#xff0c;可以由硫化橡胶、…

prime靶机打靶记录

靶机下载地址 https://download.vulnhub.com/prime/Prime_Series_Level-1.rar nmap搜索目标 使用nmap -sn 192.168.41.0/24找到目标靶机192.168.41.136 扫描端口&#xff0c;因为是靶机&#xff0c;所以速率直接调了10000 扫出来两个端口22和80&#xff0c;进行详细的扫描 没…

【QML】QML与cpp交互(一)—— QML直接调用cpp函数

目录 1、cpp 创建一个类 2、将类对象暴露给QML 3、QML通过对象直接调用cpp函数 1、cpp 创建一个类 类模板如下: #include <QtCore/QObject>class vacUdpClient: public QObject {Q_OBJECT public: vacUdpClient(QObject* parent nullptr): QObject(parent) {}// Q…

Python使用爬虫ip爬取动态网页

写爬虫很难&#xff1f;在我看来&#xff0c;写爬虫需要具备一定的编程基础和网络知识&#xff0c;但并不需要非常高深的技术。在学习爬虫的过程中&#xff0c;我发现最重要的是掌握好两个点&#xff1a;一是如何分析网页结构&#xff0c;二是如何处理数据。对于第一个点&#…

Linux下Redis安装及配置

首先下载redis安装包&#xff1a;地址 这里我使用的是7.0版本的&#xff01; 将文件上传至linux上&#xff0c;此处不再多叙述&#xff0c;不会操作的&#xff0c;建议使用ftp&#xff01; 第一步&#xff1a;解压压缩包 tar -zxvf redis-7.0.14.tar.gz第二步&#xff1a;移…

【Seata源码学习 】篇六 全局事务提交与回滚

【Seata源码学习 】篇六 全局事务提交与回滚 全局事务提交 TM在RPC远程调用RM后,如果没有出现异常&#xff0c;将向TC发送提交全局事务请求io.seata.tm.api.TransactionalTemplate#execute public Object execute(TransactionalExecutor business) throws Throwable {// 1. …

qt-C++笔记之addItem(), addWidget(), addLayout()

qt-C笔记之addItem(), addWidget(), addLayout() code review! 文章目录 qt-C笔记之addItem(), addWidget(), addLayout()0.《官方文档》相关示例截图1.ChatGPT解释2.《Qt 5.12实战》相关示例截图《Qt 5.12实战》&#xff1a;5.6 组合框 3.addWidget()4.addWidget()和addChil…

LD_PRELOAD劫持、ngixn临时文件、无需临时文件rce

LD_PRELOAD劫持 <1> LD_PRELOAD简介 LD_PRELOAD 是linux下的一个环境变量。用于动态链接库的加载&#xff0c;在动态链接库的过程中他的优先级是最高的。类似于 .user.ini 中的 auto_prepend_file&#xff0c;那么我们就可以在自己定义的动态链接库中装入恶意函数。 也…

如何更改Jupyter Notebook中的环境?

1.首先&#xff0c;打开终端 2.接着&#xff0c;分别输入以下命令 conda env list 把EXPose替换为自己的环境变量 conda activate EXPose 3.接下来安装‘ ipykernel ’软件包 conda install ipykernel 4. 将该环境添加到Jupyter Notebook中&#xff1b;在Jupyter Notebook…

TiDB专题---2、TiDB整体架构和应用场景

上个章节我们讲解了TiDB的发展和特性&#xff0c;这节我们讲下TiDB具体的架构和应用场景。首先我们回顾下TiDB的优势。 TiDB的优势 与传统的单机数据库相比&#xff0c;TiDB 具有以下优势&#xff1a; 纯分布式架构&#xff0c;拥有良好的扩展性&#xff0c;支持弹性的扩缩容…

Docker Registry本地镜像仓库部署并实现远程连接拉取镜像

Linux 本地 Docker Registry本地镜像仓库远程连接 文章目录 Linux 本地 Docker Registry本地镜像仓库远程连接1. 部署Docker Registry2. 本地测试推送镜像3. Linux 安装cpolar4. 配置Docker Registry公网访问地址5. 公网远程推送Docker Registry6. 固定Docker Registry公网地址…

Combined Private Circuits - Combined Security Refurbished

目录 摘要引言针对组合攻击的对策相关工作 Combined Private Circuits - Combined Security Refurbished. CCS 2023 摘要 物理攻击是众所周知的对加密实现的威胁。虽然针对被动侧通道分析&#xff08;SCA&#xff09;和主动故障注入分析&#xff08;FIA&#xff09;的对策是单…

无人机停机坪的主要功能有哪些

随着无人机行业领域的不断完善&#xff0c;无人机停机坪作为一项关键基础设施&#xff0c;正发挥着越来越重要的作用。无人机停机坪也叫无人机机巢、无人机机库、无人机机场。无人机停机坪不仅是无人机的“家”&#xff0c;更是其高效运行的关键环节。让我们一同探索无人机停机…

全球与中国协作机器人市场:增长趋势、竞争格局与前景展望

协作机器人&#xff08;cobot&#xff09;是一种设计用于与人类协作和互动工作的机器人。协作机器人配备了各种感测器和先进技术&#xff0c;以确保与人类的安全协作。协作机器人应用于多种产业&#xff0c;包括制造业、医疗保健、物流和农业。协作机器人可用于需要人工监督和介…

SpringCache入门案例

依赖 <!--SpringCache起步依赖--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId><version>2.7.3</version> </dependency> <!--Redis起步依赖--&g…

yolov5实现多图形识别和图像训练

1.使用了yolov7,检测更好,但是训练上有问题,运行不起来,转了一圈发现yolov5是应用更广泛使用简单 2.怎么使用 //下载代码 https://github.com/ultralytics/yolov5 //安装依赖 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple some-package //按…

电子学会全国青少年软件编程等级考试 中小学生python一级历年真题解析【更新至2023年9月 持续更新】

中国电子学会python等级考试一级历年真题解析 一、考级知识点分析 一、 了解Python多种开发环境&#xff0c;熟练使用Python自带的IDLE开 发环境&#xff0c;能够进行程序编写、调试和分析&#xff0c;具备使用Python开发 环境进行程序设计的能力 了解Python常见的几种编程环…

CO11N报工时,在填入返工数量后自动产生返工工单

本文档主要说明一种返工流程,当工人报工时,填写返工数量、变式原因即可启动触发点自动创建返工订单,被创建的反工订单为无料号生产订单,且关联报工订单。涉及系统功能点包括状态参数 一、 后台配置 1).用户状态参数:BS02(SPRO-生产-商店低价控制-主数据-订单-定义状态…