Huawei Cloud 无代理模式
Huawei Cloud 无代理模式
1. 兼容性
EVS 快照一致性组和 CBR 云硬盘数据导出接口是华为云新上线功能,需要确认目标区域已正式发布相关接口。
| 模块 | 版本 | 备注 |
|---|---|---|
| 华为云EVS快照接口 | /v5 | 需要注意对应区域是否开发该版本的API接口 |
| 华为云CBR接口 | /v3 | 需要注意对应区域是否开发该版本的API接口 |
权限接口列表
| 序号 | 接口描述 | 接口 |
|---|---|---|
| 1 | 认证接口 | /v3/auth/tokens |
| 2 | 获取镜像列表 | /v2/cloudimages |
| 3 | 获取卷列表 | /v2/{project_id}/cloudvolumes/detail |
| 4 | 获取主机详情列表 | /v1/{project_id}/cloudservers/detail |
| 5 | 获取存储桶列表 | ListBuckets |
| 6 | 创建存储桶 | CreateBucket |
| 7 | 删除存储桶 | DeleteBucket |
| 8 | 获取存储桶对象列表 | ListObjects |
| 9 | 删除存储桶对象 | DeleteObject |
| 10 | 读取存储桶对象数据 | GetObject |
| 11 | 创建导出数据存储桶授权 | /v3/domains/{domain_id}/export-snapshot/agency |
| 12 | 删除导出数据存储桶授权 | /v3/domains/{domain_id}/export-snapshot/agency/{agency_id} |
| 13 | 查询导出数据存储桶授权 | /v3/{project_id}/export-snapshot/agency |
| 14 | 创建一致性快照组 | /v5/{project_id}/snapshot-groups |
| 15 | 删除一致性快照组 | /v5/{project_id}/snapshot-groups/{snapshot_group_id} |
| 16 | 查询一致性快照组 | /v5/{project_id}/snapshot-groups/{snapshot_group_id} |
| 17 | 查询云硬盘快照列表 | /v5/{project_id}/snapshots/detail |
| 18 | 创建快照导出任务 | /v3/{project_id}/export-snapshot/jobs |
| 19 | 删除快照导出任务 | /v3/{project_id}/export-snapshot/jobs/{job_id} |
| 20 | 查询快照导出任务 | /v3/{project_id}/export-snapshot/jobs/{job_id} |
2. 操作系统支持
点击云平台支持矩阵查看兼容性列表及最新支持状态。
网络要求
云同步网关(Sync Proxy) 必须能访问华为云API接口
限制条件
功能可用性
- EVS 快照一致性组和 CBR 云硬盘数据导出接口是华为云新上线功能,需要确认目标区域已正式发布相关接口。
带宽与速率限制
单台计算节点的总带宽上限为 500 MB/s。
单个快照数据导出任务的速率范围为 25 MB/s ~ 300 MB/s。
并发与配额限制
单节点最多可同时运行 20 个快照导出任务,其余任务处于排队状态。
当并发磁盘数量过多,超过 CBR 快照导出任务上限时,对应主机的同步会失败,需等待有任务配额空出后才能继续。
任务暂停与失败处理
CBR 快照导出任务 不支持暂停。即使在 HyperBDR 控制台点击暂停,同步任务仍会继续运行直至完成或失败,同时占用配额。
在 HyperBDR 中暂停或任务失败时,不会自动清理导出到存储桶的临时数据,该数据会产生计费。只有在同步任务完成或清理主机时才会清理临时数据。
同步进度显示
在 HyperBDR 控制台,主机同步任务进度初始为 预估值(标记为 [Estimated])。
当所有磁盘快照导出任务完成后,如果主机实际同步仍在进行,则展示为 实际同步进度。
存储桶使用约束
CBR 导出的快照数据会暂存于指定存储桶中。
禁止人为对存储桶对象进行操作,否则可能导致数据不完整,需对主机执行强制全量同步。
存储桶临时占用空间约等于有效数据大小,但由于导出块大小固定为 2 MB,会产生一定程度的数据放大。
共享磁盘
- 支持同步华为云数据盘类型的共享盘,但是在目标端启动时作为单独磁盘启动不支持作为共享盘启动。
3. 华为云CBR服务常见错误码
| 错误名称 | 触发流程 | HTTP Code | error_code | error_msg |
|---|---|---|---|---|
| 没有调用接口权限 | 所有接口 | 403 | BackupService.0403 | |
| 账户没有实名认证 | 所有接口 | 403 | CSBS.9009 | User is unverified. |
| 系统繁忙 | 所有接口 | 500 | CSBS.9999 | The system is busy. Please try later. |
| 不支持快照导出任务 | 所有接口 | 400 | BackupService.7469 | Snapshot export not support. |
| base_snapshot_id和current_snapshot_id不能相同 | 创建接口 | 400 | CSBS.9001 | The current_snapshot_id:(current_snapshot_id) and base_snapshot_id:(base_snapshot_id) cannot be the same |
| base_snapshot_id创建时间必须早于current_snapshot_id | 创建接口 | 400 | CSBS.9001 | The creation time of base_snapshot_id:(base_snapshot_id) must be earlier than that of the current_snapshot_id:(current_snapshot_id) |
| snapshot_id不合法 | 创建接口 | 400 | CSBS.9001 | snapshot_id:(snapshot_id) is invalid snapshot_id. |
| snapshot_id状态不合法 | 创建接口 | 400 | CSBS.9001 | snapshot_id:(snapshot_id) status is invalid. |
| 当前租户没有委托信息 | 创建接口 | 400 | CSBS.9001 | This current project has no agency info. |
| 快照导出任务数量超过最大规格 | 创建接口 | 400 | CSBS.9001 | The number of snapshot export jobs exceeds the maximum concurrency |
| 创建源端委托失败 | 创建接口 | 500 | BackupService.7475 | Create snap bucket authorization failed. |
| 创建快照导出任务失败 | 创建接口 | 500 | BackupService.7467 | Create export snapshot job failed. |
| 快照导出任务不存在 | 查询接口,删除接口 | 404 | BackupService.7466 | Export snapshot job (job_id) not found. |
| 快照导出任务已经被删除 | 删除接口 | 400 | CSBS.9001 | The export snapshot job id: (job_id) already be canceled. |
| 委托桶不存在 | 创建委托接口 | 400 | CSBS.9001 | obs_bucket_name: (obs_bucket_name) is not exist. |
| 一个租户只能创建一个委托 | 创建委托接口 | 400 | CSBS.9001 | Each project can only create one agency. |
| 删除委托失败 | 删除委托接口 | 500 | BackupService.7468 | Delete export snapshot agency failed. |
4. 数据同步原理
华为云云备份(Cloud Backup and Recovery, CBR)服务提供了一套基于云硬盘快照的数据导出接口。通过这些接口可以将云主机的云硬盘数据导出至指定数据存储桶。之后通过将存储桶的相关云硬盘数据传输到目标端来实现华为云主机的数据备份。核心原理如下:
存储桶授权管理:提供创建、删除及查看授权存储桶的接口,确保数据导出目标的安全性与合法性。
数据导出:提供将云硬盘快照的全量和增量数据导出至已授权存储桶的接口。这实现了对华为云上主机在不同时间点数据的抓取。
数据同步:通过将授权存储桶中的数据向目标端传输,最终实现数据的备份与同步。
清理资源:同步时在传输完存储桶中某个对象的数据后删除该对象。整个同步完成后删除同步过程中创建的云硬盘快照,但基础快照会保留直到该主机完成迁移或备份整个流程。(同步过程中华为云主机的数据会临时导出到数据存储桶中,同步任务完成或清理资源后数据存储桶中的临时数据会删除,该部分临时数据计费和华为云存储桶计费模式相同)
5. 资源和成本规划示例
源端环境
| 配置项目 | 具体参数 | 补充说明 |
|---|---|---|
| 主机数量 | 10 台 | |
| 单台主机磁盘数量 | 10 块 | |
| 单块磁盘容量 | 100 GB | |
| 单台主机总磁盘容量 | 1 TB (1000 GB) = 10 × 100 GB | |
| 所有主机总数据量估算 | 10 TB = 10 台 × 1 TB/台 | 需要备份的所有主机的总数据量 |
同步过程中源端资源占用情况
| 资源 | 资源名称 | 资源说明 |
|---|---|---|
| 弹性云服务器ECS | 源端同步代理云服务器(4核8G) | 如果需要更快的同步速度,建议扩展至更高规格 |
| 云硬盘EVS | 源端同步代理云服务器系统盘(200GB) | |
| 弹性公网IP | 源端同步代理云服务器弹性公网IP(1000 Mbit/s) | 如果数据出云则需要公网带宽 |
| 云硬盘EVS快照 | 源端主机磁盘快照 | 备份源端主机时会对该主机磁盘做快照 |
| 对象存储服务OBS | 对象存储桶 | 用于存储临时主机数据 |
全量同步资源使用统计
| 资源 | 单个主机 | 所有主机 |
|---|---|---|
| 云硬盘快照 | 云硬盘快照10个 | 云硬盘快照100个 |
| 云硬盘快照计费时长 | 1TB 云硬盘快照,作为基础快照一直保留 | 10TB 云硬盘快照,作为基础快照一直保留 |
| 对象存储桶数据 | 1 TB (1000 GB) = 10 × 100 GB | 10 TB = 10 台 × 1 TB/台 |
| 对象存储桶数据计费时长 | 1小时20分钟 = 10 × 14 分钟 | 1天 ≈ 23小时20分钟 = 10 × 1小时20分钟 |
增量同步资源使用统计(增量大小按5%计算)
| 资源 | 单个主机 | 所有主机 |
|---|---|---|
| 云硬盘快照 | 云硬盘快照10个 | 云硬盘快照100个 |
| 云硬盘快照计费时长 | 1TB + 5GB 云硬盘快照。其中5GB增量快照保留时间7分钟,同步结束会删除。1TB 云硬盘快照作为基础快照一直保留。 | 10TB + 500GB 云硬盘快照。其中500GB增量快照保留时间1小时10分钟,同步结束会删除。10TB云硬盘快照作为基础快照一直保留。 |
| 对象存储桶数据 | 50 GB = 10 × 5 GB | 500 GB = 10 台 × 50 GB/台 |
| 对象存储桶数据计费时长 | 7 分钟 ≈ 10 × 40 秒 | 1 小时 10分钟 = 10 × 7 分钟 |
结论
华为云 Agentless 在数据同步过程中,对象存储仅用于临时存储待传输数据,正常完成同步后数据不保留,仅在暂停/停止同步等特例下保留。其存储占用的大小基本上为本次传输的数据量大小。存储桶临时数据占用时长与数据传输时长基本一致,和同步数据量及网络带宽相关。关键影响因素:数据量大小、网络带宽。
对象存储的最大占用数据量,在全量同步时等于全量数据量,在增量同步时等于增量数据量,不会出现超出该规模的堆积。
网络带宽与传输时长成反比:带宽越大,数据传输速度越快,对象存储的占用时长越短。
临时数据占用时长算法示例:
临时数据占用时长 = 同步数据量 ÷ 实际网络传输速率