
打印pool列表
ceph osd lspools
创建pool
通常在创建pool之前,需要覆盖默认的pg_num,官方推荐:
若少于5个OSD, 设置pg_num为128。
5~10个OSD,设置pg_num为512。
10~50个OSD,设置pg_num为4096。
超过50个OSD,可以参考pgcalc计算。
本文的测试环境只有2个OSD,因此设置pg_num为128。
osd pool default pg num = 128
osd pool default pgp num = 128
创建pool语法:
ceph osd pool create {pool-name} {pg-num} [{pgp-num}] [replicated] \
[crush-ruleset-name] [expected-num-objects]
ceph osd pool create {pool-name} {pg-num} {pgp-num} erasure \
[erasure-code-profile] [crush-ruleset-name] [expected_num_objects]
创建一个test-pool,pg_num为128:
ceph osd pool create test-pool 128
设置pool配额
支持object个数配额以及容量大小配额。
设置允许最大object数量为100:
ceph osd pool set-quota test-pool max_objects 100
设置允许容量限制为10GB:
ceph osd pool set-quota test-pool max_bytes $((10 * 1024 * 1024 * 1024))
取消配额限制只需要把对应值设为0即可。
重命名pool
ceph osd poolrename test-pool test-pool-new
删除pool
删除一个pool会同时清空pool的所有数据,因此非常危险。(和rm -rf /类似)。因此删除pool时ceph要求必须输入两次pool名称,同时加上--yes-i-really-really-mean-it选项。
ceph osd pool delete test-pool test-pool --yes-i-really-really-mean-it
查看pool状态信息
rados df
创建快照
ceph支持对整个pool创建快照(和Openstack Cinder一致性组区别?),作用于这个pool的所有对象。但注意ceph有两种pool模式:
Pool Snapshot,我们即将使用的模式。创建一个新的pool时,默认也是这种模式。
Self Managed Snapsoht,用户管理的snapshot,这个用户指的是librbd,也就是说,如果在pool创建了rbd实例就自动转化为这种模式。
这两种模式是相互排斥,只能使用其中一个。因此,如果pool中曾经创建了rbd对象(即使当前删除了所有的image实例)就不能再对这个pool做快照了。反之,如果对一个pool做了快照,就不能创建rbd image了。
ceph osd pool mksnap test-pool test-pool-snapshot
删除快照
ceph osd pool rmsnap test-pool test-pool-snapshot
设置pool
通过以下语法设置pool的元数据:
ceph osd pool set {pool-name} {key} {value}
比如设置pool的冗余副本数量为3:
ceph osd pool set test-pool size 3
其他配置项参考文档。
通过get *** 作能够获取pool的配置值,比如获取当前pg_num:
ceph osd pool get test-pool pg_num
获取当前副本数:
ceph osd pool get test-pool size
已搭建好的ceph cluster,详细步骤可参见 Ceph 部署(Centos7 + Luminous)
守护进程(ceph-mgr)负责跟踪运行时间指标和Ceph群集的当前状态,包括存储利用率,当前性能指标和系统负载。 Ceph Manager守护程序还托管基于python的插件来管理和公开Ceph集群信息,包括基于Web的仪表板和REST API。 通常,至少有两名Manager需要高可用性。
cephfs需要两个pool:
注:
计算pg数量:
新建cephfs,名字叫“cephfs”,使用刚才我们新建的两个pool
创建一个文件保存admin用户的秘钥:
将秘钥“AQDfhyBbQQf0HhAA6jGuqvK4jJGg42CnOo5iog==”粘贴到admin.secret
最后使用kernel挂载方式
注:
由于kernel挂载方式目前不支持quota的配置,如果需要quota的配置,那么只好使用fuse挂载
注:-n client.tom 也可以写成--id,-r 把文件系统内的 root_directory 作为根挂载,而不是整个 Ceph 文件系统树。
配置quota
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)