Openstack 与 Ceph集群搭建(中): Ceph部署

news2024/11/28 18:44:52

文章目录

  • 一、部署前说明
    • 1. ceph 版本选择依据
    • 2. ceph网络要求
    • 3. 硬件要求
  • 二、部署架构
  • 三、部署过程
    • 1. 通用步骤
    • 2. 部署管理节点
      • 创建账号
      • 安装Cephadm
      • 运行bootstrap
    • 3. 登录Ceph web
    • 4. 将其他节点加入集群
      • 同步ceph key
      • 安装ceph CLI命令行
      • 添加主机节点到集群
      • 添加OSD节点
      • 将监控节点添加到集群
      • 监控配置
  • 四、查看集群状态

一、部署前说明

本文采用cephadm进行安装Ceph,cephadm是官方推荐的ceph集群部署工具。

1. ceph 版本选择依据

在上一篇文章:Openstack 与 Ceph集群搭建(上)中说明了ceph版本选择, 这里提供相关依据:

在这里插入图片描述

2. ceph网络要求

根据官方要求,Ceph集群至少需要10Gb/s的网络带宽
在这里插入图片描述

官方链接:https://docs.ceph.com/en/latest/start/hardware-recommendations/#networks

3. 硬件要求

在这里插入图片描述

二、部署架构

Ceph 集群需要部署4个组件,OSD、MON、MDS ,各接点部署,如下图:
在这里插入图片描述

  • OSD:Ceph OSD(Object Storage 对象存储守护进程)存储数据,处理数据复制、恢复、重新平衡;并通过检查其他Ceph OSD守护进程的心跳来向Ceph监视器和管理器提供信息。通常至少要3个Ceph OSD节点来实现冗余和高可用性。本质上OSD就是一个个Host节点上的存储磁盘。
  • Monitors:Ceph Monitor (守护进程 ceph-mon)维护集群的映射,包括监视器映射、管理器映射、OSD映射、MDSS映射和CRUSH映射。这些映射是Ceph守护进程相互协调所需的关键集群状态。 监视器还负责管理守护进程和客户端之间的身份验证。 通常至少需要三个监视器才能实现冗余和高可用性。基于paxos协议实现节点间的信息同步。
  • Managers:Ceph管理器(守护进程ceph-mgr)负责跟踪运行时的指标和Ceph集群的当前状态,包括存储利用率、当前性能指标和系统负载。Ceph管理器守护进程还托管基于Python的模块来管理公开Ceph集群信息,包括基于Web的Ceph仪表盘和REST API。高可用通常至少要2个管理器。基于raft协议实现节点间的同步。
  • MDSs:Ceph元数据服务器(MDS Metadata Server、 ceph-mds)代表Ceph文件系统存储元数据。Ceph元数据服务器允许POSIX(为应用程序提供接口标准)文件系统用户执行基本命令(如ls、find等),而不会给Ceph存储集群带来巨大负担。
类型节点
部署节点node-03 172.16.250.248
OSD节点node-01 172.16.250.250;node-02 172.16.250.249 ;node-03 172.16.250.248
MON节点node-01 172.16.250.250;node-02 172.16.250.249 ;node-03 172.16.250.248
MDS节点node-01 172.16.250.250;node-02 172.16.250.249 ;node-03 172.16.250.248
MGR节点node-01 172.16.250.250;node-03 172.16.250.248

三、部署过程

1. 通用步骤

在全节点安装docker

apt install docker.io

2. 部署管理节点

这里的管理节点也是部署节点 node-03

创建账号

在部署节点添加ceph用户

useradd -d /home/ceph_user -m ceph_user 
passwd ceph_user

安装Cephadm

在部署节点安装Cephadm。cephadm是官方推荐的ceph集群部署工具。

选项一:

apt install -y cephadm

该步骤执行后,直接开始bootstrap安装环节。

选项一:这种安装方式不一定是最新版本ceph,故提供另一种安装方式

选项二(本文档采用):

# replace this with the active release
CEPH_RELEASE=18.2.2

# 下载
curl --silent --remote-name --location https://download.ceph.com/rpm-${CEPH_RELEASE}/el9/noarch/cephadm

# 添加可执行权限
chmod +x cephadm  # 对下载的cephadm添加可执行权限。

# 安装cephadmin
./cephadm add-repo --release reef
./cephadm install

#验证
root@ceph-mon-01:~# which cephadm
/usr/sbin/cephadm

最新版本号查询:https://docs.ceph.com/en/latest/releases/#active-releases

运行bootstrap

部署节点node-03上运行:

方式一:

# 指定第一台 监控主机IP为 172.16.249.248
cephadm bootstrap --mon-ip 172.16.250.248
# 或者使用下面的命令: 指定存储网络
cephadm bootstrap --mon-ip 172.16.250.248 --cluster-network 172.16.249.0/24

方式二(本文档采用):

可以新建/etc/ceph/initial-ceph.conf文件并 写入以下配置(刷配置时需要删除注释):

[global]
public_network = 172.16.250.0/24         # 指定ceph公共网络,用于用户访问
cluster_network = 172.16.249.0/24        # 指定集群内部网络,用于同步
# public_network = {IPv4 public-network/netmask}, {IPv6 public-network/netmask}
mon_host = 172.16.250.250
osd_journal_size = 10000
osd_pool_default_size = 2                # 副本数默认为3,这里修改为2; 即保留2份数据
osd_pool_default_pg_num = 512
osd_pool_default_pgp_num = 512
rbd_default_features = 3
mon_max_pg_per_osd =2000
mon_allow_pool_delete=true   

通过以上脚本进行bootstrap:

cephadm bootstrap --config /etc/ceph/initial-ceph.conf --mon-ip 172.16.250.248

输出如下:

Setting public_network to 172.16.250.0/24 in mon config section
Setting cluster_network to 172.16.249.0/24
Wrote config to /etc/ceph/ceph.conf
Wrote keyring to /etc/ceph/ceph.client.admin.keyring
Creating mgr...
Verifying port 0.0.0.0:9283 ...
Verifying port 0.0.0.0:8765 ...
Verifying port 0.0.0.0:8443 ...
Waiting for mgr to start...
Waiting for mgr...
mgr not available, waiting (1/15)...
mgr not available, waiting (2/15)...
mgr not available, waiting (3/15)...
mgr is available
Enabling cephadm module...
Waiting for the mgr to restart...
Waiting for mgr epoch 5...
mgr epoch 5 is available
Setting orchestrator backend to cephadm...
Generating ssh key...
Wrote public SSH key to /etc/ceph/ceph.pub
Adding key to root@localhost authorized_keys...
Adding host itlab...
Deploying mon service with default placement...
Deploying mgr service with default placement...
Deploying crash service with default placement...
Deploying ceph-exporter service with default placement...
Deploying prometheus service with default placement...
Deploying grafana service with default placement...
Deploying node-exporter service with default placement...
Deploying alertmanager service with default placement...
Enabling the dashboard module...
Waiting for the mgr to restart...
Waiting for mgr epoch 9...
mgr epoch 9 is available
Generating a dashboard self-signed certificate...
Creating initial admin user...
Fetching dashboard port number...
Ceph Dashboard is now available at:

             URL: https://itlab:8443/
            User: admin
        Password: Dashabi#2024

Bootstrap 命令功能如下:

  • 为本地主机上的新群集创建monitor和manager守护程序。
  • 为 Ceph 群集生成新的 SSH 密钥,并将其添加到root用户的文件/root/.ssh/authorized_keys
  • 将与新群集通信所需的最小配置文件保存到 /etc/ceph/ceph.conf
  • client.admin管理(特权!)密钥的副本写入/etc/ceph/ceph.client.admin.keyring
  • 将公钥的副本写入/etc/ceph/ceph.pub

此外:该命令会有如下输出,主要涉及用户名和密码:

URL: https://ceph_mon_01:8443/
User: admin
Password: kjephbnn09

在这里插入图片描述

3. 登录Ceph web

首次登录会要求修改密码。
在这里插入图片描述

4. 将其他节点加入集群

同步ceph key

在部署节点逐一对复制到集群所有节点,举例复制到osd01,如下:

ssh-copy-id -f -i /etc/ceph/ceph.pub node-01
ssh-copy-id -f -i /etc/ceph/ceph.pub node-02

安装ceph CLI命令行

在部署节点安装ceph-common

cephadm install ceph-common

添加主机节点到集群

在部署节点node-03 执行以下命令用于添加其他节点到集群:

ceph orch host add node-01
ceph orch host add node-02

添加OSD节点

作为OSD存储的磁盘必须满足以下条件:

  • 该设备不能有分区。
  • 该设备不能有任何 LVM 状态。
  • 不得挂载该设备。
  • 该设备不得包含文件系统。
  • 该设备不得包含 Ceph BlueStore OSD。
  • 该设备必须大于 5 GB。

在部署节点执行以下命令用于自动发现并上线OSD:

# 自动发现OSD
ceph orch apply osd --all-available-devices

# 关闭自动发现
ceph orch apply osd --all-available-devices --unmanaged=true

在特定主机特定设备上创建osd(二选一)
根据你的环境进行替换node-02:/dev/sdb (/dev/sdb 为硬盘)

ceph orch daemon add osd node-02:/dev/sdb

若发现OSD未成功加入,可对目标磁盘做以下操作:

