A.23. RADOS 块设备
使用 Ceph RESTful API block
端点来管理 RADOS 块设备(RBD)的方法参考。此参考包含所有可用的 RBD 功能端点,例如:
RBD 镜像
GET /api/block/image
- 描述
- 查看 RBD 镜像。
- 参数
查询:
-
pool_name
- 池名称作为字符串。
-
- 示例
GET /api/block/image HTTP/1.1 Host: example.com
- 状态代码
- 200 OK - 确定。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
POST /api/block/image
- 示例
POST /api/block/image HTTP/1.1 Host: example.com Content-Type: application/json { "configuration": "STRING", "data_pool": "STRING", "features": "STRING", "name": "STRING", "namespace": "STRING", "obj_size": 1, "pool_name": "STRING", "size": 1, "stripe_count": 1, "stripe_unit": "STRING" }
- 状态代码
- 201 created - 资源已创建。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
GET /api/block/image/clone_format_version
- 描述
- 返回 RBD 克隆格式版本。
- 示例
GET /api/block/image/clone_format_version HTTP/1.1 Host: example.com
- 状态代码
- 200 OK - 确定。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
GET /api/block/image/default_features
- 示例
GET /api/block/image/default_features HTTP/1.1 Host: example.com
- 状态代码
- 200 OK - 确定。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
GET /api/block/image/default_features
- 示例
GET /api/block/image/default_features HTTP/1.1 Host: example.com
- 状态代码
- 200 OK - 确定。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
DELETE /api/block/image/IMAGE_SPEC
- 参数
-
将
IMAGE_SPEC
替换为镜像名称,作为字符串值。
-
将
- 状态代码
- 202 accepted - 操作仍在执行。请检查任务队列。
- 204 No Content – Resource deleted.
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
GET /api/block/image/IMAGE_SPEC
- 参数
-
将
IMAGE_SPEC
替换为镜像名称,作为字符串值。
-
将
- 示例
GET /api/block/image/IMAGE_SPEC HTTP/1.1 Host: example.com
- 状态代码
- 200 OK - 确定。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
PUT /api/block/image/IMAGE_SPEC
- 参数
-
将
IMAGE_SPEC
替换为镜像名称,作为字符串值。
-
将
- 示例
PUT /api/block/image/IMAGE_SPEC HTTP/1.1 Host: example.com Content-Type: application/json { "configuration": "STRING", "features": "STRING", "name": "STRING", "size": 1 }
- 状态代码
- 200 OK - 确定。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
POST /api/block/image/IMAGE_SPEC/copy
- 参数
-
将
IMAGE_SPEC
替换为镜像名称,作为字符串值。
-
将
- 示例
POST /api/block/image/IMAGE_SPEC/copy HTTP/1.1 Host: example.com Content-Type: application/json { "configuration": "STRING", "data_pool": "STRING", "dest_image_name": "STRING", "dest_namespace": "STRING", "dest_pool_name": "STRING", "features": "STRING", "obj_size": 1, "snapshot_name": "STRING", "stripe_count": 1, "stripe_unit": "STRING" }
- 状态代码
- 201 created - 资源已创建。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
POST /api/block/image/IMAGE_SPEC/flatten
- 参数
-
将
IMAGE_SPEC
替换为镜像名称,作为字符串值。
-
将
- 状态代码
- 201 created - 资源已创建。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
POST /api/block/image/IMAGE_SPEC/move_trash
- 描述
- 将镜像移动到回收站中。通过克隆主动使用的镜像可以移到回收站中,并在以后删除。
- 参数
-
将
IMAGE_SPEC
替换为镜像名称,作为字符串值。
-
将
- 示例
POST /api/block/image/IMAGE_SPEC/move_trash HTTP/1.1 Host: example.com Content-Type: application/json { "delay": 1 }
- 状态代码
- 201 created - 资源已创建。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
RBD 镜像功能
GET /api/block/mirroring/site_name
- 描述
- 显示 RBD 镜像站点名称。
- 示例
GET /api/block/mirroring/site_name HTTP/1.1 Host: example.com
- 状态代码
- 200 OK - 确定。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
PUT /api/block/mirroring/site_name
- 示例
PUT /api/block/mirroring/site_name HTTP/1.1 Host: example.com Content-Type: application/json { "site_name": "STRING" }
- 状态代码
- 200 OK - 确定。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
RBD 镜像池引导
POST /api/block/mirroring/pool/POOL_NAME/bootstrap/peer
- 参数
-
将
POOL_NAME
替换为池名称作为字符串。
-
将
- 示例
POST /api/block/mirroring/pool/POOL_NAME/bootstrap/peer HTTP/1.1 Host: example.com Content-Type: application/json { "direction": "STRING", "token": "STRING" }
- 状态代码
- 201 created - 资源已创建。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
POST /api/block/mirroring/pool/POOL_NAME/bootstrap/token
- 参数
-
将
POOL_NAME
替换为池名称作为字符串。
-
将
- 状态代码
- 201 created - 资源已创建。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
RBD 镜像池模式
GET /api/block/mirroring/pool/POOL_NAME
- 描述
- 显示 RBD 镜像摘要。
- 参数
-
将
POOL_NAME
替换为池名称作为字符串。
-
将
- 示例
GET /api/block/mirroring/pool/POOL_NAME HTTP/1.1 Host: example.com
- 状态代码
- 200 OK - 确定。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
PUT /api/block/mirroring/pool/POOL_NAME
- 参数
-
将
POOL_NAME
替换为池名称作为字符串。
-
将
- 示例
PUT /api/block/mirroring/pool/POOL_NAME HTTP/1.1 Host: example.com Content-Type: application/json { "mirror_mode": "STRING" }
- 状态代码
- 200 OK - 确定。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
RBD 镜像池 Peer
GET /api/block/mirroring/pool/POOL_NAME/peer
- 参数
-
将
POOL_NAME
替换为池名称作为字符串。
-
将
- 示例
GET /api/block/mirroring/pool/POOL_NAME/peer HTTP/1.1 Host: example.com
- 状态代码
- 200 OK - 确定。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
POST /api/block/mirroring/pool/POOL_NAME/peer
- 参数
-
将
POOL_NAME
替换为池名称作为字符串。
-
将
- 示例
POST /api/block/mirroring/pool/POOL_NAME/peer HTTP/1.1 Host: example.com Content-Type: application/json { "client_id": "STRING", "cluster_name": "STRING", "key": "STRING", "mon_host": "STRING" }
- 状态代码
- 201 created - 资源已创建。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
DELETE /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID
- 参数
-
将
POOL_NAME
替换为池名称作为字符串。 -
将
PEER_UUID
替换为字符串的对等 UUID。
-
将
- 状态代码
- 202 accepted - 操作仍在执行。请检查任务队列。
- 204 No Content – Resource deleted.
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
GET /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID
- 参数
-
将
POOL_NAME
替换为池名称作为字符串。 -
将
PEER_UUID
替换为字符串的对等 UUID。
-
将
- 示例
GET /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID HTTP/1.1 Host: example.com
- 状态代码
- 200 OK - 确定。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
PUT /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID
- 参数
-
将
POOL_NAME
替换为池名称作为字符串。 -
将
PEER_UUID
替换为字符串的对等 UUID。
-
将
- 示例
PUT /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID HTTP/1.1 Host: example.com Content-Type: application/json { "client_id": "STRING", "cluster_name": "STRING", "key": "STRING", "mon_host": "STRING" }
- 状态代码
- 200 OK - 确定。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
RBD 镜像功能概要
GET /api/block/mirroring/summary
- 描述
- 显示 RBD 镜像摘要。
- 示例
GET /api/block/mirroring/summary HTTP/1.1 Host: example.com
- 状态代码
- 200 OK - 确定。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
RBD 命名空间
GET /api/block/pool/POOL_NAME/namespace
- 参数
-
将
POOL_NAME
替换为池名称作为字符串。
-
将
- 示例
GET /api/block/pool/POOL_NAME/namespace HTTP/1.1 Host: example.com
- 状态代码
- 200 OK - 确定。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
POST /api/block/pool/POOL_NAME/namespace
- 参数
-
将
POOL_NAME
替换为池名称作为字符串。
-
将
- 示例
POST /api/block/pool/POOL_NAME/namespace HTTP/1.1 Host: example.com Content-Type: application/json { "namespace": "STRING" }
- 状态代码
- 201 created - 资源已创建。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
DELETE /api/block/pool/POOL_NAME/namespace/NAMESPACE
- 参数
-
将
POOL_NAME
替换为池名称作为字符串。 -
将
NAMESPACE
替换为命名空间作为字符串。
-
将
- 状态代码
- 202 accepted - 操作仍在执行。请检查任务队列。
- 204 No Content – Resource deleted.
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
RBD 快照
POST /api/block/image/IMAGE_SPEC/snap
- 参数
-
将
IMAGE_SPEC
替换为镜像名称,作为字符串值。
-
将
- 示例
POST /api/block/image/IMAGE_SPEC/snap HTTP/1.1 Host: example.com Content-Type: application/json { "snapshot_name": "STRING" }
- 状态代码
- 201 created - 资源已创建。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
DELETE /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME
- 参数
-
将
IMAGE_SPEC
替换为镜像名称,作为字符串值。 -
将
SNAPSHOT_NAME
替换为快照名称(一个字符串值)。
-
将
- 状态代码
- 202 accepted - 操作仍在执行。请检查任务队列。
- 204 No Content – Resource deleted.
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
PUT /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME
- 参数
-
将
IMAGE_SPEC
替换为镜像名称,作为字符串值。 -
将
SNAPSHOT_NAME
替换为快照名称(一个字符串值)。
-
将
- 示例
PUT /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME HTTP/1.1 Host: example.com Content-Type: application/json { "is_protected": true, "new_snap_name": "STRING" }
- 状态代码
- 200 OK - 确定。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
POST /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME/clone
- 描述
- 将快照克隆到镜像。
- 参数
-
将
IMAGE_SPEC
替换为镜像名称,作为字符串值。 -
将
SNAPSHOT_NAME
替换为快照名称(一个字符串值)。
-
将
- 示例
POST /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME/clone HTTP/1.1 Host: example.com Content-Type: application/json { "child_image_name": "STRING", "child_namespace": "STRING", "child_pool_name": "STRING", "configuration": "STRING", "data_pool": "STRING", "features": "STRING", "obj_size": 1, "stripe_count": 1, "stripe_unit": "STRING" }
- 状态代码
- 201 created - 资源已创建。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
POST /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME/rollback
- 参数
-
将
IMAGE_SPEC
替换为镜像名称,作为字符串值。 -
将
SNAPSHOT_NAME
替换为快照名称(一个字符串值)。
-
将
- 状态代码
- 201 created - 资源已创建。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
RBD Trash
GET /api/block/image/trash
- 描述
- 显示所有 RBD 回收站条目,或者按池名称显示 RBD 垃圾箱详细信息。
- 参数
查询:
-
pool_name
- 池的名称作为字符串值。
-
- 示例
GET /api/block/image/trash HTTP/1.1 Host: example.com
- 状态代码
- 200 OK - 确定。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
POST /api/block/image/trash/purge
- 描述
- 从回收站中删除所有已过期的镜像。
- 参数
查询:
-
pool_name
- 池的名称作为字符串值。
-
- 示例
POST /api/block/image/trash/purge HTTP/1.1 Host: example.com Content-Type: application/json { "pool_name": "STRING" }
- 状态代码
- 201 created - 资源已创建。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
DELETE /api/block/image/trash/IMAGE_ID_SPEC
- 描述
-
从回收站中删除镜像.如果镜像延迟时间没有过期,除非您使用
force
,否则无法将其删除。通过克隆或具有快照主动使用的镜像,无法删除它。 - 参数
-
将
IMAGE_ID_SPEC
替换为镜像名称,作为字符串值。 查询:
-
force
- 强制从垃圾中删除镜像的布尔值。
-
-
将
- 状态代码
- 202 accepted - 操作仍在执行。请检查任务队列。
- 204 No Content – Resource deleted.
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
POST /api/block/image/trash/IMAGE_ID_SPEC/restore
- 描述
- 从回收站中恢复镜像。
- 参数
-
将
IMAGE_ID_SPEC
替换为镜像名称,作为字符串值。
-
将
- 示例
POST /api/block/image/trash/IMAGE_ID_SPEC/restore HTTP/1.1 Host: example.com Content-Type: application/json { "new_image_name": "STRING" }
- 状态代码
- 201 created - 资源已创建。
- 202 accepted - 操作仍在执行。请检查任务队列。
- 400 Bad Request – Operation exception.请检查响应正文以了解详细信息。
- 401 未授权 - 未验证的访问。请首先登录。
- 403 Forbidden – Unauthorized access.请检查您的权限。
- 500 Internal Server Error – 意外错误。请检查堆栈追踪的响应正文。
其它资源
- 如需更多详细信息,请参阅 Red Hat Ceph Storage Developer Guide 中的 Ceph RESTful API 章节。