cephadm部署ceph分布式存储集群笔记

  • 1、修改主机名、网卡名
    修改主机名:

    sudo hostnamectl set-hostname 新主机名
    

    修改网卡名(选做):

    sudo ip link set eth0 name newname
    
  • 2、关闭防火墙和selinux (选做)

  • 3、关闭交换分区 (选做)

  • 4、修改内核参数和资源限制参数 (选做)

  • 5、配置时间同步服务(NTP)

    sudo apt install ntp
    

    部署集群环境时,所有主机的时间源都需和ceph-1同步。

  • 6、配置 ssh 免密登录
    在1号主机ceph-1上操作:

    # 生成ssh-key
    ssh-keygen -t rsa# 将ssh-key复制到2号主机或更多主机
    ssh-copy-id ceph-2
    
  • 7、安装 docker
    参考以往的博客。

  • 8、安装cephadm

    sudo apt install cephadm
    

    检查主机是否满足安装ceph集群:

    cephadm check-host --expect-hostname `hostname`
    
  • 9、初始化mon

    cephadm bootstrap --mon-ip 10.0.3.69 --cluster-network 10.0.3.0/24 --initial-dashboard-user admin --initial-dashboard-password 123456
    
  • 10、添加主机到集群
    在主机ceph-1上操作:

    • 配置ceph-2主机ssh免密登录:
    ssh-copy-id -f -i /etc/ceph/ceph.pub ceph-2
    
    • 进入集群环境:
    cephadm shell --fsid cab35cc6-31ff-11ef-8f81-07bce4384981 -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring
    
    • 将主机添加到集群中:
    ceph orch host add ceph-2 10.0.3.69 --labels=mon,mgr
    ceph orch host add ceph-3 10.0.3.70 --labels=mon
    
    • 查看加入到集群的节点:
    ceph orch host ls
    
    • 为节点ceph-2、ceph-3添加 _admin 标签:
    shell ceph orch host label add ceph-2 _admin
    shell ceph orch host label add ceph-3 _admin
    
    • 给 ceph-1 — ceph-4添加 mon 标签
    ceph orch host label add ceph-1 mon
    ceph orch host label add ceph-2 mon
    ceph orch host label add ceph-3 mon
    ceph orch host label add ceph-4 mon
    
    • 给 ceph-1、ceph-2添加 mgr 标签
    ceph orch host label add ceph-1 mgr
    ceph orch host label add ceph-2 mgr
    
    • 列出节点,查看节点上的标签
    ceph orch host ls
    

    调整 mon 节点的个数

    ceph orch apply mon --placement="4 label:mon"
    
  • 11、添加 OSD

    • 说明:添加OSD时,建议将磁盘先格式化为无分区的原始磁盘
    DISK="/dev/sdb"
    sgdisk --zap-all $DISK
    dd if=/dev/zero of="$DISK" bs=1M count=100 oflag=direct,dsync
    blkdiscard $DISK
    partprobe $DISK
    
    • 调整 osd_poll 默认的个数
    ceph config set global osd_pool_default_size 1
    
    • 查看各节点可用的磁盘
    ceph orch device ls
    
    • 添加OSD:
    ceph orch daemon add osd ceph01:/dev/sda
    
  • 12、添加 pool

    ceph osd pool create hddpool 128 128
    

    列出池

    ceph osd lspools
    

    创建规则以使用该设备

    ceph osd crush rule create-replicated hdd default host hdd
    

    查看规则

    ceph osd crush rule ls
    

    规则应用到池上面

    ceph osd pool set hddpool crush_rule hdd
    
  • 13、部署MDS元数据服务

    • 创建CephFS池:
    ceph osd pool create cephfs_data 64 64
    ceph osd pool create cephfs_metadata 64 64
    
    • 设置副本数:
    ceph osd pool set cephfs_data size 1
    ceph osd pool set cephfs_data size 1
    
    • 列出池:
    ceph osd lspools
    
    • 为数据池和元数据池创建文件系统
    ceph fs new cephfs cephfs_metadata cephfs_data
    
    • 使用 ceph orch apply 命令部署 MDS:
    ceph orch apply mds cephfs --placement="1 ceph-1"
    
    • 查看状态:
    ceph fs ls
    ceph fs status
    
    • 查看守护进程:
    ceph orch ps --daemon_type=mds
    
  • 14、dashboard的使用
    查看 dashboard的访问地址:

    ceph mgr services
    
  • 15.删除节点

    • 获取被删除主机上有哪些守护进程:
    ceph orch ps ceph-4
    
    • 先排空被删除主机上的所有守护进程
    ceph orch host drain ceph-4
    
    • 查看被移除的OSD状态:
    ceph orch osd rm status
    
    • 检查被删除的主机上所有守护进程是否已经从集群中移除:
    ceph orch ps ceph-4
    
    • 删除主机:
    ceph orch host rm  ceph-4
    
    • 清理节点:
      在被删除的节点上执行:
    cephadm rm-cluster --fsid 集群id --force
    
  • 16.ceph mon监视器管理

    ceph orch apply mon --placement="ceph-1 ceph-2 ceph-3"
    
  • 17、ceph mgr 管理器管理

    • 重启mgr:
    ceh orch restart mgr
    
    • 添加mgr:
    ceph orch apply mgr --placement="3 ceph-1 ceph-2 ceph-3"
    
  • 18.使用MDS

    • 安装ceph客户端:
    sudo apt install ceph ceph-common
    
    • 挂载cephfs:
    mount -t ceph 10.2.3.200:6789:/ ./cephfs -o name=admin,secretfile=/etc/ceph/ceph.client.admin.keyring
    

    或:

    mount -t ceph 10.2.3.200:6789:/ ./cephfs -o name=admin,secret=AQAQ23Nm81oMGBAACvc1JMckL4zCMSziL6GX9A==
    
  • 19、k8s中使用cephfs
    参考:https://blog.csdn.net/HYESC/article/details/128039771

    • k8s用到的信息:
    clusterID: 
    "cab35cc6-31ff-11ef-8f81-07bce4384981"monitors:
    10.2.3.200:6789user:
    adminuserKey:
    AQCbJ3lmhEw4MhAA6+v/bC9igPjYvV1Sj0b+jA==
    
    • 创建子卷组:
    ceph fs subvolumegroup create cephfs csi
    
  • 20、问题解决

    • 关闭pool没有副本的警告:
    ceph config set global mon_warn_on_pool_no_redundancy false
    
    • ceph状态机undersized+degrated:https://www.jianshu.com/p/0fd446d3e9ff

    • ceph-csi镜像拉取失败解决办法:https://blog.csdn.net/davidzzc/article/details/124868759

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

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

