池pool
使用ceph存储优先定义池。

逻辑分区,存储对象ceph中pool都包含一定数量的pg。定义crush规则,不同的池,定义不同的规则
有一定数量的pg ,池中定义规则,逻辑虚拟概念。规则目的,使数据尽可能分散在不同的osd中分散存储。可以定义多个池,池中规则不一致,应对不同应用定义不同的池。
pg,避免不必要的数据迁移。 ,
定义副本数量,和crush规则,影响pg,是pg和多个osd 关联。复制池,数据一致。保证数据可控性,纠删码。
pool 是hash 算法的输入,得到pg,隐射到osd中的对象当中,
客户写入对象时,client hash (得到对象和pool) >>>pg object >>>>pg
创建pool 时定义pg数量,池创建成功,pg 和池所定义的规则结合crush 规则。pg >>>>(osd1,2,3)
pg(osd) 被mon维护,一个pg map信息表

池类型,
复制,一个对象,保持多个副本数量,在吃中定义。默认不定义,为配置文件中定义的来。

纠删

池创建
ceph osd pool create pool-name 128 128 #pg-----osd crush规则

查看池
ceph osd lspools
ceph osd pool ls detail

cepf df
ceph osd pool stats pool-name
ceph pg dump 查看pg 的隐射关系

池创建后, 对应客户端应用不同 ,启用应用类型,rdb rgw cephfs
ceph osd pool application enable pool-name rdb

设置配额:
ceph osd pool set-quota pool_name max_objects 1000000 #最大对象
ceph osd pool set-quota pool_name max_bytes 102400 #最大字节数
重命名:

ceph osd pool rename pool_name now_pool_name

快照:
ceph osd pool mksnap pool_name pool_name_snap
ceph osd pool rmsnap pool_name snap_name
使用快照:
rados -p pool_name -s pool_name_snap get object-name file

池参数:
ceph osd pool get pool_name all
更改参数
ceph osd pool set pool_name 参数

namespace-object
rados -p pool_name -N system put srv /etc/fstab
rados -p pool_name -N system ls
上传对象到池中
rados -p mypool put object1 test.txt
下载对象到本地
rados -p mypool get object1 /object1.txt
size crush pg数量

配置客户端访问方式:

文章作者: emporer
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Emporer-Linux
ceph ceph
喜欢就支持一下吧