ceph使用cephx协议授权客户端、应用程序和守护进程之间的通信,并基于共享密钥
Ceph使用用户帐户有以下几个目的:1.用于Ceph守护进程之间的内部通信2.对于通过librados库访问集群的客户机应用程序3.用于集群管理
安装的时候会创建超级用户账号client.admin,这个账号允许访问任何组件并修改集群配置
如果外部访问,只需要完成rgw的认证即可,rgw会使用client.rgw.demo的账号访问ceph集群
如果是个性化的应用程序,则需要创建该程序的账号来访问ceph集群
Key-ring文件ceph在创建每个账户时,都会为其生成key-ring文件,如果要使用它...
pool是ceph存储对象的逻辑分区
Pool 是逻辑容器:将物理存储资源划分为多个隔离的逻辑存储单元
数据隔离层:不同应用/租户使用不同 Pool(如:虚拟机磁盘、文件系统、备份数据)
策略定义层:每个 Pool 可独立配置存储策略
Ceph客户端访问pool的流程**1.**从ceph配置文件中读取cluster name与ceph mon地址,来连接到集群
**2.**使用cluster map来获取被检索到的pool列表与属性,决定在哪里存放对象
**3.**创建一个特定pool的输入/输出上下文,Ceph集群使用CRUSH算法将这些pool映射到PG,然...
这块知识了解即可,并不是很重要,BlueStore现在替换了FileStore成为了ceph默认的存储后端
存储后端指的是OSD用于在本地磁盘上实际存储和管理数据的底层引擎。它决定了数据如何被写入磁盘、如何管理元数据、如何保证一致性等核心功能。
BlueStore直接将对象存储在原始块设备上,并消除了文件系统层,从而提高了读写操作速度。
BlueStore将对象元数据存储在块数据库block-database中,块数据库将元数据以k/v的形式存储在rocketsDB数据库中
块数据库被放在一个想叫的BlueFS分区上,专门用来保存RocksDB文件
组件
存储内容
推荐设...
MON配置Ceph监视器(MONs)存储并维护client用来查找MON和OSD节点的集群映射。Ceph客户端必须连接到一个MON来检索集群映射,然后才能向osd读写任何数据。
一般要求奇数个
mon角色有这几种:Leader:第一个获得最新版本集群映射的MON。provider:拥有集群映射最新版本的MON,但不是领导者。Requester:没有集群映射最新版本的MON,必须与provider同步才能重新加入quorum
1234567ceph mon state5: 3 mons at {cephadm-1=[v2:192.168.10.141:3300/0,v1:192....
集群配置方式ceph通过以下来源来获得它的配置 :
编译默认值
集中式数据库(推荐)
本地主机上的配置文件(不推荐)
环境变量
命令行参数(推荐)
运行时参数
集群配置文件ceph.conf每个ceph节点都会存储一个本地集群配置文件,默认位置在/etc/ceph/ceph.conf
这是cephadm创建的初始ceph配置文件
示例文件/usr/share/doc/ceph/sample.ceph.conf
全局配置 → 组件级配置 → 实例级配置
下层配置覆盖上层同名配置
123456789101112131415161718192021222324252627282930...
ubuntu20.04nfs-subdir-external-provisioner:v4.0.0
NFS123456789sudo mkdir /data/nfssudo chmod 777 /data/nfssudo apt install -y nfs-kernel-serversudo vim /etc/exports/data/nfs 172.16.100.0/24(rw,sync,no_subtree_check) # 关闭子树检查sudo exportfs -arvsudo systemctl enable nfs-server
供应商123456789101112131...
ceph版本说明
代号
版本号
状态
发布时间
支持截止
重要特性
Octopus
15.2
终止支持
2020-03-20
2022-06
引入 cephadm
Pacific
16.2
LTS 支持中
2021-03-31
2025-03
RBD 即时克隆
Quincy
17.2
LTS 稳定版
2022-04-19
2026-05
增强安全性
Reef
18.2
STS 稳定版
2023-05-31
2024-05
性能优化
Squid
19.2
开发中
-
-
下一代版本
其中红帽 Ceph Storage 5 对应上游 Ceph 的 Octopus...
其实之前已经学过ceph了,但是很多都忘了,现在学红帽ceph,再对原本的笔记做一下精简与补充
ceph关键组件
Monitor(MON)Ceph Monitors是维护集群映射的守护进程。集群映射是五个映射的集合,其中包含关于集群状态及其配置的信息
Monitor需要奇数个Monitor来配置ceph集群,因为会需要仲裁
Ceph Object Storage Devices(OSD)OSD是Ceph存储集群的底层块设备,一般认为一块磁盘就是一个OSD,比如sda sdb sdc。
Ceph客户端和OSD守护进程都使用了CRUSH算法来高效地计算对象位置信息,而不是依赖于中央查找表。
...
核心概念RAID Chunk SizeRAID 组的最小数据块单位(例如 64KB、128KB、256KB)。
作用:决定数据在 RAID 成员磁盘上的分布粒度。
示例:若 Chunk Size=64KB,写入 256KB 数据时,会被拆分为 4 个 64KB 的块,分布在不同的磁盘上。
文件系统 Block Size文件系统的最小存储单元(例如 4KB、8KB)。
作用:影响文件系统读写的最小单位,需与 RAID Chunk Size 对齐,避免跨磁盘读写碎片。
步幅Stride文件系统块连续分布在 同一磁盘上的数量。计算方式:步幅=RAID Chunk Size&...
主要是对另一些监控命令做一下知识的补充
findmntfindmnt 是 Linux 中用于查找挂载文件系统信息的实用工具,属于 util-linux 软件包的一部分。它提供了一种灵活且结构化的方式来查询 /proc/self/mountinfo 或 /etc/fstab 中的挂载点信息
参数
含义
-l / –list
以列表格式输出(默认模式)
-t <类型>
仅显示指定文件系统类型的挂载点(如 ext4, xfs, nfs, tmpfs 等)
-n / –noheadings
不显...