相关文章

【日常开发之Windows共享文件】Java实现Windows共享文件上传下载

文章目录 Windows 配置代码部分Maven代码 Windows 配置 首先开启服务,打开控制面板点击程序 点击启用或关闭Windows功能 SMB1.0选中红框内的 我这边是专门创建了一个用户 创建一个文件夹然后点击属性界面,点击共享 下拉框选择你选择的用户点击添加…

python爬虫必须要高匿IP吗 ?

各个平台搜索关键词就可以找到不同品牌的代理IP了。 找倒是不难,难的是能从中挑选出靠谱且合适的代理品牌。 在选择代理IP这块,不建议使用免费和超低价的代理,因为这一类的代理往往非常不稳定,很多都被网站拉黑过,特…

PS添加物体阴影

一、选择背景,确保物体和北京分割出图层 二、右键单击物体图层,点击混合选项,点击投影 三、调整参数,可以看效果决定(距离是高度,扩展是浓度,大小是模糊程度),保存即可

实用软件下载:CrossOver 2024最新安装包及详细安装教程

​根据软件大数据显示上传或者手动输入软件都非常简单,一般来说CrossOver会自动连接到一个Win文件共享服务器(Samba或CIFS)上,使用者能够直接在这个服务器中选择并上传软件执行文件。实际上我们可以这样讲调整CrossOver设置&#…

汽车数据应用构想(五)

如果说路面信息(POI)可以通过采集车、人工等方式来获取,用户习惯可以通过手机生态应用来获取,那么车的信息应该算是车辆独有的垂直领域价值了,它是实实在在只有车厂才拥有的数据财富,任何互联网大厂都抢不走…

如何使用mapXplore将SQLMap数据转储到关系型数据库中

关于mapXplore mapXplore是一款功能强大的SQLMap数据转储与管理工具,该工具基于模块化的理念开发,可以帮助广大研究人员将SQLMap数据提取出来,并转储到类似PostgreSQL或SQLite等关系型数据库中。 功能介绍 当前版本的mapXplore支持下列功能…

图像识别技术的来龙区别,图像识别的底层原理及应用场景大总结-人工智能基础知识必读

图像识别技术是人工智能领域中的一个重要分支,它涉及到从图像中自动提取信息和模式的过程。随着深度学习的发展,图像识别技术已经取得了显著的进展,并在多个领域中找到了应用。 图像识别的底层原理 图像识别的基本过程包括图像获取、预处理…

transformers 生成式模型函数generate的参数说明

