Ceph——部署

Ceph简介

        Ceph是一款开源的 SDS 分布式存储,它具备极高的可用性、扩展性和易用性,可用于存
储海量数据
        
        Ceph的存储节点可部署在通用服务器上,这些服务器的 CPU 可以是 x86 架构的,也可以
ARM 架构的。 Ceph 存储节点之间相互通信,以便对存储的数据进行动态复制和重分配

 Ceph的技术优势

采用 RADOS 系统将所有数据作为对象,存储在存储池中
使用 CRUSH 算法计算出对象所对应的存储位置
去中心化,客户端可根据 CRUSH 算法自行计算出对象存储位置,然后进行数据读写
集群可自动进行扩展、数据再平衡、数据恢复等

Ceph的组件总览

• MON MGR MDS OSD 属于 ceph 的后端存储组件
• RADOSGW RBD CEPHFS LIBRADOS 属于 ceph 的访问方式

 


1、ceph的安装

192.168.186.100 ceph01.novalocal ceph01
192.168.186.101 ceph02.novalocal ceph02
192.168.186.102 ceph03.novalocal ceph03
192.168.186.103 Client

1.1 前期准备

1、更改主机名
[root@localhost ~]# hostnamectl hostname ceph01.novalocal
[root@localhost ~]# hostnamectl hostname ceph02.novalocal
[root@localhost ~]# hostnamectl hostname ceph03.novalocal
2、更改hosts文件
[root@ceph02 ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.186.100 ceph01.novalocal ceph01
192.168.186.101 ceph02.novalocal ceph02
192.168.186.102 ceph03.novalocal ceph03
3、添加完成后,在 ceph01 上 ping 各个主机名,保证网络通信正常。

4、关闭防火墙和SElinux,配置时间同步
systemctl disable firewalld
yum install -y chrony
systemctl enable chronyd --now

1.2 下载安装cephadm

1、安装git
[root@ceph01 ~]#dnf install -y git
[root@ceph01 ~]# git --version
git version 2.33.0
2、下载cephadm
[root@ceph01 ~]#git clone https://gitee.com/yftyxa/openeuler-cephadm.git
3、下载完成后,将下载到的 cephadm 复制到/usr/sbin/下,并为其添加可执行权限,具体命令为:
[root@ceph01 ~]# cp openeuler-cephadm/cephadm /usr/sbin && chmod a+x /usr/sbin/cephadm

1.3 添加ceph所需要的yum源

[root@ceph01 ~]# vim /etc/yum.repos.d/ceph.repo 
[Ceph]
name=Ceph packages for $basearch
baseurl=http://download.ceph.com/rpm-nautilus/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=http://download.ceph.com/rpm-nautilus/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1[ceph-source]
name=Ceph source packages
baseurl=http://download.ceph.com/rpm-nautilus/el7/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1

1.4 安装官方推荐容器引擎

1、在所有主机上使用以下命令添加容器引擎所需 yum 源:
[root@ceph01 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-8-reg.repo
2、使用以下命令安装对应容器引擎
[root@ceph01 ~]# yum install podman-3.3.1-9.module_el8.5.0+988+b1f0b741.x86_64 lvm2 -y
3、完成后,重启所有主机

2、 安装部署ceph集群

2.1 在ceph01上初始化ceph集群

2.2 为集群添加node节点 

2、为集群添加 node 节点,使用以下命令创建 ceph 的管理容器
[root@ceph02 ~]# cephadm shell
3、使用以下命令生成集群公钥,并将其拷贝到剩余主机:
[root@ceph01 ~]# ssh-keygen  -t rsa
[root@ceph01 ~]# ssh-copy-id ceph02.novalocal 
[root@ceph01 ~]# ssh-copy-id ceph03.novalocal 
 
4、使用以下命令将全部主机添加到集群内:
[ceph: root@ceph01 /]# ceph orch host add ceph02.novalocal
Added host 'ceph02.novalocal' with addr '192.168.186.101'
[ceph: root@ceph01 /]# ceph orch host add ceph03.novalocal5、添加完成后,使用以下命令查看当前集群中主机状态:
[ceph: root@ceph01 /]# ceph orch host ls
HOST              ADDR             LABELS  STATUS  
ceph01.novalocal  192.168.186.100  _admin          
ceph02.novalocal  192.168.186.101                  
ceph03.novalocal  192.168.186.102                 
3 hosts in cluster6、等待系统自动将服务部署到所有节点中(时间较长,请耐心等待),部署完成后状态如下:
[ceph: root@ceph01 /]# ceph orch ls
NAME           PORTS        RUNNING  REFRESHED  AGE  PLACEMENT  
alertmanager   ?:9093,9094      1/1  107s ago   4d   count:1    
crash                           3/3  109s ago   4d   *          
grafana        ?:3000           1/1  107s ago   4d   count:1    
mgr                             2/2  109s ago   4d   count:2    
mon                             3/5  109s ago   4d   count:5    
node-exporter  ?:9100           1/3  109s ago   4d   *          
prometheus     ?:9095           1/1  107s ago   4d   count:1    
[ceph: root@ceph01 /]# 
​
7、使用以下命令取消 mon 服务的自动扩展功能:
[ceph: root@ceph01 /]# ceph orch apply mon --unmanaged=true
Scheduled mon update...
8、取消以后,mon 对应的“PLACEMENT”值变为“unmanaged”,如下图所示:
[ceph: root@ceph01 /]# ceph orch ls
NAME           PORTS        RUNNING  REFRESHED  AGE  PLACEMENT    
alertmanager   ?:9093,9094      1/1  3m ago     4d   count:1      
crash                           3/3  5m ago     4d   *            
grafana        ?:3000           1/1  3m ago     4d   count:1      
mgr                             2/2  5m ago     4d   count:2      
mon                             3/5  5m ago     93s  <unmanaged>  
node-exporter  ?:9100           1/3  5m ago     4d   *            
prometheus     ?:9095           1/1  3m ago     4d   count:1  9、使用以下命令为 ceph02 和 ceph03 添加标签“_admin”:
[ceph: root@ceph01 /]#  ceph orch host label add ceph02.novalocal _admin
Added label _admin to host ceph02.novalocal
[ceph: root@ceph01 /]#  ceph orch host label add ceph03.novalocal _admin
Added label _admin to host ceph03.novalocal
​
10、使用以下命令将 mon 和 mgr 组件部署到指定节点中:
[ceph: root@ceph01 /]#  ceph orch apply mon --placement="label:_admin"
Scheduled mon update...
[ceph: root@ceph01 /]# ceph orch apply mgr --placement="label:_admin"
Scheduled mgr update...
 

2.3 添加OSD

1、使用以下命令,将所有主机上的硬盘添加为 OSD:
[ceph: root@ceph01 /]# ceph orch apply osd --all-available-devices
Scheduled osd.all-available-devices update...2、添加完成后,使用命令“ceph orch ps”查看所有主机上的组件:

3、 其他 ceph 常用操作

3.1 移除服务

1、首先将 ceph02 中的服务筛选出来,具体命令如下

2、首先删除命令“ceph orch apply <name> --unmanaged=true”关闭集群组件的自动扩展,
[ceph: root@ceph01 /]# ceph orch apply crash --unmanaged=true
Scheduled crash update...
[ceph: root@ceph01 /]# ceph orch apply mon --unmanaged=true
Scheduled mon update...
[ceph: root@ceph01 /]# ceph orch apply mgr --unmanaged=true
Scheduled mgr update...3、使用对应命令删除指定服务:
[ceph: root@ceph01 /]# ceph orch daemon rm crash.ceph02
Removed crash.ceph02 from host 'ceph02.novalocal'
[ceph: root@ceph01 /]# ceph orch daemon rm mon.ceph02 --force
Removed mon.ceph02 from host 'ceph02.novalocal' 
[ceph: root@ceph01 /]# ceph orch daemon rm mgr.ceph02.bkrmmo
Removed mgr.ceph02.bkrmmo from host 'ceph02.novalocal'

 3.2 移除OSD

1、使用以下命令停止ceph02中的osd:
[ceph: root@ceph01 /]# ceph orch daemon stop osd.0
Scheduled to stop osd.0 on host 'ceph02.novalocal'
[ceph: root@ceph01 /]# ceph orch daemon stop osd.1
Scheduled to stop osd.1 on host 'ceph03.novalocal'
[ceph: root@ceph01 /]# ceph orch daemon stop osd.2
Scheduled to stop osd.2 on host 'ceph01.novalocal'2、待所有osd停止后,使用以下命令移除osd:
[ceph: root@ceph01 /]# ceph osd rm 0
removed osd.0
[ceph: root@ceph01 /]# ceph osd rm 1
removed osd.1
[ceph: root@ceph01 /]# ceph osd rm 2
removed osd.2
[ceph: root@ceph01 /]# 3、然后擦除对应磁盘的数据:
[ceph: root@ceph01 /]# ceph orch device zap ceph02.novalocal /dev/sdb --force
zap successful for /dev/sdb on ceph02.novalocal4、最后删除CURSH的osd映射:
[ceph: root@ceph01 /]# ceph osd crush rm osd.0
removed item id 0 name 'osd.0' from crush map5、等待CRUSH中的osd映射删除完成后,关闭自动osd部署功能,命令为:
[ceph: root@ceph01 /]# ceph orch apply osd --all-available-devices --unmanaged=true
Scheduled osd.all-available-devices update...
[ceph: root@ceph01 /]# ceph orch ls
NAME                       PORTS        RUNNING  REFRESHED  AGE  PLACEMENT    
alertmanager               ?:9093,9094      1/1  7m ago     5d   count:1      
crash                                       2/3  7m ago     35m  <unmanaged>  
grafana                    ?:3000           1/1  7m ago     5d   count:1      
mgr                                         2/2  7m ago     34m  <unmanaged>  
mon                                         2/5  7m ago     35m  <unmanaged>  
node-exporter              ?:9100           3/3  8m ago     5d   *            
osd.all-available-devices                     0  8m ago     12s  <unmanaged>  
prometheus                 ?:9095           1/1  7m ago     5d   count:1 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

边缘计算迎来“量子飞跃”!支持抗量子密码,AMD推出FPGA新系列

3月6日&#xff0c;AMD宣布推出AMD Spartan™ UltraScale™ FPGA系列&#xff0c;这是AMD成本优化FPGA和自适应SoC广泛产品组合的最新成员。 距离1月22日&#xff0c;AMD推出业界首款符合VESA DisplayPort 2.1标准的FPGA和自适应SoC实现&#xff0c;也才过了一个多月的时间。 S…

华为实验-基于用户和应用的安全策略

CLI举例&#xff1a;基于用户和应用的安全策略 通过配置安全策略&#xff0c;实现基于用户、时间段以及应用的访问控制。 组网需求 如图1所示&#xff0c;某企业在网络边界处部署了FW作为安全网关。 企业根据员工级别和职能不同划分了三种用户&#xff1a;高层管理者、市场员…

YOLOv8项目实践——目标检测、实例分割、姿态估计、目标追踪算法原理及模型部署(Python实现带界面)

简介 Ultralytics YOLOv8是一种前沿的、最先进的&#xff08;SOTA&#xff09;模型&#xff0c;它在前代YOLO版本的成功基础上进行了进一步的创新&#xff0c;引入了全新的特性和改进&#xff0c;以进一步提升性能和灵活性。作为一个高速、精准且易于操作的设计&#xff0c;YO…

单链表交叉分离,运用头插法,尾插法(算法库应用)

原文博客链接:单链表分离(头插法和尾插法的结合,理解指针变换)_3.对任务1或者2中创建的某一个单链表{a1,b1,a2,b2,...,an,bn},编写一个算法将-CSDN博客 函数实现: /************************************************** 函数名:separate_LinkList 功 能: 把一个链表,交叉新建…

flask各种版本的项目,终端命令运行方式的实现

目录 写在前面 一、Flask项目的基本结构 二、使用终端命令运行Flask项目 1. 安装Flask 2. 创建Flask应用 3. 配置FLASK_APP环境变量 4. 运行Flask应用 5. 访问Flask应用 三、Flask CLI的其他功能 1. 创建Flask应用 2. 运行开发服务器 3. 清理缓存文件 4. 运行单元…

网络链路层之(2)PPP协议

网络链路层之(2)PPP协议 Author: Once Day Date: 2024年3月27日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可参考专栏: 通信网络技术_Once-Day的博客-CSDN…

Patchwork包使用教程,R语言快速组合拼接图片

R语言如何拼接多幅图片&#xff1f; 今天分享的笔记带你领略R语言Patchwork包独特的魅力&#xff0c;patchwork是一个非常流行的用于拼接 ggplot2 图形的包&#xff0c;以一种简单的方式对图形进行排列和组合&#xff0c;不论多复杂的组合图形&#xff0c;都能确保图形之间正确…

手机短信验证码自动转发到服务器

今天写一个自动化处理程序&#xff0c;需要验证码登录&#xff0c;怎么样把手机收到的短信自动转发到服务器接口呢&#xff1f; 利用ios手机快捷指令的功能 打开快捷指令点击中间自动化点击右上角号选择信息信息包含选取&#xff0c;输入验证码选择立即执行点击下一步按下图配…

机器人深度学习IMU和图像数据实现焊接精细操作

在双电极气体保护金属弧焊 &#xff08;DE-GMAW&#xff09; 中&#xff0c;对焊枪和旁路电极位置的精确控制是至关重要的。为了这一过程&#xff0c;科研团队提出了安装微型惯性测量单元&#xff08;IMU&#xff09;传感器和摄像头&#xff0c;来记录焊工控制焊枪的移动和微调…

Android 12系统源码_多窗口模式相关方法的调用顺序

前言 从 Android 7.0 开始&#xff0c;Google 推出了一个名为“多窗口模式”的新功能&#xff0c;允许在设备屏幕上同时显示多个应用&#xff0c;多窗口模式允许多个应用同时共享同一屏幕&#xff0c;多窗口模式&#xff08;Multi Window Supports&#xff09;目前支持以下三种…

Go-js,css,html压缩和混淆(可直接使用)

前提条件: 本地安装nodejs环境然后配置全局环境变量。 运行以下命令安装uglify压缩工具 npm install uglify-js -g 测试是否安装成功 uglifyjs -v 使用方式: 根据不同的操作系统取对应的压缩工具,然后将压缩工具放到项目根目录下,然后执行即可 工具文件: https://gitee.com…

喜讯!聚铭网络荣获《日志分类方法及系统》发明专利

近日&#xff0c;聚铭网络又喜获一项殊荣&#xff0c;其申报的《日志分类方法及系统》发明专利成功获得国家知识产权局的授权&#xff0c;正式荣获国家发明专利证书。 在信息化时代&#xff0c;网络安全问题日益凸显&#xff0c;日志分析作为保障网络安全的重要手段&#xff…