文章目录
1. ceph存储逻辑图
2. pool
Ceph集群具有POOLS,池是用于存储对象的逻辑组。这些池由PG(放置组)组成。在创建池时,我们必须提供池将包含的
pg数量
副本数量(通常采用默认值,如果未指定其他值)
2.1 pool的常见操作
# 查看池
ceph osd lspools
# 查看池的pg数量
ceph osd pool get {{存储池名}} pg_num
# 查看池的副本数
ceph osd dump | grep -i {{存储池名}}
# 修改池的副本数
ceph osd pool set {{存储池名}} size {{新的副本数}}
ceph osd pool set {{存储池名}} min_size {{新的副本数}}
# 将对象放入存储池
dd if=/dev/zero of=50M.file bs=1M count=50
rados -p {{存储池名}} put 50M.file 50M.file
# 查看存储池对象
rados -p {{存储池名}} ls
3. PG( Placement Group ),存放在POOL上
Ceph集群链接 objects - > PG。这些包含对象的PG分布在多个OSD上,提高了可靠性。
3.1 PG计算
How much PG you need for a POOL :
(OSDs * 100)
Total PGs = ------------
Replicas
3.2 官方计算器
https://ceph.com/pgcalc/
4. Object,存放在PG上,最小的数据存储单元
对象是ceph集群中最小的数据存储单元,Every&Everything以对象的形式存储,这就是为什么ceph集群也称为对象存储集群。对象映射到PG,这些对象/它们的副本总是在不同的OSD上传播。这就是ceph的设计方式。
4.1 定位对象的PG
ceph osd map pool-42dd3e0b83ae42ef8d88189e8a7dd262 50M.file
[root@test ~]# ceph osd map pool-42dd3e0b83ae42ef8d88189e8a7dd262 50M.file
osdmap e106 pool 'pool-42dd3e0b83ae42ef8d88189e8a7dd262' (1) object '50M.file' -> pg 1.aa8b1678 (1.78) -> up ([1,4], p1) acting ([1,4], p1)
# osdmap 版本:e106
# pool name :'pool-42dd3e0b83ae42ef8d88189e8a7dd262'
# pool id : (1)
# object name :'50M.file'
# pg 版本?:1.aa8b1678
# pg id: (1.78)
# osd id : osd.1 osd.2 副本数量为2,p1是对象存储的定义?
这边文章是从官方文章转译过来,觉得图不错,后续将介绍ceph常见命令 ceph-02-常见命令,如果我不偷懒的话