网站内容备份, 7T 大小的文件,怎样时时同步到 4 台 2T 的服务器中?

2018-08-07 13:36:35 +08:00
 alwayshere

这两天因为某云的事情吓着了,而且我是三块硬盘做 RAID0 (笑哭脸~),现在准备把网站 7 个 T 大小的文件,想时时同步到 4 台 2T 的服务器中,几十万个文件夹三级嵌套在一个超大文件夹中,路径如 static/123/345/456/blahblah.jpg ,想实现主服务器删除一个文件,备份服务器也马上自动删除该文件,主服务器新增一个文件,备份服务器也马上同步增加该文件,这样即使主服务器挂了,备份服务器可以第一时间被调度冲上前线扛起任务。因为还没有 8T 大小的服务器,只能同步到 4 台 2T 大小的服务器,怎么实现最好?

4393 次点击
所在节点    程序员
34 条回复
zynlp
2018-08-07 13:44:42 +08:00
现在的 7t 数据都在单台服务器上?
herozhang
2018-08-07 13:46:56 +08:00
按照文件内容结尾对应的十六进制数,均匀的把文件分布到 4 台不同的服务器上。
第一台:0,1,2,3
第二台:4,5,6,7
第三台:8,9,A,B
第四台:C,D,E,F

瞎想的
alwayshere
2018-08-07 13:46:56 +08:00
@zynlp 三块硬盘做 RAID0 完全放得下 现在有点后悔了
rwdy2008
2018-08-07 13:48:28 +08:00
你这么大的文件,就算做好了同步机制,怕是也达不到你想要的“马上”的效果啊
你这个架构可能要调整了
qcloud
2018-08-07 13:49:21 +08:00
Syncthing
chinawrj
2018-08-07 13:49:25 +08:00
@herozhang 的确瞎想,没访问到文件内容怎么知道要去那个服务器访问,还没考虑到文件路径问题
n2ex2
2018-08-07 13:51:28 +08:00
这样很可能主备一起挂,就像某云,定期人工检查后做冷备份比较稳。
7t 的图片好奇是什么图
kaneg
2018-08-07 13:51:45 +08:00
数据同步用 rsync 可以,可以配置 crontab 每隔一定时间同步。不过实时貌似做不到,只能尽可能缩短间隔,但 rsync 从几 T 的文件中找到差异,也应该要花点时间的。
iwaifor
2018-08-07 13:55:53 +08:00
rsync+notify 可以同步增删改
n2ex2
2018-08-07 13:56:50 +08:00
@kaneg 实时其实也可以的,有 lsyncd,会监听文件的变化。
gamexg
2018-08-07 14:01:31 +08:00
如上 rsync + notify。
但是腾讯 3 副本全挂,你这里如果源出错很可能会把错误也同步到备份服务器,和腾讯一样了。
建议备份服务器上个 zfs 文件系统,开启快照,保证即使同步到错误数据及时发现的话也能回滚快照。
zfs 我只个人用过 freenas,看起来挺好用。
aijam
2018-08-07 14:02:37 +08:00
上 S3 之类的吧,花点钱一劳永逸。
3653553
2018-08-07 14:11:00 +08:00
我用同步软件备份,一般也就几十个 G,7T 太多,没试过,感觉扫描就很费时间。
my3157
2018-08-07 14:23:20 +08:00
扔到 s3 之类的对象存储上, 价格会稍微贵点, 一个月几百块钱吧
neoska
2018-08-07 14:40:39 +08:00
rsync 把
先在 123 这一层统计下数据大小,然后按文件夹大小分配到几台机子,
分别设置 rsync,rsync 默认你在主删了以后从不会删,除非你加特定的选项要求删除。
另外有个特别想说的就是:3 块直接做 raid0 真的心大。。。。如果是我至少做个 raid5 加至少 1 块备。。
lygmqkl
2018-08-07 14:51:33 +08:00
7t 的图片 我想说 就算同步了。。。也没啥意义了。。。
ryd994
2018-08-07 15:24:42 +08:00
iSCSI+zfs
不要低估内网性能
swulling
2018-08-07 15:30:22 +08:00
备份不要陷入误区,一定要实现百分百的可恢复。

其实只能恢复比如说 99%,总比全丢了强吧。RAID0 太大胆了,你先用 rsync 先备份着,恢复不实时总比都丢了好吧。
swulling
2018-08-07 15:31:53 +08:00
备份这件事情,再有缺陷的解决方案,也比不备份强。

我见过好几个因为没有一个完美的备份方案或者一直在开发这个完美备份方案,导致连基本的冷备都没有,最终吃亏的案例…
ladypxy
2018-08-07 15:49:36 +08:00
实时同步的意义是啥?
我现在服务器全是 freebsd+zfs,每几分钟生成一个快照,直接把快照通过网络发送到另外的机器上。然后本机快照保留 7 天,远程机器快照保留 90 天。这样哪怕出问题,丢失的也是快照之间的数据

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/477587

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX