任务进度恢复
所有文档
menu

对象存储 BOS

任务进度恢复

产品详情自助选购

status.log 里可以看到相应的文件列表具体的迁移进度,如果client崩溃了可以从日志中找到相应的断点恢复迁移,进度恢复是根据任务列表(list)的粒度来进行的。

示例:

client.properties文件配置:

taskList=/home/work/list/task_list

task_list文件内容:

/home/work/list/object_list1
/home/work/list/object_list2
# /home/work/list/object_list3

object_list1文件内容:

bucket1 obj1
bucket1 obj2
bucket1 obj3
#bucket1 obj4
bucket1 obj5

object_list2文件内容:

bucket1 obj21
#bucket1 obj22
bucket1 obj23
bucket1 obj24
bucket1 obj25
bucket1 obj26

status.log文件内容:

2015-12-31 17:13:42.013 /home/work/list/object_list1 2/-1
2015-12-31 17:13:45.014 /home/work/list/object_list2 3/-1
2015-12-31 17:13:48.014 /home/work/list/object_list2 4/6
2015-12-31 17:13:51.014 /home/work/list/object_list1 5/5 finished
2015-12-31 17:13:53.014 /home/work/list/object_list2 4/6
  1. object_list1 2/-1 表示已经处理完了 object_list1 这个列表的第2行,-1 表示这个文件还没有读完不知道有多少行,如果这个时候崩溃了,由于采用了并发,所以并不知道具体是完成了列表中的哪几个文件的迁移。
  2. 如果需要从某个进度位置重新开始任务,需要建立新的list文件,使用新的配置重新启动client。首先要根据status.log文件内容找出还有哪些object_list文件的数据没有迁移完,例如object_list2还没有迁移完,就将其放到新的task_list_continue文件里,并修改配置文件,示例如下:

修改client.properties文件:

taskList=/home/work/list/task_list_continue

修改task_list_continue 文件:

/home/work/list/object_list2

redo重传

当所有需要迁移的列表处理完之后,需要对迁移失败或者迁移过程当中出现问题的文件进行重传。 从迁移日志中整理出重传的列表:redo和unsent日志文件中的文件可以使用KEEP_DESTITNATION的迁移策略,但是对于failed的文件列表,需要考虑使用FORCE_OVERWRITE策略进行迁移,因为可能是因为迁移出现了数据错误。

上一篇
日志
下一篇
异常处理