阿里云OSS 千万级图片上云实践

2019-04-07  本文已影响0人  泽_3b5f

背景信息

本作业讲解如何将本地图片数据迁移到OSS。
图片特点:图片数量1500万张,相对集中在某一两个目录中,小图片偏多(公式、特殊符号)。

上云要求

准备工作

阿里云对象存储OSS

阿里云ECS

阿里云默认的inode比较小,通过挂载云盘并 修改inode数量 来解决

挂载云SSD云盘

登录阿里云

  1. 购买按量付费ECS,配置为4核4G,100M按量付费宽带
  2. 进入ECS实例列表,点击上面购买的ECS实例,进入管理页面
  3. 左侧菜单选择本实例磁盘
    创建云盘, 调整所需容量
    挂载云盘,选择上述购买的云盘,确定

ossutil

参考 ossutil官方文档 进行配置

最后执行 ossutil64 ls 查看是否能运行

root@iZwz914pbzq5ymv637xr8qZ:/tmp# ./ossutil64 ls
CreationTime                                 Region    StorageClass    BucketName
2018-12-12 16:43:36 +0800 CST       oss-cn-shanghai        Standard    oss://cloudshell-cn-shanghai-ccr3tylw9i
2017-12-12 10:10:29 +0800 CST       oss-cn-shenzhen        Standard    oss://ennjoydev

附录

进行图片转存时,您需要确保分区容量和inode容量充足。

运行 df -h 选择分区容量充足的目录

dev@yinzhuo:/home$ df -h
Filesystem                   Size  Used Avail Use% Mounted on
udev                          16G     0   16G   0% /dev
tmpfs                        3.2G  1.9M  3.2G   1% /run
/dev/mapper/ubuntu--vg-root  467G   29G  415G   7% /
tmpfs                         16G     0   16G   0% /dev/shm

运行 df -i 查看inode使用情况

dev@yinzhuo:/home$ df -i
Filesystem                    Inodes  IUsed    IFree IUse% Mounted on
udev                         4100886    528  4100358    1% /dev
tmpfs                        4109062   1024  4108038    1% /run
/dev/mapper/ubuntu--vg-root 31121408 252063 30869345    1% /
tmpfs                        4109062      1  4109061    1% /dev/shm

若inode不够用, 考虑 修改inode数量

迁移实施

步骤一:文件目录二次处理,并压缩

提速技巧

find /文件所在绝对路径 -type f -print > /home/files.log

md5目录得到十六进制字符串,截取前几位。如本次作业截取前三位,共有 16 * 16 * 16 个一级目录

本作业属于一次性压缩和解压缩任务,使用 tar -cvf ,而不是 tar -czvf

步骤二:上传压缩文件到ECS,并解压

提速技巧

oss-cn-shenzhen.aliyuncs.com ==> oss-cn-shenzhen-internal.aliyuncs.com/

步骤三:上传图片文件至OSS

ossutil64 cp -rf /图片目录/ oss://ossBucket名称/

提速技巧

后续操作

上传结束后,先卸载释放云盘,再释放ECS

QA

为什么不使用OSS的 ECS数据迁移到OSS 方案

该方案要提交申请,截止19年4月3号,并不是完全商业化的

为什么不在本地主机,利用ossutil64直接上传到oss

本地上到oss,走的是外网,ECS到oss,走的是内网。速度有差距

是整体打包,还是分成几部分打包

看磁盘容量而定
如果分几部分,后期可用多台ECS并行上传,提高上传效率

图片完全重命名,还是沿用原来的名称

沿用原来名字。因为图片完全重命名,收益小于成本

删除大量文件,速度很慢
可以参考这篇文章

上一篇 下一篇

猜你喜欢

热点阅读