# 重置磁盘
parted /dev/sda mklabel gpt

# 新建分区(若要将分区作为OSD)
sudo mkfs.ext4 /dev/sdc1

# 初始化分区(硬盘)
wipefs -af /dev/sda

若磁盘被其他ceph占用,解决方案如下:

dmsetup ls
dmsetup remove ceph

将监控节点添加到集群

ceph orch daemon add mon node-01
ceph orch daemon add mgr node-01

添加管理节点lable,指定Managers进程节点:

ceph orch host label add node-01 _admin
ceph orch host label add node-03 _admin

添加额外监控主机:

https://docs.ceph.com/en/latest/cephadm/services/mon/#deploy-additional-monitors

# 限制监控主机仅在mon01,mon02,mon03
ceph orch apply mon "node-01,node-02,node-03"

监控配置

ceph mgr module enable prometheus

Enable ceph prometheus module on every cluster: ceph mgr module enable prometheus

Allow traffic through the port 9283 of the machines containing the ceph mgr

To ensure that you don’t lose the metrics between mgr fail-overs, add all the mgr to the target section in Prometheus (depending of the prometheus scrape interval some of the metrics could be lost during the failover)

访问:https://172.16.250.248:3000
在这里插入图片描述

四、查看集群状态

MON 节点:使用 ceph mon stat 和 ceph quorum_status 查看。
OSD 节点:使用 ceph osd stat 和 ceph osd tree 查看。
MDS 节点:使用 ceph fs status 查看。
Manager 节点:使用 ceph mgr stat 查看。
集群整体状态:使用 ceph -s 或 ceph status 查看。

ceph mgr stat
ceph fs status
ceph osd tree
ceph osd stat
ceph mon stat
ceph orch host ls
ceph orch device ls
ceph -s

在这里插入图片描述

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

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

相关文章

[数据集][目标检测]机械常用工具检测数据集VOC+YOLO格式4713张8类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4713 标注数量(xml文件个数):4713 标注数量(txt文件个数):4713 标注…

配置typora上传图片到Chevereto图床

目录 一、下载安装PicGo二、配置PicGo三、配置Typora 一、下载安装PicGo PicGo下载地址点击进入 进入官网后点击下载,会跳转到GitHub,如图,选择对应的操作系统版本下载 下载完成后单击安装(本文已windows系统为例) 二、配置PicGo 点击插件设…

华为OD机试 - 密码输入检测 字符串

只在本地跑过&#xff0c;不确保一定对 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <string.h>#define setbit(value,bit) (value value |(1<<bit))int main(void) {char buf[201];char out[201];int i 0;int to…

UploadLabs靶场环境

目录 UploadLabs靶场环境 第十八题 第十九题 第二十一题 UploadLabs靶场环境 .php .php. . 第五&#xff0c;十关访问的时候空格必须要使用 %20代替 第七题在linux服务器上的话&#xff0c;文件名如果末尾只存在空格并不会自动删除&#xff0c;还会保留&#xff0c;但是这…

合宙Air700ECQ硬件设计手册——应用接口1

Air700ECQ是一款高度集成的LTE Cat1无线通信模组&#xff0c;基于移芯EC716E平台设计&#xff0c;有着极小的封装和极高的性价比。 它支持移动双模FDD-LTE/TDD-LTE 4G远距离无线传输技术&#xff0c;能够广泛应用于共享设备、定位器、DTU数传等多种场景。 此外&#xff0c;Air7…

2024年互联网公司时薪排行榜大曝光!

2024年互联网公司时薪排行榜重磅出炉&#xff01;这一次&#xff0c;行业薪资数据的透明度前所未有&#xff0c;看完这份榜单&#xff0c;你会发现互联网圈子的贫富差距竟然如此悬殊&#xff0c;不禁让人直呼“酸了”&#xff01; 在这个人人都关注收入与回报的时代&#xff0…

算法之工程化内容(3)—— Docker常用命令

