应用场景
数据从一个OOS账户下的Bucket迁移到另一个OOS账户下的Bucket,或者同一个OOS账户下不同Bucket之间的数据迁移。
注意在线迁移会占用网络资源。若您的业务比较重要,建议您对迁移任务设置限速(设置system.conf中的maxThroughput),或在空闲时间启动迁移任务。
前提条件
- Windows7 及以上版本或 Linux CentOS 7.x 及以上版本。
- Java 1.8 及以上版本。
- 迁移工具所在的服务器可以访问OOS资源池。
具体操作
确定目标Bucket
在OOS中创建目标Bucket,具体操作请参见创建存储桶(Bucket)或PUT Bucket ,用于存放迁移的数据。也可以使用已存在的Bucket。
下载安装迁移工具
- 下载数据迁移工具。
- 解压缩安装包
-
对于Windows客户端,直接解压缩迁移工具zip 包即可。
-
对于Linux客户端,执行 unzip 解压缩安装包。
迁移工具解压后的目录结果如下:
CTYUN_OOS_Import_versionid |----config |-------log4j2.xml |-------migrate.conf |-------system.conf |----lib |----import.sh |----import.bat
-
修改配置文件
更新迁移任务配置文件
migrate.conf,配置源和目的资源池信息、迁移配置项。您可根据需要配置system.conf和 log4j2.xml文件,具体参数介绍参见常用工具-OOS数据迁移工具-迁移步骤。其中:
- srcType需填写为:OOS,代表天翼云对象存储(经典版)I型。
- srcEndpoint和destEndpoint根据迁移需求填写,OOS Endpoint参考控制台指南-域名(Endpoint)-域名(Endpoint)列表。
- 源OOS AccessKey和SecretKey需要至少拥有源Bucket的读权限,目的OOS AccessKeyID和SecretAccessKey需要至少拥有目的Bucket的写权限。
migrate.conf配置示例如下:
{
"srcType":"OOS", #从OOS迁移文件
"srcEndpoint":"oos-cn.ctyunapi.cn", #源OOS的Endpoint
"srcAccessKey":"AccessKeyID", #源OOS的AccessKeyID
"srcSecretKey":"SecretAccessKey", #源 OOS的SecretAccessKey
"srcBucket":"srcoosbucket", #源 OOS 的 bucket
"srcPrefix":"logs/", #OOS 上要迁移文件的前缀,请根据实际填写
"srcMarker":"", #从第一个文件开始迁移
"srcStopObject":"", #OOS 上要迁移的截止文件
"destEndpoint":"oos-cn.ctyunapi.cn", #目标OOS的Endpoint
"destAccessKey":"AccessKeyID", # OOS的AccessKeyID
"destSecretKey":"SecretAccessKey", # OOS的SecretAccessKey
"destBucket":"BucktName", #目标OOS 的Bucket名称
"isSkipExistFile":false #是否跳过目标资源池中已有的文件
}
执行迁移
- 对于 Windows 客户端,执行 import.bat 启动迁移。
1.打开开始菜单,搜索cmd,打开命令提示符窗口。
2.cd到压缩工具所在的目录下,例如 cd c:\CTYUN_OOS_Import_ versionid 。
3.执行import.bat。 - 对于Linux客户端,进入CTYUN_OOS_Import_ versionid ,执行命令./import.sh启动迁移。
查看迁移状态
迁移任务创建后,会生成相应日志记录迁移情况:
- 迁移日志:migratelog文件夹下生成四种日志:异常日志、成功日志、跳过文件日志、其他日志。
- 运行日志:在logs/migrate文件夹下,根据log4j2.xml配置可生成server.log、error.log、dubug.log等。默认未开启debug, 不记录debug.log。
您可通过日志查看迁移失败的文件,并且可以配置migrate.conf文件中的migrateLogFile参数实现对失败文件的再次迁移。
说明数据迁移工具支持断点续传,如果迁移过程中程序被终止了,可以重新启动迁移任务,从之前中断的位置继续开始迁移。继续迁移的步骤如下:
1. 保留上次迁移执行过程中产生的backup文件。如果是在另外一台服务器上重新开始迁移任务,需要将backup文件拷贝到新服务器的迁移工具所在目录下。
2. (可选)查看nextMarker.txt文件中记录的上次数据迁移位置。修改migrate.conf,设置srcMarker为上次迁移位置,如果不修改,则可能会造成文件重复迁移。