海量小文件同步

简介:

集中式存储是目前中小企业广泛采用的方案,随着时间的流逝,这些存储不可避免的膨胀。集中式存储的弊端愈加显现,同步就是其中一个。


环境:

文件容量以TB计,里面是千万/亿级的小文件,分布在成千上万的子文件夹内。


分析

rsync几乎是唯一选择,海量小文件同步面临的问题主要是rsync无止境的扫描,同步进度难以把控,巨大的临时目录等。所以解决办法只能是庖丁解牛,将一个大任务分解成N个小任务。


场景假设如下:


1、源服务器目录结构是按照年月日分布,示例如下

1
/www/images/ 2014 / 04 / 30 /xxx.png


2、目标rsync服务器为 192.168.1.2::www,且可写。


解决办法:

很明显,同步最底层的目录最快。


1
2
3
4
5
6
find  /www/images  \
     -mindepth 3 \
     -maxdepth 3 \
     - type  d \
     - exec  rsync  -aquR  {}/ 192.168.1.2::www /images/  \; \
     - exec  echo  /www/images/ {}  done  \;


注:-R 可解决远程rsync服务器的目录结构问题。


另一种方法是for循环,比较好理解。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/env bash
 
dir = "www/images"
 
for  year  in   2014 2015 ; do
         for  month  in  ` seq  1 12`; do
                 for  day  in  ` seq  1 31`; do
                         if  [  -d /$ dir /$year/$month/$day ]; then
                                 rsync  -aqu /$ dir /$year/$month/$day/  192.168.1.2::$ dir /$year/$month/$day/
                         else
                                 echo  "directory /$dir/$year/$month/$day not exist."
                         fi
                 done
         done
done


集中式存储的缺点是: 必须提前做容量规划,存储严格控制在设计容量内之内,如果要扩展,必须重新进行容量规划。


要根本解决这个问题,终极的办法似乎只有分布式文件系统,用全新的设计理念的来解决存储问题,按需扩展。


可惜的是,目前的分布式文件系统几乎都是为大文件而设计,对于海量小文件支持都不够。ceph足够优秀,但是还不完全成熟。










本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/1404981,如需转载请自行联系原作者

目录
相关文章
|
3月前
|
缓存 C# 文件存储
C# 本地文件存储技术
C# 本地文件存储技术
78 0
|
5月前
|
存储 弹性计算 分布式计算
ChunkServer 与云存储的集成
【8月更文第30天】随着数据量的不断增长,传统的本地存储解决方案越来越难以满足大数据处理的需求。为了应对这一挑战,许多组织开始探索将分布式文件系统中的 ChunkServer 与公有云存储服务集成的方法,以实现存储容量的无缝扩展。本文将详细探讨 ChunkServer 与云存储服务集成的技术细节,并通过示例代码展示这一过程。
54 0
|
存储 分布式计算 容灾
文件服务器存储解决方案探索
文件服务器存储解决方案探索
885 0
文件服务器存储解决方案探索
|
存储 Linux iOS开发
聊聊几款文件同步备份工具,你更喜欢哪一款呢?
文件备份对企业的价值对于绝大多数人而言,电脑中的不少文件对于我们来说都非常重要,一旦丢失,损失将会难以估量。随着网络威胁的不断发展和变得越来越复杂,文件传输和托管文件传输之间的区别对于企业来说至关重要。应用先进技术管理文件传输的挑战在于区分以文档为中心的协作文件共享和自动...
1259 1
聊聊几款文件同步备份工具,你更喜欢哪一款呢?
|
存储 分布式计算 网络协议
盘点分布式文件存储系统
盘点分布式文件存储系统
831 0
盘点分布式文件存储系统
|
数据库
文件同步工具
转载:http://www.cnblogs.com/yanxiaodi/archive/2011/03/21/2296462.html   服务器文件同步管理 前几天有台服务器电源坏了,还好数据没有丢。
1079 0
|
存储 大数据 应用服务中间件
|
存储 关系型数据库 应用服务中间件
|
Web App开发 存储 移动开发