LIBRADOS、RADOSGW、RBD 和 Ceph FS 统称为 Ceph 客户端接口。RADOSGW、RBD、Ceph FS 是基于 LIBRADOS 提供的多编程语言接口开发的。
1.1、一个 ceph 集群的组成部分:
若干的 Ceph OSD(对象存储守护程序)
至少需要一个 Ceph Monitors 监视器(1,3,5,7...)
两个或以上的 Ceph 管理器 managers,运行 Ceph 文件系统客户端时
还需要高可用的 Ceph Metadata Server(文件系统元数据服务器)。
RADOS cluster:由多台 host 存储服务器组成的 ceph 集群
OSD(Object Storage Daemon):每台存储服务器的磁盘组成的存储空间
Mon(Monitor):ceph 的监视器,维护 OSD 和 PG 的集群状态,一个 ceph 集群至少要有一个mon,可以是一三五七等等这样的奇数个。
Mgr(Manager):负责跟踪运行时指标和 Ceph 集群的当前状态,包括存储利用率,当前性能指标和系统负载等。
(1) Monitor(ceph-mon) ceph 监视器:
在一个主机上运行的一个守护进程,用于维护集群状态映射(maintains maps of thecluster state),比如 ceph 集群中有多少存储池、每个存储池有多少 PG 以及存储池和 PG的映射关系等, monitor map, manager map, the OSD map, the MDS map, and the CRUSH map,这些映射是 Ceph 守护程序相互协调所需的关键群集状态,此外监视器还负责管理守护程序和客户端之间的身份验证(认证使用 cephX 协议)。通常至少需要三个监视器才能实现冗余和高可用性。
(2) Managers(ceph-mgr)的功能:
在一个主机上运行的一个守护进程,Ceph Manager 守护程序(ceph-mgr)负责跟踪运行时指标和 Ceph 集群的当前状态,包括存储利用率,当前性能指标和系统负载。CephManager 守护程序还托管基于 python 的模块来管理和公开 Ceph 集群信息,包括基于 Web的 Ceph 仪表板和 REST API。高可用性通常至少需要两个管理器。
(3) Ceph OSDs(对象存储守护程序 ceph-osd):
提供存储数据,操作系统上的一个磁盘就是一个 OSD 守护程序,OSD 用于处理 ceph集群数据复制,恢复,重新平衡,并通过检查其他 Ceph OSD 守护程序的心跳来向 Ceph监视器和管理器提供一些监视信息。通常至少需要 3 个 Ceph OSD 才能实现冗余和高可用性。
(4) MDS(ceph 元数据服务器 ceph-mds):
代表 ceph 文件系统(NFS/CIFS)存储元数据,(即 Ceph 块设备和 Ceph 对象存储不使用MDS)
(5) Ceph 的管理节点
1.ceph 的常用管理接口是一组命令行工具程序,例如 rados、ceph、rbd 等命令,ceph 管理员可以从某个特定的 ceph-mon 节点执行管理操作
2.推荐使用部署专用的管理节点对 ceph 进行配置管理、升级与后期维护,方便后期权限管理,管理节点的权限只对管理人员开放,可以避免一些不必要的误操作的发生。
(6) ceph 术语
http://docs.ceph.org.cn/glossary/
2、ceph 逻辑组织架构
Pool:存储池、分区,存储池的大小取决于底层的存储空间。
PG(placement group):一个 pool 内部可以有多个 PG 存在,pool 和 PG 都是抽象的逻辑概念,一个 pool 中有多少个 PG 可以通过公式计算。
OSD(Object Storage Daemon,对象存储设备):每一块磁盘都是一个 osd,一个主机由一个或多个 osd 组成.
ceph 集群部署好之后,要先创建存储池才能向 ceph 写入数据,文件在向 ceph 保存之前要先进行一致性 hash 计算,计算后会把文件保存在某个对应的 PG 的,此文件一定属于某个pool 的一个 PG,在通过 PG 保存在 OSD 上。
数据对象在写到主 OSD 之后再同步对从 OSD 以实现数据的高可用。
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230103163307458-1978655120.png)
注:存储文件过程:
第一步: 计算文件到对象的映射:
计算文件到对象的映射,假如 file 为客户端要读写的文件,得到 oid(object id) = ino + ono
ino:inode number (INO),File 的元数据序列号,File 的唯一 id。
ono:object number (ONO),File 切分产生的某个 object 的序号,默认以 4M 切分一个块大小。
第二步:通过 hash 算法计算出文件对应的 pool 中的 PG:
通过一致性 HASH 计算 Object 到 PG, Object -> PG 映射 hash(oid) & mask-> pgid
第三步: 通过 CRUSH 把对象映射到 PG 中的 OSD
通过 CRUSH 算法计算 PG 到 OSD,PG -> OSD 映射:
[CRUSH(pgid)->(osd1,osd2,osd3)]
在线进制转换:https://tool.oschina.net/hexconvert
64-1=63(0~63=累计 64 个),
1100100=100(对象的 hash 值) 100&64=36,200&64=8
0111111=63(PG 总数)
--------------------------
0100100=36(与运算结果)
第四步:PG 中的主 OSD 将对象写入到硬盘
第五步: 主 OSD 将数据同步给备份 OSD,并等待备份 OSD 返回确认
第六步: 主 OSD 将写入完成返回给客户端
二、部署 ceph 集群
1、系统环境初始化
时间同步(各服务器时间必须一致)
关闭 selinux 和防火墙(如果是 Centos)
配置主机域名解析或通过 DNS 解析
2、部署 RADOS 集群:
https://mirrors.aliyun.com/ceph/ #阿里云镜像仓库
http://mirrors.163.com/ceph/ #网易镜像仓库
https://mirrors.tuna.tsinghua.edu.cn/ceph/ #清华大学镜像源
2.1、仓库准备
各节点配置 ceph yum 仓库:
导入 key 文件:
#支持 https 镜像仓库源:
apt install -y apt-transport-https ca-certificates curl software-properties-common
导入 key:
wget -q -O- 'https://mirrors.tuna.tsinghua.edu.cn/ceph/keys/release.asc' | sudo apt-key add -
2.2、添加ceph镜像源(所有节点)
focal是ubuntu20.04版本,其它版本需要换
# echo "deb https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-pacific focal main" >> /etc/apt/sources.list
apt update
2.3、创建 ceph 集群部署用户 cephadmin:
推荐使用指定的普通用户部署和运行 ceph 集群,普通用户只要能以非交互方式执行 sudo命令执行一些特权命令即可,新版的 ceph-deploy 可以指定包含 root 的在内只要可以执行 sudo 命令的用户,不过仍然推荐使用普通用户,ceph 集群安装完成后会自动创建ceph 用户(ceph 集群默认会使用 ceph 用户运行各服务进程,如 ceph-osd 等),因此推荐使用除了 ceph 用户之外的比如 cephuser、cephadmin 这样的普通用户去部署和 管理ceph 集群。
cephadmin 仅用于通过 ceph-deploy 部署和管理 ceph 集群的时候使用,比如首次初始化集群和部署集群、添加节点、删除节点等,ceph 集群在 node 节点、mgr 等节点会使用ceph 用户启动服务进程。
在包含 ceph-deploy 节点的存储节点、mon 节点和 mgr 节点等创建 cephadmin 用户。
groupadd -r -g 2088 cephadmin && useradd -r -m -s /bin/bash -u 2088 -g 2088 cephadmin && echo cephadmin:123456 | chpasswd
各服务器允许 cephadmin 用户以 sudo 执行特权命令:
echo "cephadmin ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
配置免秘钥登录:
在 ceph-deploy 节点配置秘钥分发,允许 cephadmin 用户以非交互的方式登录到各 cephnode/mon/mgr 节点进行集群部署及管理操作,即在 ceph-deploy 节点生成秘钥对,然后分发公钥到各被管理节点:
su - cephadmin
ssh-keygen
ssh-copy-id cephadmin@10.247.8.201 ......
配置主机名解析:
10.247.8.201 ceph-deploy.example.local ceph-deploy
10.247.8.202 ceph-mon1.example.local ceph-mon1
10.247.8.203 ceph-mon2.example.local ceph-mon2
10.247.8.204 ceph-mon3.example.local ceph-mon3
10.247.8.205 ceph-mgr1.example.local ceph-mgr1
10.247.8.206 ceph-mgr2.example.local ceph-mgr2
10.247.8.207 ceph-node1.example.local ceph-node1
10.247.8.208 ceph-node2.example.local ceph-node2
10.247.8.209 ceph-node3.example.local ceph-node3
10.247.8.210 ceph-node4.example.local ceph-node4
2.4、安装 ceph 部署工具:
在 ceph 部署服务器安装部署工具 ceph-deploy
Ubuntu:
Ubuntu 20.04已经无法通过apt来安装python2的pip2了,只能安装python3的pip。
sudo apt install python2
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
sudo python2 get-pip.py
python2 -m pip install ceph-deploy
2.5、初始化 mon 节点:
su - cephadmin
mkdir ceph-cluster
cd ceph-cluster
Ubuntu 各服务器需要单独安装 Python2:
sudo apt install python2.7 -y
sudo ln -sv /usr/bin/python2.7 /usr/bin/python2
ceph-deploy new --cluster-network 172.25.0.0/24 --public-network 10.247.8.0/24 ceph-mon1.example.local ceph-mon2.example.local ceph-mon3.example.local
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230104195518881-1249059423.png)
2.6、安装 ceph-mon 服务:
在各 mon 节点按照组件 ceph-mon,并通初始化 mon 节点,mon 节点 HA 还可以后期横向扩容。
Ubuntu 安装 ceph-mon:
apt-cache madison ceph-mon
apt install ceph-mon
ceph 集群添加 ceph-mon 服务(ceph-deploy)
ceph-deploy mon create-initial
2.7、验证 mon 节点:
验证在 mon 定节点已经自动安装并启动了 ceph-mon 服务,并且后期在 ceph-deploy 节点初始化目录会生成一些 bootstrap ceph mds/mgr/osd/rgw 等服务的 keyring 认证文件,这些初始化文件拥有对 ceph 集群的最高权限,所以一定要保存好。
ps -ef | grep ceph-mon
2.8、分发 admin 秘钥:
在 ceph-deploy 节点把配置文件和 admin 密钥拷贝至 Ceph 集群需要执行 ceph 管理命令的节点,从而不需要后期通过 ceph 命令对 ceph 集群进行管理配置的时候每次都需要指定ceph-mon 节点地址和 ceph.client.admin.keyring 文件,另外各 ceph-mon 节点也需要同步ceph 的集群配置文件与认证文件。
ceph-deploy admin ceph-node1 ceph-node2 ceph-node3 ceph-node4
如果在 ceph-deploy 节点管理集群:
sudo apt install ceph-common #先安装 ceph 的公共组件(管理的节点都要装)
ceph-deploy admin ceph-deploy
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230104211033863-108258892.png)
认证文件的属主和属组为了安全考虑,默认设置为了 root 用户和 root 组,如果需要 ceph用户也能执行 ceph 命令,那么就需要对 ceph 用户进行授权,
setfacl -m u:cephadmin:rw /etc/ceph/ceph.client.admin.keyring
2.9、部署 ceph-mgr 节点:
mgr 节点需要读取 ceph 的配置文件,即/etc/ceph 目录中的配置文件
#初始化 ceph-mgr 节点:(mgr节点上)
apt install ceph-mgr
ceph-deploy mgr create ceph-mgr1
验证 ceph-mgr 节点:
ps -ef | grep ceph
出现如图问题
使用这个命令:ceph config set mon auth_allow_insecure_global_id_reclaim false
2.10、初始化 node 节点:
此步骤必须执行,否 ceph 集群的后续安装步骤会报错。
ceph-deploy install --no-adjust-repos --nogpgcheck ceph-node1 ceph-node2 ceph-node3 ceph-node4
--no-adjust-repos #不修改已有的 apt 仓库源(默认会使用官方仓库)
--nogpgcheck #不进行校验
此 过 程 会 在 指 定 的 ceph node 节 点 按 照 串 行 的 方 式 逐 个 服 务 器 安 装 ceph-baseceph-common 等组件包:
列出 ceph node 节点磁盘:
ceph-deploy disk list ceph-node1 #列出远端存储 node 节点的磁盘信息
使用 ceph-deploy disk zap 擦除各 ceph node 的 ceph 数据磁盘:
ceph-node1 ceph-node2 ceph-node3 ceph-node4的存储节点磁盘擦除过程如下:
ceph-deploy disk zap ceph-node1 /dev/vda
ceph-deploy disk zap ceph-node1 /dev/vdb
ceph-deploy disk zap ceph-node1 /dev/vdd
ceph-deploy disk zap ceph-node1 /dev/vde
ceph-deploy disk zap ceph-node2 /dev/vdb
ceph-deploy disk zap ceph-node2 /dev/vdc
ceph-deploy disk zap ceph-node2 /dev/vdd
ceph-deploy disk zap ceph-node2 /dev/vde
ceph-deploy disk zap ceph-node3 /dev/vda
ceph-deploy disk zap ceph-node3 /dev/vdb
ceph-deploy disk zap ceph-node3 /dev/vdd
ceph-deploy disk zap ceph-node3 /dev/vde
ceph-deploy disk zap ceph-node4 /dev/vda
ceph-deploy disk zap ceph-node4 /dev/vdb
ceph-deploy disk zap ceph-node4 /dev/vdd
ceph-deploy disk zap ceph-node4 /dev/vde
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230104214901231-388762457.png)
2.11、添加 OSD:
数据分类保存方式:
Data:即 ceph 保存的对象数据
Block: rocks DB 数据即元数据
block-wal:数据库的 wal 日志
ceph-deploy osd create ceph-node1 --data /dev/vdb
ceph-deploy osd create ceph-node1 --data /dev/vdd
ceph-deploy osd create ceph-node1 --data /dev/vde
ceph-deploy osd create ceph-node2 --data /dev/vdb
ceph-deploy osd create ceph-node2 --data /dev/vdc
ceph-deploy osd create ceph-node2 --data /dev/vdd
ceph-deploy osd create ceph-node2 --data /dev/vde
ceph-deploy osd create ceph-node3 --data /dev/vda
ceph-deploy osd create ceph-node3 --data /dev/vdb
ceph-deploy osd create ceph-node3 --data /dev/vdd
ceph-deploy osd create ceph-node3 --data /dev/vde
ceph-deploy osd create ceph-node4 --data /dev/vda
ceph-deploy osd create ceph-node4 --data /dev/vdb
ceph-deploy osd create ceph-node4 --data /dev/vdd
ceph-deploy osd create ceph-node4 --data /dev/vde
使用ceph -s查看添加OSD之后集群状态
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230113165901296-2129934565.png)
2.12、删除OSD操作
ceph osd tree查看down的osd id
1. 停用设备:ceph osd out {osd-num}
2. 停止进程:sudo systemctl stop ceph-osd@{osd-num} 有可能显示未加载如下图操作步骤
3. 移除设备:ceph osd purge {id} --yes-i-really-mean-it
删除后:
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230112162254394-699935101.png)
3、块存储、文件存储及对象存储的使用场景
块存储:
RBD(RADOS Block Devices)即为块存储设备,RBD 可以为 KVM、vmware 等虚拟化技术和云服务(如 OpenStack、kubernetes)提供高性能和无限可扩展性的存储后端,客户端基于 librbd 库即可将 RADOS 存储集群用作块设备,不过,用于 rbd 的存储池需要事先启用rbd 功能并进行初始化。
块存储不像文件存储,依赖路径,它只负责数据的读取和写入,可以实现快速检索,因此效率很高。适用于对响应时间要求高的系统,例如
数据库。
ceph radosgw(RGW)对象存储网关:
RGW 提供的是 REST 风格的 API 接口,客户端通过 http 与其进行交互,完成数据的增删改查等管理操作。
radosgw 用在需要使用 RESTful API 接口访问 ceph 数据的场合,因此在使用 RBD 即块存储得场合或者使用 cephFS 的场合可以不用启用 radosgw 功能。
目前国内有大量的云服务提供商,他们把对象存储当作云存储在卖。他们通常会把存储业务分为3个等级,即标准型、低频型、归档型。对应的应用场景如下:
标准类型:移动应用 | 大型网站 | 图片分享 | 热点音视频
低频访问类型:移动设备 | 应用与企业数据备份 | 监控数据 | 网盘应用
归档类型:各种长期保存的档案数据 | 医疗影像 | 影视素材
部署 radosgw 服务:
apt-cache madison radosgw
apt install radosgw=16.2.10-1focal
ceph-deploy --overwrite-conf rgw create ceph-mgr1
验证 radosgw 服务:
验证 ceph 状态
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230114211451260-1387488506.png)
验证 radosgw 存储池
初始化完成 radosgw 之后,会初始化默认的存储池如下:
Ceph-FS 文件存储
https://docs.ceph.com/en/latest/cephfs/
Ceph FS 即 ceph filesystem,可以实现文件系统共享功能,客户端通过 ceph 协议挂载并使用 ceph 集群作为数据存储服务器。Ceph FS 需要运行 Meta Data Services(MDS)服务,其守护进程为 ceph-mds,ceph-mds进程管理与 cephFS 上存储的文件相关的元数据,并协调对 ceph 存储集群的访问。
文件存储是基于文件级别的存储,它是把一个文件放在一个硬盘上,即使文件太大拆分时,也放在同一个硬盘上。适用场景:文件较大,总读取带宽要求较高;多个文件同时写入;长时间存放的文件。
4、基于 ceph 块存储实现块设备挂载及使用
4.1、创建 RBD
ceph osd pool create myrbd1 64 64 #创建存储池,指定 pg 和 pgp 的数量,pgp 是对存在于 pg 的数据进行组合存储,pgp 通常等于 pg 的值
ceph osd pool application enable myrbd1 rbd #对存储池启用 RBD 功能
rbd pool init -p myrbd1 #通过 RBD 命令对存储池初始化
4. 2、创建并验证 img
不过,rbd 存储池并不能直接用于块设备,而是需要事先在其中按需创建映像(image),并把映像文件作为块设备使用,rbd 命令可用于创建、查看及删除块设备相在的映像(image),以及克隆映像、创建快照、将映像回滚到快照和查看快照等管理操作,例如,下面的命令能够创建一个名为 myimg1 的映像:
rbd create myimg1 --size 5G --pool myrbd1
rbd create myimg2 --size 3G --pool myrbd1 --image-format 2 --image-feature layering
#后续步骤会使用 myimg2 镜像 ,但是由于 centos 系统内核较低不支持更多 image-feature特性、因此无法挂载使用,所以只开启部分特性。除了 layering 其他特性需要高版本内核支持
rbd ls --pool myrbd1 #列出指定的 pool 中所有的 img
rbd --image myimg1 --pool myrbd1 info #查看指定 rdb 的信息
4.3、客户端使用块存储
查看当前 ceph 状态 ceph df
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230113191558570-593757481.png)
centos 系统客户端配置 yum 源及 ceph 认证文件
配置 yum 源:
# yum install epel-release
# yum install https://mirrors.aliyun.com/ceph/rpm-octopus/el7/noarch/ceph-release-1-1.el7.noarch.rpm -y
# yum install ceph-common
从部署服务器同步认证文件:
scp ceph.conf ceph.client.admin.keyring root@10.247.8.190:/etc/ceph/
客户端映射 img
rbd -p myrbd1 map myimg2
rbd -p myrbd1 map myimg1
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230113222005303-1107354975.png)
客户端格式化磁盘并挂载使用
客户端验证
dd if=/dev/zero of=/data/ceph-test-file bs=1MB count=300
ll -h /data/ceph-test-file
rm -rf /data/ceph-test-file
删除完成的数据只是标记为已经被删除,但是不会从块存储立即清空,因此在删除完成后使用 ceph df 查看并没有回收空间:
但是后期可以使用此空间,如果需要立即在系统层回收空间,需要执行以下命令:
fstrim -v /data #/data 为挂载点,fstrim 命令来自于英文词组“filesystem trim”的缩写,其功能是回收文件系统中未使用的块资源。
或配置挂载选项:
mount -t xfs -o discard /dev/rbd0 /data/ #主要用于 SSD,立即触发闲置的块回收
5、基于cephFS实现多主机数据共享
https://docs.ceph.com/en/latest/cephfs/
Ceph FS 即 ceph filesystem,可以实现文件系统共享功能,客户端通过 ceph 协议挂载并使用 ceph 集群作为数据存储服务器。Ceph FS 需要运行 Meta Data Services(MDS)服务,其守护进程为 ceph-mds,ceph-mds进程管理与 cephFS 上存储的文件相关的元数据,并协调对 ceph 存储集群的访问。
如下图:
数据的元数据保存在单独的一个存储池 cephfs-metadata(名字可自定义),因此元数据也是基于 3 副本提高可用性,另外使用专用的 MDS 服务器在内存缓存元数据信息以提高对客户端的读写响应性能。
5.1、部署 MDS 服务:
在指定的 ceph-mds 服务器部署 ceph-mds 服务,可以和其它服务器混用(如 ceph-mon、ceph-mgr)
Ubuntu:
root@ceph-mgr1:~# apt-cache madison ceph-mds
root@ceph-mgr1:~# apt install ceph-mds=16.2.10-1focal
Centos:
[root@ceph-mgr1 ~]# yum install ceph-mds -y
部署:
[cephadmin@ceph-deploy ceph-cluster]$ ceph-deploy mds create ceph-mgr1
MDS 服务目前还无法正常使用,需要为 MDS 创建存储池用于保存 MDS 的数据。
cephadmin@ceph-deploy:~/ceph-cluster$ ceph mds stat
1 up:standby
5.3、创建 CephFS metadata 和 data 存储池
使用 CephFS 之前需要事先于集群中创建一个文件系统,并为其分别指定元数据和数据相关的存储池,如下命令将创建名为 mycephfs 的文件系统,它使用 cephfs-metadata 作为元数据存储池,使用 cephfs-data 为数据存储池:
ceph osd pool create cephfs-metadata 32 32 #pool 'cephfs-metadata' created #保存 metadata 的 pool
ceph osd pool create cephfs-data 64 64 #pool 'cephfs-data' created #保存数据的 pool
ceph -s #当前 ceph 状态
5.4、创建 cephFS 并验证
ceph fs new mycephfs cephfs-metadata cephfs-data
ceph fs ls
ceph fs status mycephfs #查看指定 cephFS 状态
5.5、验证 cepfFS 服务状态:
# mycephfs:1 {0=ceph-mgr1=up:active} #cephfs 状态现在已经转变为活动状态
5.6、客户端挂载 cephFS:
在 ceph 的客户端测试 cephfs 的挂载,需要指定 mon 节点的 6789 端口:
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230114154001457-981729982.png)
mount -t ceph 10.247.8.202:6789:/ /data -o name=admin,secret=AQAJd7VjxAc1KBAALWtHJZ7WcdZ8MVo8Ov2aXQ==
验证挂载点
cp /var/log/syslog /mnt/ #验证数据
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230114202750406-1300739640.png)
测试数据写入:
dd if=/dev/zero of=/mnt/ceph-fs-file bs=4M count=25
验证 ceph 存储池数据空间:
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230114203801145-656439902.png)
不同服务器修改共享数据,都会自动更新
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230114204235393-1538647767.png)
删除数据
rm -rf /data/ceph-fs-file
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230114204720817-45453314.png)
6、命令总结:
只显示存储池:
ceph osd pool ls
列出存储池并显示 id
ceph osd lspools
查看 pg 状态
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230114205316937-820695181.png)
查看指定 pool 或所有的 pool 的状态
ceph osd pool stats mypool
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230114205459357-1224691319.png)
查看集群存储状态
![](https://img2023.cnblogs.com/blog/2199868/202301/2199868-20230114205603293-1551710395.png)
查看集群存储状态详情
ceph df detail
查看 osd 状态
ceph osd stat
"16 osds: 16 up (since 2d), 16 in (since 2d); epoch: e357"
显示 OSD 和节点的对应关系
ceph osd tree
查看 mon 节点状态:
ceph mon stat
查看 mon 节点的 dump 信息