应用场景
将数据从阿里云OSS的Bucket迁移到OOS的Bucket。
注意
在线迁移会占用源地址和目的地址的网络资源。若您的业务比较重要,建议您对迁移任务设置限速(设置system.conf中的maxThroughput),或在空闲时间启动迁移任务。
从阿里云OSS迁移到OOS的文件,仅迁移当前可读取到的文件,不支持按object version Id 迁移。
前提条件
- Windows7 及以上版本或 Linux CentOS 7.x 及以上版本。
- Java 1.8 及以上版本。
- 迁移工具所在的服务器可以访问阿里云OSS资源池和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需填写为:OSS,代表阿里云。
- srcEndpoint为阿里云Bucket的Endpoint,您可在阿里云控制台Bucket概览中进行查看。
- OSS AccessKey和SecretKey需要至少拥有源Bucket的读权限,OOS的AccessKeyID和SecretAccessKey需要至少拥有目的Bucket的写权限。
migrate.conf配置示例如下:
{
"srcType":"OSS", #从阿里云迁移文件
"srcEndpoint":"oss-cn-hangzhou.aliyuncs.com", #阿里云的Endpoint,请根据实际填写
"srcAccessKey":"your oss accessKey",#阿里云的AccessKey
"srcSecretKey":"your oss secretKey", #阿里云的SecretKey
"srcBucket":"ossbucket", #阿里云的Bucket
"srcPrefix":"logs/", #阿里云上要迁移文件的前缀,请根据实际填写
"srcMarker":"", #从第一个文件开始迁移
"srcStopObject":"", #阿里云上要迁移的截止文件
"destEndpoint":"oos-cn.ctyunapi.cn", #OOS的Endpoint
"destAccessKey":"AccessKeyID", # OOS的AccessKeyID
"destSecretKey":"SecretAccessKey", # OOS的SecretAccessKey
"destBucket":"BucketName", #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为上次迁移位置,如果不修改,则可能会造成文件重复迁移。