分布式系统做磁盘空间检查的坑,有什么技巧吗

2022-09-07 10:04:57 +08:00
 Akiya

出现这个问题是,有客户使用了 NAS 作为所有节点的数据盘,然后在做某些操作的时候,磁盘空间检查就失效了。

比如,有 4 个节点,每个节点都需要 10G 的空间,然后 NAS 上剩 20G ,每个节点检查都认为空间足够了,但是实际上总共需要 40G 。

自从考虑共享磁盘开始,问题的复杂度上升了非常多,需要考虑的内容包括

所以想了解一些业界通常的做法

1483 次点击
所在节点    程序员
15 条回复
opengps
2022-09-07 10:11:12 +08:00
说点可能帮不上的:单盘 nas 依然受制于单盘大小,网络存储类产品的更进一步是对象存储服务,做到自身可扩展,但对外表现成“无限容量”,从而解决这个问题
gaodq
2022-09-07 10:23:22 +08:00
nas 分区呢,每个节点一个区,是什么分布式系统,没怎么听说过分布式系统跑在 nas 上
liuxiniszuhi3
2022-09-07 10:33:04 +08:00
通常的做法不是系统管理员评估和增加空间吗?
xuanbg
2022-09-07 10:33:47 +08:00
自己算,加定期查询空间使用情况修正自己计算的结果。这样对磁盘空间的使用情况会相对比较准确,往里面写不至于空间不足写不进去。
yulgang
2022-09-07 10:37:03 +08:00
我还以为要说 ceph ,结果是单点 nas 。。。。。
sampeng
2022-09-07 11:16:07 +08:00
我还以为要说 ceph ,结果是单点 nas 。。。。。
sampeng
2022-09-07 11:17:42 +08:00
我现在公司就是用的企业级的 NAS 。。。怎么说呢?在以前那个时代是一个好的产品。。但是,现在看真的是愚蠢到爆炸。可伸缩性等于 0 ,成本巨高,维护成本巨高,超级单点。NAS 挂了,几十台服务器全挂,而且是救不回来那种
billlee
2022-09-07 11:56:10 +08:00
共享的你就创建文件来来识别嘛
microxiaoxiao
2022-09-07 12:05:09 +08:00
判断是不是网络盘,通过文件系统类型判断。共享盘总计判断,其实核心就在于判断共享盘 /多少客户端。以你那个例子说明,比如 20G ,每个客户端预期 10G ,那么最多允许两个连接,多余的其实就不能连接上了。其实就是预分配了
kenneth104
2022-09-07 13:12:40 +08:00
我还以为要说 ceph ,结果是单点 nas 。。。。。
jim9606
2022-09-07 13:52:43 +08:00
如果你已经到了要抠这点可用空间的程度,你还是加硬盘吧。废力气去改系统软件实现也只是把加硬盘的时间延后一丢丢,横竖还是得加硬盘。
imzcg2
2022-09-08 09:20:16 +08:00
太简单了,节点互相发现就好了,一比对网络主机名等信息一比对就露馅了,也可以在登陆进去的时候"友好的"弹窗:我们发现你用共享盘了,空间可能不足,请即使扩容,和免责条款加上声明即可
flynaj
2022-09-08 14:37:49 +08:00
不用检查,过后空间也可能不足,空间不足直接报错就行。
sbilly
2022-09-09 16:55:43 +08:00
为啥要检查?如果有最小空间要求:
sbilly
2022-09-09 16:58:06 +08:00
为啥要检查?
1. 如果有最小空间要求,建议把创建文件把空间占了。
2. 如果没有最小空间要求,写满了报错即可。

此处“最小空间要求”,是小于此磁盘空间无法正常运行的意思。

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

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

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

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

© 2021 V2EX