前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ceph-rest-api 用例

ceph-rest-api 用例

作者头像
用户1260683
发布2018-01-31 12:04:10
2.8K0
发布2018-01-31 12:04:10
举报
文章被收录于专栏:Ceph对象存储方案

1.版本问题

0.67-10.x版本如果需要集成现有业务可以考虑这个内置的rest接口,从12.x开始这个接口将被内置的mgr模块替代,后期可能会被移除,所以高版本就不要用这个接口了。

2.服务启动

代码语言:javascript
复制
root@demohost:/home/user# ceph-rest-api -c /etc/ceph/ceph.conf -n client.admin --cluster ceph
 * Running on http://0.0.0.0:5000/

3.pool相关操作

代码语言:javascript
复制
#获取rbd pool的属性
root@demohost:/usr/lib/python2.7/dist-packages# curl http://0.0.0.0:5000/api/v0.1/osd/pool/get?pool=rbd\&var=size
size: 1

#获取支持的属性列表
root@demohost:/usr/lib/python2.7/dist-packages# curl http://0.0.0.0:5000/api/v0.1/osd/pool/get?pool=rbd\&var

var not in size|min_size|crash_replay_interval|pg_num|pgp_num|crush_ruleset|hashpspool|nodelete|nopgchange|nosizechange|write_fadvise_dontneed|noscrub|nodeep-scrub|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|auid|target_max_objects|target_max_bytes|cache_target_dirty_ratio|cache_target_dirty_high_ratio|cache_target_full_ratio|cache_min_flush_age|cache_min_evict_age|erasure_code_profile|min_read_recency_for_promote|all|min_write_recency_for_promote|fast_read|hit_set_grade_decay_rate|hit_set_search_last_n|scrub_min_interval|scrub_max_interval|deep_scrub_interval|recovery_priority|recovery_op_priority|scrub_priority

#新建pool,名称为rbd1,pg和pgp的数量为10
curl http://0.0.0.0:5000/api/v0.1/osd/pool/create?pool=rbd1\&pg_num=10\&pgp_num=10 -X PUT -v

# 获取rule 列表
curl http://0.0.0.0:5000/api/v0.1/osd/crush/rule/list

# 获取rule详情
curl http://0.0.0.0:5000/api/v0.1/osd/crush/rule/dump

# 修改rbd1 pool的crush ruleset为1
curl http://0.0.0.0:5000/api/v0.1/osd/pool/set?pool=rbd1\&var=crush_ruleset\&val=1 -X PUT -v

4.用户管理相关操作

新建用户(keyring方式)

第一步,新建用户client.user1的keyring,内容如下

代码语言:javascript
复制
root@demohost:/usr/lib/python2.7/dist-packages# cat /tmp/user1.keyring
[client.user1]
        key = AQCtsihaEUozABAAPPDTEhSNJMkj4HOp+nJeaQ==
        caps mds = "allow"
        caps mon = "allow *"
        caps osd = "allow *"

第二步,通过rest-api导入用户

代码语言:javascript
复制
root@demohost:/usr/lib/python2.7/dist-packages# curl http://0.0.0.0:5000/api/v0.1/auth/import -X PUT -T /tmp/user1.keyring

第三步,查看用户信息

代码语言:javascript
复制
root@demohost:/usr/lib/python2.7/dist-packages# curl http://0.0.0.0:5000/api/v0.1/auth/get?entity=client.user1
[client.user1]
        key = AQCtsihaEUozABAAPPDTEhSNJMkj4HOp+nJeaQ==
        caps mds = "allow"
        caps mon = "allow *"
        caps osd = "allow *

查看用户列表

代码语言:javascript
复制
root@demohost:/usr/lib/python2.7/dist-packages# curl http://0.0.0.0:5000/api/v0.1/auth/list
osd.0
        key: AQDJ0adZpVCPIhAA8z/qYSPEX6Hn699piAS3bQ==
        caps: [mon] allow rwx
        caps: [osd] allow *
osd.1
        key: AQDK0adZNNGUMhAA06qcr+Dq59JmIZs1po/3uA==
        caps: [mon] allow rwx
        caps: [osd] allow *
osd.2
        key: AQDM0adZgcG6BhAA1s4yaZf323uGpuMazV3JXQ==
        caps: [mon] allow rwx
        caps: [osd] allow *
client.user1
        key: AQCtsihaEUozABAAPPDTEhSNJMkj4HOp+nJeaQ==
        caps: [mds] allow
        caps: [mon] allow *
        caps: [osd] allow *

5.其他操作

查看集群状态

代码语言:javascript
复制
root@demohost:/usr/lib/python2.7/dist-packages# curl http://0.0.0.0:5000/api/v0.1/health?detail=detail
HEALTH_OK

查看集群fsid

代码语言:javascript
复制
root@demohost:/usr/lib/python2.7/dist-packages# curl http://0.0.0.0:5000/api/v0.1/fsid
f8c4249f-2b96-43ca-8587-2f4127a252bf

6.其他接口

具体可以参考下面的地址

https://dmsimard.com/2014/01/01/documentation-for-ceph-rest-api/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ceph对象存储方案 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.版本问题
  • 2.服务启动
  • 3.pool相关操作
  • 4.用户管理相关操作
    • 新建用户(keyring方式)
    • 5.其他操作
    • 6.其他接口
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档