这两天因为某云的事情吓着了,而且我是三块硬盘做 RAID0 (笑哭脸~),现在准备把网站 7 个 T 大小的文件,想时时同步到 4 台 2T 的服务器中,几十万个文件夹三级嵌套在一个超大文件夹中,路径如 static/123/345/456/blahblah.jpg ,想实现主服务器删除一个文件,备份服务器也马上自动删除该文件,主服务器新增一个文件,备份服务器也马上同步增加该文件,这样即使主服务器挂了,备份服务器可以第一时间被调度冲上前线扛起任务。因为还没有 8T 大小的服务器,只能同步到 4 台 2T 大小的服务器,怎么实现最好?
1
zynlp 2018-08-07 13:44:42 +08:00 via iPhone
现在的 7t 数据都在单台服务器上?
|
2
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 瞎想的 |
3
alwayshere OP @zynlp 三块硬盘做 RAID0 完全放得下 现在有点后悔了
|
4
rwdy2008 2018-08-07 13:48:28 +08:00
你这么大的文件,就算做好了同步机制,怕是也达不到你想要的“马上”的效果啊
你这个架构可能要调整了 |
5
qcloud 2018-08-07 13:49:21 +08:00 via iPhone
Syncthing
|
7
n2ex2 2018-08-07 13:51:28 +08:00 via Android 1
这样很可能主备一起挂,就像某云,定期人工检查后做冷备份比较稳。
7t 的图片好奇是什么图 |
8
kaneg 2018-08-07 13:51:45 +08:00 via iPhone
数据同步用 rsync 可以,可以配置 crontab 每隔一定时间同步。不过实时貌似做不到,只能尽可能缩短间隔,但 rsync 从几 T 的文件中找到差异,也应该要花点时间的。
|
9
iwaifor 2018-08-07 13:55:53 +08:00
rsync+notify 可以同步增删改
|
11
gamexg 2018-08-07 14:01:31 +08:00 via Android
如上 rsync + notify。
但是腾讯 3 副本全挂,你这里如果源出错很可能会把错误也同步到备份服务器,和腾讯一样了。 建议备份服务器上个 zfs 文件系统,开启快照,保证即使同步到错误数据及时发现的话也能回滚快照。 zfs 我只个人用过 freenas,看起来挺好用。 |
12
aijam 2018-08-07 14:02:37 +08:00
上 S3 之类的吧,花点钱一劳永逸。
|
13
3653553 2018-08-07 14:11:00 +08:00
我用同步软件备份,一般也就几十个 G,7T 太多,没试过,感觉扫描就很费时间。
|
14
my3157 2018-08-07 14:23:20 +08:00
扔到 s3 之类的对象存储上, 价格会稍微贵点, 一个月几百块钱吧
|
15
neoska 2018-08-07 14:40:39 +08:00
rsync 把
先在 123 这一层统计下数据大小,然后按文件夹大小分配到几台机子, 分别设置 rsync,rsync 默认你在主删了以后从不会删,除非你加特定的选项要求删除。 另外有个特别想说的就是:3 块直接做 raid0 真的心大。。。。如果是我至少做个 raid5 加至少 1 块备。。 |
16
lygmqkl 2018-08-07 14:51:33 +08:00
7t 的图片 我想说 就算同步了。。。也没啥意义了。。。
|
17
ryd994 2018-08-07 15:24:42 +08:00 via Android
iSCSI+zfs
不要低估内网性能 |
18
swulling 2018-08-07 15:30:22 +08:00 via iPhone
备份不要陷入误区,一定要实现百分百的可恢复。
其实只能恢复比如说 99%,总比全丢了强吧。RAID0 太大胆了,你先用 rsync 先备份着,恢复不实时总比都丢了好吧。 |
19
swulling 2018-08-07 15:31:53 +08:00 via iPhone
备份这件事情,再有缺陷的解决方案,也比不备份强。
我见过好几个因为没有一个完美的备份方案或者一直在开发这个完美备份方案,导致连基本的冷备都没有,最终吃亏的案例… |
20
ladypxy 2018-08-07 15:49:36 +08:00
实时同步的意义是啥?
我现在服务器全是 freebsd+zfs,每几分钟生成一个快照,直接把快照通过网络发送到另外的机器上。然后本机快照保留 7 天,远程机器快照保留 90 天。这样哪怕出问题,丢失的也是快照之间的数据 |
21
huangzxx 2018-08-07 15:53:08 +08:00
试试 lsync 可以满足你功能,但性能得测一下。
用最新版本: https://github.com/axkibe/lsyncd |
22
zwy100e72 2018-08-07 18:13:50 +08:00 via iPhone
网上一个 YouTube 主播说,企业资料你至少有 3 个独立备份才能保证一定的可靠性,要想保证高可靠性至少要备份 5 份。楼主扩容吧,单台机器扩容到 10T 就好了😅
如果你当前文件分布还算均匀的话,可以考虑在 2T 的备份服务器上设置 rsync ;不过热数据还是建议分开备份 |
23
likuku 2018-08-07 21:03:17 +08:00
这...不是备份啊,兄弟。
你这只算是增加了一个备用节点,根本不算是“备份”。 |
24
likuku 2018-08-07 21:09:59 +08:00
实时完全同步这么玩,即便是当作不用上线的”备份“,也是很危险。
在线机器误操作删除了呢?所谓 备份机 也同步删除了,你怎么办? 在一定周期内给独立备份只增不删,这样你才更有机会找回你意外丢失的数据,定期清理陈旧备份(合理备份策略:比如备份机上每天一个增量快照 /版本,保留最近 7 天的每日备份,7 天以上,30 天以内的,保留每周日的备份,30 天以上,180 天以内,保留每月第一个周日的备份) |
25
likuku 2018-08-07 21:11:16 +08:00
“三块硬盘做 RAID0 ” ... 很罕见的自杀行为...
|
26
ndd200 2018-08-07 21:32:30 +08:00
硬要做实时,开销可能比较大,实现也麻烦,24 楼的想法其实挺好的。
如果不考虑费用,可以同时往阿里 /腾讯的云存储丢一份,我记得他们有一种存储方案是低访问模式(具体名称记不清了,只存不取费用便宜),两家同时挂掉怕是要互联网地震了。 |
27
opengps 2018-08-07 22:14:12 +08:00 via Android 2
raid0 存在的目的:
1,拼凑最大存储量 2,大块读写速度提升 3,让不做备份的后悔到死 |
28
tetsai 2018-08-07 22:31:36 +08:00
服务器删除,备份也删除,这个做法并不是很好,删除后应该继续转移到冷备份服务器保留 XX 份
|
31
bryant183 2018-08-08 06:28:54 +08:00 via Android
楼主网站是“王”网? 2333
|
32
msg7086 2018-08-08 07:58:13 +08:00
1. 随时同步不算备份,算冗余。请另外做备份方案。
2. 多台服务器合并空间可以考虑 GlusterFS 之类的方案。 |
33
aiseo 2018-08-08 08:48:55 +08:00
我是定期备份回本地群晖,同时备份到其他机房
群晖是 raid5+本版资源管理,本地定期冷备 |
34
realpg 2018-08-08 08:50:05 +08:00
RAID0 看哭了……
|