1.3. 卷恢复工作流
下图演示了在用户请求恢复块存储服务(cinder)备份时发生的步骤。
图 1.2. 恢复块存储备份
- 客户端通过调用 CinderREST API 来发出恢复块存储备份的请求。
- cinder API 从 HAProxy 接收请求,并验证请求、用户凭据和其他信息。
- 如果请求不包含现有卷作为目的地,API 会发出异步 RPC 调用来创建新卷并轮询卷的状态,直到卷可用为止。
-
cinder-scheduler选择一个卷服务,并发出 RPC 调用来创建卷。 -
所选
cinder-volume服务创建卷。 -
当
cinder-api检测到卷可用时,会在数据库中创建备份记录。 - 通过 AMQP 向备份服务发出异步 RPC 调用,以恢复备份。
- 将当前卷 ID、备份 ID 和卷名称返回到 API 调用者。
- RPC 创建消息到达其中一个备份服务。
-
cinder-backup服务对cinder-volume执行同步 RPC 调用,以公开目标卷。 -
cinder-volume服务导出并映射目标卷返回适当的连接信息。 -
cinder-backup服务使用连接信息附加源卷。 -
cinder-backup服务使用已经附加的设备调用驱动程序,它会开始恢复卷目的地。 - 卷与备份主机分离。
-
cinder-backup服务向cinder-volume发出同步 RPC 来断开源设备的连接。 -
cinder-volume服务取消映射并删除该设备的导出。 - 备份完成后,会在数据库中更新备份记录。