minio 一个坑爹的设计

2023-07-27 11:57:03 +08:00
 guoguobaba

之前的业务系统,使用腾讯云的 cos 对象存储,每个系统对应一个 bucket ,配腾讯云的 ak

后来系统多了,我就想用 minio 做一层 wrapper ,使用一个腾讯云的 ak ,然后 minio 上自己管理 ak ,给每个系统分配一个,现在 k8s 里用 cosfs-csi 创建一个 pvc ,然后用 minio 把 pvc 创建一个 minio server

结果一个星期后,我发现,我存在腾讯云的 50 块钱都被耗光了,查询了一下,改造前的读写次数是个位数,改造后,cos 的读写每天有 160w

提了 cos 的一个工单,让他们给我传了一下访问日志,发现 minio 极其频繁的读/.minio.sys/目录,这可能存放了临时信息和 meta 信息,导致 cos 的读写每天都到 160w 次。

真 tmd 的是大坑啊

现在想想怎么改造,想把/.minio.sys 挂在一个本地 pvc 上,结果 minio 还不允许跨分区目录,估计要修改源代码了。

3364 次点击
所在节点    Linux
12 条回复
xudaxian520bsz
2023-07-27 12:38:58 +08:00
为什么不自己自建 pvc ,就画个买外置硬盘的钱,又没多少。开源的 PVC 太多了,你不会手动搭建 Ceph ,Rook 可以帮你维护搭建,Helm 一键安装
xudaxian520bsz
2023-07-27 12:39:19 +08:00
画 == 花
jeesk
2023-07-27 13:07:45 +08:00
minio 本来就是垃圾,速度慢得死
star7th
2023-07-27 13:14:24 +08:00
是你的用法不对,别抱怨人家的设计。

/.minio.sys/目录本来的设计是在本地磁盘的,谁预料到你会放上 cos 。

解决你这种分发的需求,自己写个代理就行,用 nodejs/go 之类的语言写会非常合适。如果你自己不想写,你就只能接受现成程序不吻合你的需求的心理准备
guoguobaba
2023-07-27 13:41:22 +08:00
@xudaxian520bsz 这不是 cos 便宜吗,没想到容量和读写请求一样要收费。
imnpc
2023-07-27 13:41:58 +08:00
使用云的就老老实实用云 绝对不要自己改 因为里面很多东西会产生问题的
读写次数这个最常见 以前挂载 OSS 到本机运行备份 导致读写次数很快超标 耗尽费用
youngce
2023-07-27 13:43:06 +08:00
开源对象存储使用在云服务的对象存储作为底层存储,上一次见到这么离谱的事情还是:VMware 跑在 docker 里面
zzl22100048
2023-07-27 13:50:36 +08:00
你需要的是 minio gateway 吧
guoguobaba
2023-07-27 13:52:16 +08:00
@youngce 为什么不是 docker 跑在 vm 里? minio 本来有 gateway 的模式,但是新版本取消了。从原理来讲,gateway 只是做了一层 wrapper ,相当于 http 代理而已。
至于 oss 做 pvc ,这个很正常,s3fs 出来好多年了。
akira
2023-07-27 14:16:12 +08:00
这个需求改动成本,几百块应该下不来吧。。
jabari
2023-07-27 15:06:11 +08:00
oss 做 pvc 很正常的。了解一下 juicefs
ryan4yin
2023-07-28 10:37:21 +08:00
juicefs 的性能会好很多,它多了一层抽象,可以帮你做很多读写合并操作。

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

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

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

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

© 2021 V2EX