2.3.6. 如何执行管理命令?
使用 /request 端点和 POST 方法执行管理命令。通过这种方法,您甚至可以使用不受 API 直接支持的命令,但在 Ceph 源代码中的 src/mon/MonCommands.h 文件中定义。例如,在构建使用 API 您自己的应用时,这非常有用。
Python
查看
src/mon/MonCommands.h,找到您要在 API 中执行的命令,例如:COMMAND("osd ls " \ "name=epoch,type=CephInt,range=0,req=false", \ "show all OSD ids", "osd", "r", "cli,rest")COMMAND("osd ls " \ "name=epoch,type=CephInt,range=0,req=false", \ "show all OSD ids", "osd", "r", "cli,rest")Copy to Clipboard Copied! Toggle word wrap Toggle overflow 命令是
osd ls。name位指定命令具有的参数的名称,type指定参数采用的值类型,范围指定参数接受的值的范围,而req指定是否需要该参数。在本例中,参数是epoch,参数采用的值类型是整数,接受的值的范围是0,参数是可选的。在 Python 解释器中输入:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 替换 :
-
<ceph-mgr>,带有活跃的ceph-mgr实例,节点的 IP 地址或短主机名 -
<command>,带有在src/mon/MonCommands.h文件中列出的命令 -
<argument>带有src/mon/MonCommands.h文件中列出的命令参数,如果参数是可选的,您可以省略它 -
<value>带有参数的值 -
<user>with user name -
<password>和用户的密码
例如,使用
osd ls epoch 0命令:将<command>替换为osd ls,<argument>替换为epoch,<value>替换为0:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您使用自签名证书,请使用
verify=False选项:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
其它资源
- GitHub 上的 src/mon/MonCommands.h 文件