# generate函数说明 """ 类用于保存生成任务的配置。调用generate支持以下对于text-decoder、text-to-text、speech-to-text和vision-to-text模型的生成方法: 如果num_beams1且do_sampleFalse,则使用贪婪搜索,调用~generati…

一条Redis命令是如何执行的?

一条Redis命令是如何执行的? 源码结构核心数据结构redisServerredisClientredisDbredisObjectaeEventLoop 核心流程redis启动流程main() 主循环aeEventProcess执行过程命令执行的流程过程1(redis启动)过程2(客户端与服务端建立链接…

LLM function call

简介 在大模型领域,尤其是在自然语言处理(NLP)和人工智能(AI)应用中,function call 是一种非常重要的技术手段。它主要用于让模型在生成或处理文本的过程中调用外部功能或执行特定任务,有以下应…

【Android】Android Studio 使用Kotlin写代码时代码提示残缺问题解决

问题描述 Android Studio升级之后,从Android Studio 4.2升级到Android Studio Arctic Fox版本,因为项目比较老,使用的Gradle 版本是3.1.3,这个版本的Android Studio最低支持Gradle 3.1版本,应该算是比较合适的版本。 …

不翻墙安装yolov8环境下的RT-DETR并实现PCB表面缺陷检测

目录 一、新建conda环境二、安装yolov8环境1.克隆安装包2.安装依赖包3.测试模型 任务2:基于RT-DETR实现PKU-PCB表面缺陷检测数据准备 数据增强测试 总结 一、新建conda环境 创建并激活conda环境: 在conda创建一个名为yolov8的新环境,并在其中…

C++网络编程实践:使用C++11基于epoll技术实现一个超大并发TCP服务器

理解epoll epoll 是一种 I/O 复用技术,它允许一个线程有效地管理多个文件描述符(在本例中为套接字),而无需为每个连接创建单独的线程。这是通过事件驱动的方式来实现的,epoll 能够通知你哪些套接字已经准备好进行读写…

国际网络专线的开通流程

1. 选择服务商:首先,您需要选择一个可靠的服务商来提供国际网络专线服务。确保服务商具有良好的声誉和专业知识,以便为您提供高质量的网络连接和支持。 2. 评估需求:在与服务商沟通之前,您需要明确自己的网络需求。这…

dp经典问题:LCS问题

dp:LCS问题 最长公共子序列(Longest Common Subsequence, LCS)问题 是寻找两个字符串中最长的子序列,使得这个子序列在两个字符串中出现的相对顺序保持一致,但不要求连续。 力扣原题链接 1.定义 给定两个字符串 S1…

Python快速搭建网站

使用 Python 快速搭建网站通常可以选择以下几种流行的框架: Flask:轻量级框架,适合快速原型开发。Django:功能强大的框架,适合构建复杂的大型应用。 下面将分别介绍如何使用 Flask 和 Django 快速搭建一个简单的网站…

猫狗识别—视频识别

猫狗识别—视频识别 1. 导入所需的库:2. 创建Tkinter主窗口并设置标题:3. 设置窗口的宽度和高度:4. 创建一个Canvas,它将用于显示视频帧:5. 初始化一个视频流变量cap,用于存储OpenCV的视频捕获对象&#xf…

C语言 给定半径和高,计算圆,球,圆柱各参数

设圆半径r1.5&#xff0c;圆柱高h3&#xff0c;求圆周长&#xff0c;圆面积&#xff0c;圆球表面积&#xff0c;圆球体积&#xff0c;圆柱体积。用scanf输入数据&#xff0c;输出计算结果&#xff0c;输出时要求有文字说明&#xff0c;取小数点后2位数字。 #include <stdio.…

【速速收藏】适用于Linux系统的五个优秀PDF编辑器

PDF (Portable Document Format) 是便携文档格式的缩写&#xff0c;这是一种用于电子共享文档的标准格式&#xff0c;广泛应用于各种文档类型的存储和分发。然而&#xff0c;有时我们可能需要对PDF文档进行更改和编辑。本文将介绍五款在Linux平台上广受欢迎的PDF编辑器。 ​​…

陀螺仪LSM6DSV16X与AI集成(8)----MotionFX库解析空间坐标

陀螺仪LSM6DSV16X与AI集成.8--MotionFX库解析空间坐标 概述视频教学样品申请源码下载开启CRC串口设置开启X-CUBE-MEMS1设置加速度和角速度量程速率选择设置FIFO速率设置FIFO时间戳批处理速率配置过滤链初始化定义MotionFX文件卡尔曼滤波算法主程序执行流程lsm6dsv16x_motion_fx…