ceph-rest-api 用例
时间:2022-04-25
本文章向大家介绍ceph-rest-api 用例,主要内容包括1.版本问题、2.服务启动、3.pool相关操作、4.用户管理相关操作、5.其他操作、6.其他接口、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
1.版本问题
0.67-10.x版本如果需要集成现有业务可以考虑这个内置的rest接口,从12.x开始这个接口将被内置的mgr模块替代,后期可能会被移除,所以高版本就不要用这个接口了。
2.服务启动
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相关操作
#获取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,内容如下
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导入用户
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
第三步,查看用户信息
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 *
查看用户列表
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.其他操作
查看集群状态
root@demohost:/usr/lib/python2.7/dist-packages# curl http://0.0.0.0:5000/api/v0.1/health?detail=detail
HEALTH_OK
查看集群fsid
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/
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 熬夜7天,我总结了JavaScript与ES的25个重要知识点!
- 【分享】MPSoC SWDT在Standalone下的应用
- 【分享】 PetaLinux工程出现大量Taskhash mismatch错误的原因
- Cypress系列(46)- then() 命令详解
- MultiDex原理
- 跨进程文件锁 - FileChannel
- 聊一聊二分查找法
- 【Ceph】集群升级之好好看ceph.conf
- Carthage使用
- java线程池(一):java线程池基本使用及Executors
- java线程池(二):聊聊newFixedThreadPool(1)和newSingleThreadExecutor()的区别
- SAP RFC函数RFC_READ_TABLE使用与优化
- 数据库PostrageSQL-升级一个PostgreSQL集簇
- 数据库PostrageSQL-用 SSL 进行安全的 TCP/IP 连接
- 数据库PostrageSQL-使用SSH隧道的安全 TCP/IP 连接