ceph-pool
池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数量
配置客户端访问方式: