oss迁移以及校验

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: oss的数据迁移以及一致性校验

oss迁移我采用的是阿里提供的ossimport2工具
迁移采用的方式是单机迁移的方式,这种工具配置简单,迁移效率高

ossimport2工具配置文件结构大概如下:
├── bin
│ └── ossimport2.jar 启动服务需要的jar
├── conf 配置文件位置
│ ├── local_job1.cfg 每一个cfg可以代表一个bucket
│ ├── local_job.cfg
│ └── sys.properties 配置任务运行的并发度以及资源分配
├── console.bat
├── console.sh
├── import.bat
├── import.sh 系统的导入脚本,不需要更改

工具中需要更改的文件是local_job.cfg:
其实在下载ossimport之后,里面的readme 会有详尽的配置项说明,此处我就不赘述了

(ossimport2支持多种源端迁移 此处是以源端目标端都为oss为例)

#源端的类型
srcType=oss

#源access key
srcAccessKey=xxxx
#源secrect key 
srcSecretKey=xxxx
#源endpoint,
srcDomain=http://xxxx
#源bucket名字 
srcBucket=xxx

#目的 access key
destAccessKey=xxx

#目的 secret key
destSecretKey=xxx

#目的endpoint(不要加上bucket的名字)
destDomain=http://xxx

##目的bucket,不需要加上"/"
destBucket=xxxx


#job名字,每个任务唯一,不同的bucket起不同的名字
jobName=local_testxx

sys.properties
一般不需要更改

命令行查看oss内容

ossutil

在oss帮助文档界面下载:ossutil

./ossutil64 ls   --config-file ossconfigfile oss://bucketname```  


# 启动

**声明变量**

export work_dir=/dir of ossimport



**启动进程**


nohup java  -jar  ${work_dir}/bin/ossimport2.jar  -c ${work_dir}/conf/sys.properties  start > ${work_dir}/logs/ossimport2.log 2>&1 &


**启动任务**

java -jar $work_dir/bin/ossimport2.jar -c $work_dir/conf/sys.properties submit $work_dir/conf/local_job1.cfg

java -jar $work_dir/bin/ossimport2.jar -c $work_dir/conf/sys.properties submit $work_dir/conf/local_job2.cfg (多个bucket多个cfg文件)






查看任务状态


java -jar $work_dir/bin/ossimport2.jar -c $work_dir/conf/sys.properties  stat  detail


#校验
> 迁移后需要对源端目标端的迁移数据进行校验,从数量以及内容两方面进行比对校验,确保迁移的一致性


文件数校验

./ossutil64 ls oss://bucketname --config-file ./ossconfigfile | sed '/^Last/d' | grep Object >count.txt`

内容校验比对
oss内容校验采用比对etag的方式
获取etag的方式如下:

./ossutil64 ls oss://bucketname --config-file ./ossconfigfile | sed '/^Last/d' | awk '{print $7}'  >etag.txt

数据量校验

./ossutil64 ls oss://bucketname --config-file ./ossconfigfile | sed '/^Last/d' | awk 'BEGIN {size=0} {size=size+$5} END{print "endsizeis",size/1024/1024,"M"}' >count_data.txt

校验中使用的ossconfigfile其实就是oss的鉴权信息,内容如下:

[Credentials]
language=EN
endpoint=http://ossxxxx.com
accessKeyID=xxxxx
accessKeySecret=xxxx
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
6月前
|
JSON 前端开发 开发工具
对象存储oss使用问题之OSS文件下载中CRC64校验如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
458 0
|
Java 对象存储 流计算
阿里云ElasticSearch迁移-基于OSS全增量快照
阿里云ElasticSearch迁移-基于OSS全增量快照
阿里云ElasticSearch迁移-基于OSS全增量快照
|
存储 Linux API
如何迁移 OSS 的文件_3|学习笔记
快速学习如何迁移 OSS 的文件_3
1358 0
|
API 开发工具 对象存储
如何迁移 OSS 的文件_2|学习笔记
快速学习如何迁移 OSS 的文件_2
202 0
|
Java 应用服务中间件 API
如何迁移 OSS 的文件_1|学习笔记
快速学习如何迁移 OSS 的文件_1
520 0
|
弹性计算 Linux Go
阿里云ecs服务器之间大文件迁移利用阿里云oss通过内网传输解决方案
阿里云ecs服务器之间大文件迁移利用阿里云oss通过内网传输解决方案
|
前端开发 JavaScript 对象存储
如何把emlog的css,js,字体,图片等迁移到阿里云oss提升网站加载速度
如何把emlog的css,js,字体,图片等迁移到阿里云oss提升网站加载速度
324 0
如何把emlog的css,js,字体,图片等迁移到阿里云oss提升网站加载速度
|
Linux 对象存储 iOS开发
ossutil迁移日志文件至阿里云OSS
ossutil支持在Windows、Linux、macOS等系统中运行,您可以根据实际环境下载和安装合适的版本。
644 0
|
存储 分布式计算 资源调度
高效迁移 HDFS 海量文件到 OSS | 学习笔记
快速学习高效迁移 HDFS 海量文件到 OSS。
340 0
高效迁移 HDFS 海量文件到 OSS | 学习笔记
|
存储 弹性计算 分布式计算
【OSS】从HDFS迁移数据到OSS
本文介绍如何使用阿里云Jindo DistCp从HDFS迁移数据到OSS。
384 0
【OSS】从HDFS迁移数据到OSS