目录 1. 配置docker镜像加速 2. 创建镜像docker-name 3. 查看正在运行的镜像 4. 拉取镜像 5. 运行镜像 6. 停止/启动指定 id 的容器 7. 删除指定 id 的镜像/容器 8. docker发布和部署 (推荐教程&#xff1a;&#x1f69a; 发布和部署 - Docker 快速入门) 1. 配置docke…

CentOS上安装和配置Docker与Docker Compose的详细指南

引言 大家好&#xff0c;我是小阳&#xff0c;在这篇文章中&#xff0c;我将带大家一步步完成在CentOS系统上安装和配置Docker与Docker Compose的过程。通过这篇详细的指南&#xff0c;你将能够轻松配置Docker环境&#xff0c;并在日常开发和部署中享受其带来的便利。 原文阅…

一行一行代码带你阅读,xxljob, 若依vue基础项目,若依vue-plus 项目,实战项目的 视频课程

目录 1 介绍2 地址 1 介绍 本人自己录制的一行一行代码解释源码的课程&#xff0c;适合小白&#xff0c;么有阅读过源码&#xff0c;或者不知道咋阅读源码的小伙伴。 本课程 有&#xff0c;视频&#xff0c;笔记&#xff0c;加了注释的源码 2 地址 1 实战课程 本课程 有&am…

拓客工具,助你多维度筛选客源!

随着大数据与人工智能技术的飞速发展&#xff0c;企业拓客的方式也迎来了前所未有的变革。在这里将分享如何利用拓客工具&#xff0c;在任意行业中精实现高效拓客。 一、高级搜索&#xff1a;最新企业&#xff01; 传统的客户开发方式往往依赖于广撒网式的营销手段&#xff0c;…

Linux系统-打包重定向/管道符/进程shell脚本

打包、解包、压缩、解压缩命令 统一使用tar命令&#xff0c;根据不同的参数完成不同的操作 语法&#xff1a;tar 参数 打包后的文件(只能是一个) 需要打包的文件或目录(可以是多个&#xff0c;空格分开即可) 常见的打包压缩格式&#xff1a; 打包后的文件后缀名&#xff1a;…

Linux——网络(1)

一、IPC&#xff08;进程间通信方式&#xff09; IPC&#xff1a;Inter Process Communication 共享内存&#xff08;最高效的进程间通信方式&#xff09; 虚拟地址 mmu(memory management unit ) 共享内存: 1.是一块&#xff0c;内核预留的空间 2.最高效的…

攻击手法罕见!ESET披露最新网络钓鱼活动,专门针对Android、iPhone用户

ESET 研究人员发现了一种罕见的网络钓鱼活动&#xff0c;专门针对 Android 和 iPhone 用户。他们分析了一个在野外观察到的案例&#xff0c;该案例主要是针对一家著名的捷克银行的客户。 值得注意的是这种攻击主要是从第三方网站安装钓鱼应用程序&#xff0c;而无需用户主动安…

东方博宜OJ 训练计划:前缀和、差分 习题集

前缀和、差分 听到这个名字&#xff0c;大家一定感觉不陌生吧&#xff0c;毕竟学过动态规划的人大部分 都知道&#xff0c;那我就简单介绍一下&#xff0c;并奉上习题供大家参考&#xff01; 题目描述我就不放了&#xff0c;根据题号参见 东方博宜OJ 东方博宜OJ 网址&#xf…

【2024国赛速成系列】建模手三天必成计划

内容来自https://www.bilibili.com/video/BV14M4m1y77t 目录 一、第一天 1、常见模型分类 2、两大学习神器 &#xff08;1&#xff09;SPSSPRO &#xff08;2&#xff09;ChatGPT 二、第二天 三、第三天 一、第一天 建模手在最开始需要了解模型分类及国赛常见模型的用法…

专利有哪几种类型?

专利有哪几种类型&#xff1f;

高并发登录模块

1. 配置⼀主⼆从mysql57 1. mycat对mysql8不完全⽀持 2. mysql8主从问题不⼤ get_pub_key1 1. gtids事务复制 2. 删除/etc/my.cnf 3. 同步data⽂件需要先停⽤mysql服务&#xff0c;删除data⽬录中的 auto.cnf 4. gtid模式以及经典模式都需要锁表 flush tables with read …

击破传统跨境电商客服系统痛点:中关村科金如何帮助品牌实现跨境电商业务开拓?

有家总部位于中国、销售市场主要集中在北美的知名眼镜品牌&#xff0c;主要从事时尚眼镜的设计、生产和销售&#xff0c;近年跨境电商业务规模不断扩展&#xff0c;现有的客服体系却“落伍”了&#xff0c;难以适应当前阶段公司的发展要求。 因此希望与中关村科金合作&#xf…

【Harmony OS 4.0】生命周期

1. 自定义组件生命周期 自定义组件&#xff1a;Component 装饰的UI单元&#xff0c;可以组合多个系统组件实现UI的复用。 组件生命周期&#xff0c;即一般用Component装饰的自定义组件的生命周期&#xff0c;提供以下生命周期接口&#xff1a; 2.1 aboutToAppear&#xff1a;组…

8个我平时每天都会看的网站,涵盖办公、娱乐、学习等

分享8个我平时每天都会看的网站&#xff0c;涵盖办公、娱乐、学习等多种类别&#xff0c;试过就知道有多好用&#xff01; 1、MyFreeMP3 tools.liumingye.cn/music/#/ 一个可以免费听歌的平台&#xff0c;不用充会员&#xff0c;里面收录了大多数的国内外知名流行歌手、乐队的…