近千万个几百 K~几兆的小文件,目录存放是以 MD5 分割出来的四级目录,形如:/static/ac/bd/ef/blahblah.zip ,并且每天文件数量以几百个的增加,目前想要实时备份此服务器的数据:
先谢为敬
1
a852695 2019-06-13 08:51:04 +08:00
rsync 本身就是增量的吧
|
2
JingKeWu 2019-06-13 09:00:46 +08:00
内网环境 先用 nc+tar 全部打包传输过去 增量用 lsyncd
|
3
dianso 2019-06-13 09:06:33 +08:00 via Android
nc 开端口同步啊
|
4
zycpp 2019-06-13 09:10:06 +08:00 via iPhone
就算每天增加 1000 个,这 1 千万的量都要累积二十多年……好奇这是啥数据?
天文?地理信息? |
6
liangkang1436 2019-06-13 09:16:25 +08:00
@mattx 老哥稳!开车吗?
|
7
luozic 2019-06-13 09:16:57 +08:00
這麽多 還不上文件數據庫來存?
|
8
ldrljq 2019-06-13 09:23:05 +08:00
支持 Mirror 模式的磁盘阵列加光纤,复制是基于块模式的,还可以组建双活和高可用。
|
9
silencefent 2019-06-13 09:24:21 +08:00
rsync 转移到 nas 盘里,比维持服务器磁盘要便宜得多
|
10
mattx 2019-06-13 09:38:37 +08:00
@liangkang1436 种子 可以通过 种子爬虫来获得, 我只是猜测下, 不一定是真实情况.
|
11
luozic 2019-06-13 09:40:19 +08:00
同步的時候直接用數據庫日志備份 or 增量備份就行。
|
12
DestinyHunter 2019-06-13 09:46:37 +08:00
我仿佛看到了你在开车
|
13
kisshere OP |
14
wweir 2019-06-13 09:58:54 +08:00
磁盘块拷贝?
|
15
lvzhiqiang 2019-06-13 10:14:20 +08:00
目前我们生产环境的静态文件同步就是通过 rsync+inotify 方式同步备份的。
|
16
pxw2002 2019-06-13 10:19:09 +08:00 via Android
rsync+inotify
就是增量的呀 |
17
Tink 2019-06-13 10:34:28 +08:00 via iPhone
rsync
|
18
oott123 2019-06-13 10:35:00 +08:00 via Android
值得提醒的是 raid 不是备份
|
19
jamblues 2019-06-13 10:36:09 +08:00 via iPhone
相信我,inotify 文件多了,每次机器重启或者服务重启 I/O 会卡到你怀疑人生。
目前比较实用的方案就是用 K/V 方案存 leveldb 类似的产品(如 ssdb 或 pika )做集群。 |
20
HarrisonZ 2019-06-13 10:37:45 +08:00
不如直接 s3 或者 oss
|
21
EPr2hh6LADQWqRVH 2019-06-13 10:38:53 +08:00 via Android
无脑 ceph
|
22
vincel 2019-06-13 10:39:42 +08:00
TFS 集群
|
23
AlohaV2 2019-06-13 10:42:33 +08:00
rsync
|
25
pyder 2019-06-13 11:31:07 +08:00 via iPhone
貌似是做 CV 的呀,应该全是图片,用来训练的。
|
26
zelin44913 2019-06-13 12:11:46 +08:00
rsync+inotify 只适合少量文件(十万以内)
|
27
zelin44913 2019-06-13 12:22:04 +08:00
既然有考虑采购服务器,不如采购一台群晖 nas, 然后配置 Cloud Sync 套件做实时同步增量备份至阿里云 OSS
|
28
okjb 2019-06-13 12:24:48 +08:00 via Android
今年 18 岁,申请上车😂
|
29
mdjxyz 2019-06-13 12:30:32 +08:00
上 minio 吧
|
30
loading 2019-06-13 12:31:41 +08:00 via Android
minio
|
31
cy97cool 2019-06-13 13:42:58 +08:00 via Android
seaweedfs
|
32
jamblues 2019-06-13 13:46:28 +08:00 via iPhone
@kisshere 文件多了都会在 I/O 上有瓶颈 无论是 rsync 还是 lsync 底层是绕不过的
|
33
iwannarun2 2019-06-13 13:48:35 +08:00
疑车无据
|
34
qile1 2019-06-13 13:52:59 +08:00 via Android
文件如果放那里只读取,为啥不按年月日存放,这样同步起来只同步每天的数据不是简单了?
|
35
Livid MOD |
37
jamblues 2019-06-13 14:19:19 +08:00 via iPhone
@cdlixucd 解决方案就是多个小文件合成大文件 降维 减少 I/O 开销,推荐可以试试 pika 或者 ssdb,优势是支撑几 kw 问题不大 内置分布式 也不用自己维护同步 弱点是性能只有在 ssd 下才能体现 如果要求不高 普通硬盘也可以试试
|
38
cdlixucd 2019-06-13 14:29:42 +08:00
@jamblues 我们现在就遇到这个问题 都是在云平台上面 之前放在 google 对象存储里,也是有很多小的文件,然后要传到 AWS 对象存储 直接用的 rsync 来做的,先做一部分 后面切换平台再做增量的 你说的这种其实也还好 ,合成大文件后到目的端还是得拆开,一样的效果 真正的提升还是要对比吧
|
39
xiaogui 2019-06-13 14:45:48 +08:00
tar 分包
|
40
ps1aniuge 2019-06-13 14:53:20 +08:00 1
8 楼=唯一正解。
本地 mirror,远程 mirror。 任何方案都打不过 8 楼方案。 |
41
hugee 2019-06-13 16:38:28 +08:00
按天存储多好啊
|
42
jaskle 2019-06-13 20:49:54 +08:00 via Android
git,很好用
|
43
glfpes 2019-06-13 22:06:13 +08:00 via Android
lsyncd,更简单的 rsync+inotify
|
45
AlloVince 2019-06-13 23:19:27 +08:00
@zelin44913 Cloud Sync 在文件数百万级别就已经不好使了
|