迁移任务执行失败如何处理?
如果迁移工作流完成后显示工作流状态为失败,请通过以下方式尝试解决。
方式一:通过LTS查询失败原因
如果在创建集群时启用了LTS日志,可以通过下列步骤查询任务失败原因,获得迁移失败的ERROR日志,可以自行分析失败原因或者提交给华为云技术支持人员分析原因并给出修复建议。
- 在华为云控制台中搜索LTS 云日志服务。
- 在mgc迁移集群对应region的LTS中找到日志组,对应的格式为oms_lts_log_group_{迁移集群的id}。
- 单击日志组,调整日志统计时间并搜索对应失败日志。
例如搜索迁移节点的ERROR日志,输入hostName:oms_cluster_ecs_LIST_* AND ERROR。
搜索迁移节点的ERROR日志,输入hostName:oms_cluster_ecs_MIGRATION_* AND ERROR。
按上述方法可以得到迁移失败的ERROR日志,可以自行分析失败原因或者提交给华为云技术支持人员分析原因并给出修复建议。
方式二: 查看失败对象列表
如果最后工作流OMS任务状态为失败,在工作流中找到失败对象列举路径,通常在目的端oms/{oms2.0任务id}/fail目录下面。
在工作流详细里面文件统计 – 失败列表文件路径 中也会展示。
失败对象列表为json格式,每一条代表是一个对象,其中content_handle_result记录了失败原因,如下图:
失败对象列表错误码(Content_handle_result) |
说明 |
处理措施 |
---|---|---|
READ_ATTRIBUTE_FAIL_4_LIST |
列举时读属性失败。 |
排查该文件属性是否正常,是否是异常字符。 |
COMPARISON_ATTRIBUTE_NOT_SAME |
迁移后源端目的端对象属性不一致,可能是在列举之后源端有变化导致。 |
确保源端对象不会被改变下且覆盖策略不为不覆盖的情况,重试工作流。 |
WRITE_STREAM_FAIL |
目的端写流失败,大概率是因为目的端写流抢占导致断流。 |
|
UNSUPPORTED_FILE_TYPE |
不支持的文件类型。 |
目前不支持的文件类型无法迁移,例如: 管道文件。 |
WRITE_ATTRIBUTE_FAIL |
目的端写属性失败。 |
排查目的端是否有修改元数据/属性权限。 |
READ_ATTRIBUTE_FAIL |
源端对象读元数据/属性失败。 |
排查指定源端对象是否有获取元数据权限。 |
SRC_OBJECT_IS_ARCHIVE |
源端对象为归档对象。 |
源端对象需要手动解冻之后才能迁移。 |
SRC_FILE_NOT_EXISTS |
源端对象不存在,列举的时候还存在到迁移时可能被移动了。 |
无,取不到源端对象迁移一定会失败 。 |
COMPARISON_LAST_MODIFY_TIME_OF_SRC_IS_LATER_THAN_DST |
对象已经迁移到目的端,在一致性校验时,迁移后对比最后修改时间-源端对象的最后修改时间新于目的端的最后修改时间。 通常是由于源端还在写入/修改对象导致。 |
如果源端存在写入/修改源端对象会出现这类错误。需要保证源端不更改的情况下,重试迁移工作流。 |
COMPLETE_COMPARISON_KMS_NOT_SAME |
对象已经迁移到目的端,在一致性校验时,KMS加密状态不一致。通常是根据迁移时是否启用kms加密有关, 例如: 源端有KMS加密;未启用kms加密;目的端没有KMS加密;KMS加密状态不一致。 |
|
INIT_SLICE_UPLOAD_FAILED |
初始化分段报错。 |
重试失败对象,此类错误通常是网络原因导致。 |
MIGRATION_SYM_LINK_FAILED |
OBS不支持源端类型的软链接。 |
无,OBS兼容问题。 |
CREATE_LINK_FAILED |
创建链接文件失败。 |
请排查是否需要失败的链接文件,如果需要请联系华为云技术支持。 |
COMBINE_OBJECT_SLICE_FAILED |
合并分段文件失败。 |
排查目的端AKSK所属账号是否有列举分段账号权限,需要添加上以下权限后再重试工作流/任务: obs:bucket:ListBucketMultipartUploads 权限参考: 如何获取源端桶权限和目的端桶权限? |
HANDLE_SLICE_ERROR |
分片处理异常,网络异常/没权限读流。 |
重试工作流/任务,如果还是不能解决请联系华为云技术支持。 |
SYM_LINK_IS_NOT_SUPPORT_MIG |
SMB不支持软链接迁移。 |
无,兼容性问题导致无法迁移。 |
UNPROCESSED_ERROR |
未知异常。 |
请联系华为云技术支持。 |
READ_ATTRIBUTE_FAIL_FOR_SRC |
迁移完成后,一致性校验时读取源端对象元数据失败,一般是由于源端流控导致。 |
重试工作流/任务,如果仍然失败排查下源端指定对象的元数据情况。 |
READ_ATTRIBUTE_FAIL_FOR_DST |
迁移完成后,一致性校验时读取目的端端对象元数据失败,一般是由于目的端流控导致。 |
重试工作流/任务,如果仍然失败排查下目的端指定对象的元数据情况。 |
FILE_SIZE_OVER_MAX_SIZE |
分片超过最大值 10000。 |
每个分片最大支持1GB,单个对象超过1TB无法进行迁移。 |
FILE_PATH_TOO_LONG |
OBS文件路径超过最大值 1024。 |
OBS最大路径只支持1024位,超过最大值无法迁移。 |