对象存储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策略进行迁移,因为可能是因为迁移出现了数据错误。

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