当LVM遇到RookCeph

Preface

由于近期Ceph集群经常出现各种OSD的问题,每次都需要人工手动来解决,故简单分享一下RookCeph是如何利用LVM来构建的OSD存储,OSD存储又能为我们做什么。

Why Use It?
  • Ceph OSD Daemon 多副本同步机制,保障高可用、一致性。

ceph集群一般包含多个OSD,一旦发生磁盘故障时,Ceph OSD Daemon会智能的协同其他OSD对损坏的磁盘上的OSD进行恢复操作,与此同时,其内部会重新选主。

  • OSD 扩展灵活、去中心化

相对传统HDFS,摒弃掉了元数据的概念,这是一种去中心化的设计思路,天然的规避了单点故障,基于LVM机制动态扩展,非常灵活、易用。

LVM Architecture

在这里插入图片描述

  • 特性

不会丢失现有的数据的同时,可以对磁盘进行动态管理。它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

  • 工作流程
  1. 基于现有磁盘分区创建物理卷
  2. LVM会管理自物理卷及以上的几层,分别是『物理卷PV』、『卷组VG』、『逻辑卷LV』、 『文件系统FS』。
  3. 最上层创建文件系统在创建时可以选择不同的类型,一般常用ext4。
  4. 最上层的文件系统创建好了以后,就可以利用mount命令挂载目录了。
  • 实用命令
#lvm安装
yum -y install lvm2 
#卸载挂载点
umount /dev/sda5
#创建物理卷
pvcreate /dev/sda5
#检查物理卷
pvscan
Thinking In RookCeph OSD

那么说了这么多有何用?:)
划重点!

这篇文章主要希望与大家分享 RookCeph是如何借助LVM来管理OSD的,进入正题。(以下内容仅限18岁+阅读)

  • Rook-Ceph-Operator

在这里插入图片描述

看到job后,那么我会问,哪里来的 osd provision job ?

  • rook-ceph-osd-prepare-staging-node0-fnl2w

观察这个容器组,启动日志开头就打印这几行:
在这里插入图片描述

于是继续挖掘 provision 容器日志

在这里插入图片描述

发现其容器本身的job就是在做磁盘的一系列检查,或者用"咱们"的话说叫做『自动发现』:)

lsblk、udevadm 这些命令是用来做磁盘检查的,进一步理解,是为了让 Rook 根据一些条件来筛选合适的设备作为OSD

检查操作后,默认流程会进行创建OSD操作。这里由于Rook已经为我们之前创建过了,故没有发现新的OSD。

在这里插入图片描述

在这里插入图片描述

  • Rook相关源码剖析

检查相关

在这里插入图片描述

当状态为 completed 的时候才会真正的去启动 osd

在这里插入图片描述

我们回顾下之前的Operator打印的日志

在这里插入图片描述

Manually Expand OSD Storage
  • VCenter 挂新空盘/资源
  • 加入K8s集群
  • 给新开的VM虚机安装lvm
  • 重启Rook-Operator让其重启自动发现
  • 坐等新OSD加入

Repeat: 安装lvm命令

#lvm安装
yum -y install lvm2 

怎么样,简单吧:)

Reference
https://cloud.tencent.com/developer/article/1703929
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值