Cephfs探索之旅第一天

文章地址:http://localhost:1313/post/storage/1_2023_02_13_day1_Cephfs/

https://github.com/watchpoints/ceph

https://docs.ceph.com/en/quincy/

icfsfs:?

OSD:?

MDS:Metadata Server

子树划?

当Windows是 Client,CentOS是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。samba服务程序已经成为在Linux系统和Windows系统之间共享文件的最佳选择

资料

Ceph 撸源码系列(一)

  • Ceph 撸源码系列(一):Ceph开源项目源代码的关键目录介绍

https://blog.csdn.net/don_chiang709/article/details/99289441

  • Ceph 撸源码系列(二):Ceph源代码里的那些锁 std::mutex(2 of 3)
  • Ceph 撸源码系列(三):Ceph OSDC源码分析 (1 of 2)

Ceph OSDC源码分析(上篇)

  1. Ceph OSD定义
1
2
3
4
5
6
7
8
9
Ceph OSD:OSD的英文全称是Object Storage Device,
它的主要功能是存储数据、复制数据、平衡数据、恢复数据等,
与其它OSD间进行心跳检查等,并将一些变化情况上报给Ceph Monitor。一
般情况下一块硬盘对应一个OSD,由OSD来对硬盘存储进行管理,
当然一个分区也可以成为一个OSD。

https://github.com/lidaohang/ceph_study/blob/master/CephFS%E4%BB%8B%E7%BB%8D%E5%8F%8A%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB.md

osd:Object storage cluster,对象存储集群(将数据和元数据作为对象存储,执行其他关键职能)
  1. RBD:RBD全称RADOS block device,是Ceph对外提供的块设备服务。

  2. RADOS

    1
    2
    3
    4
    5
    6
    7
    8
    
    
    
    RADOS自身是一个完整的分布式对象存储系统,它具有可靠、智能、分布式等特性,Ceph的高可靠、高可拓展、高性能、高自动化都是由这一层来提供的,用户数据的存储最终也都是通过这一层来进行存储的,RADOS可以说就是Ceph的核心。
    
    https://github.com/lidaohang/ceph_study/blob/master/CephFS%E4%BB%8B%E7%BB%8D%E5%8F%8A%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB.md
    
    Ceph基础知识和基础架构认识
    https://github.com/lidaohang/ceph_study/blob/master/CephFS%E4%BB%8B%E7%BB%8D%E5%8F%8A%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB.md
    

三、Ceph OSDC源码分析(下篇)

  1. Ceph 撸源码系列(三):Ceph OSDC源码分析 (2 of 2)
  2. 【ceph】CEPH源码解析:读写流程
  3. Ceph学习——Librados与Osdc实现源码解析

四、MDS

Ceph是一个去中心化的分布式存储系统, 提供较好的性能、可靠性和可扩展性。

Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区

  1. 13.1 MDS启动阶段分析

    https://juejin.cn/post/6844903760745988109

论文

  • [译] [论文] Ceph: A Scalable, High-Performance Distributed File System (OSDI 2006)
  1. 为什么说 Ceph存储集群至少需要一个Ceph Monitor和两个OSD守护进程。而运行Ceph文件系统客户端时,则必须要有元数据服务器(Metadata Server)?

  2. 干货分享丨闹心的large omap objects

五、存储引擎实

  1. 解析Ceph: 存储引擎实现之一–FileStore
  1. Ceph学习笔记(二):RADOS架构

Cephfs探索之旅第二天

一、搭建环境

  1. centos8部署一个单点ceph
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
https://docs.ceph.com/en/pacific/cephadm/install/#install-cephadm
https://blog.csdn.net/Kangyucheng/article/details/125870998

cephadm
dnf install --assumeyes centos-release-ceph-pacific.noarch
dnf install --assumeyes cephadm
cephadm bootstrap --mon-ip 192.168.192.163

Ceph Dashboard is now available at:

             URL: https://10.141.162.38:8443/
            User: admin
        Password: 5cu0md9oet


Enabling client.admin keyring and conf on hosts with "admin" label
You can access the Ceph CLI with:

  sudo /usr/sbin/cephadm shell --fsid d150c3bc-b40f-11ed-ba4f-9cc2c42aed5b -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring

Please consider enabling telemetry to help improve Ceph:

        ceph telemetry on

https://10.141.162.25:8443/



ceph orch apply osd --all-available-devices
ceph orch apply的默认行为导致 cephadm 不断协调。这意味着一旦检测到新驱动器,cephadm 就会创建 OSD

ceph orch apply osd --all-available-devices --unmanaged=true
禁用在可用设备上自动创建 OSD


mon Storage45 is low on available space

the monitor is default installed on the root partition (pve-root).
cephadm shell ceph -s

cephadm install ceph-common

问题:  Failed to apply 1 service(s): osd.all-available-devices



六、创建cephfs

docker 安装

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
cephadm需要容器支持(podman或docker)和Python 3

centos8默认使用podman代替docker
sudo yum -y install podman
podman -v

使用cephadm安装ceph octopus
https://cloud.tencent.com/developer/article/1761334

如果满足以下所有_条件_,则存储设备被视为可用:

cephadm shell  ceph orch device ls

设备必须没有分区。
设备不得具有任何 LVM 状态。
不得安装设备。
设备不能包含文件系统。
设备不得包含 Ceph BlueStore OSD。
设备必须大于 5 GB


RedHat/CentOS8【Podman】安装和配置
https://www.jianshu.com/p/d69017fac5dc

[root@host ~]# dnf install podman podman-plugins cockpit cockpit-podman
[root@host ~]# systemctl enable --now podman
[root@host ~]# systemctl enable --now cockpit.socket

问题: Failed to apply 1 service(s): osd.all-available-devices

  1. 部署osd
1
2
3
4

cephadm shell  ceph orch daemon add osd kyc:/data/kv/1
cephadm shell  ceph orch daemon add osd kyc:/data/kv/2
cephadm shell  ceph orch daemon add osd kyc:/data/kv/3
  • ceph单节点安装部署

1
yum -y install ceph-deploy epel-release python-pip ceph ceph-radosgw chrony 

Cephfs探索之旅第三天

一. ceph源码解读

https://www.jianshu.com/u/5c59bd9b10db