存储方案选型

磁盘满了那天

上线第三周的周一早上,我收到一条告警:

Inbox
From: 服务器监控
To:
Time: 周一 09:02
Subject: 【告警】磁盘空间不足
  • 磁盘使用率:94%
  • 可用空间:6 GB
  • 路径:/var/www/photos

两周,94 GB。我查了一下增长速度:

这还不是最糟的。真正的风险是:本地磁盘没有冗余。一旦磁盘坏了,所有图片全丢。

我调研了三种存储方案

方案一:NAS / 自建存储集群

优点:完全自主可控。缺点:初始投入大,需要运维。

方案二:云服务商对象存储

优点:零初始投入,无限扩展,高可用(99.995%)。缺点:数据在别人的机房。

方案三:混合方案(热数据 OSS + 冷数据自建)

把最近 30 天的热数据放 OSS,30 天以上的冷数据定期归档到自建 NAS。

复杂度高,现阶段不需要。

我的决定:阿里云 OSS

算完账就很清楚了:

对比项自建 MinIO阿里云 OSS
初始投入20,000 元0 元
第一年成本~50,000 元~500 元
可用性取决于你的运维能力99.995%(11 个 9 数据可靠性)
可扩展性受硬件限制无限
运维负担重(硬件、网络、备份)
数据安全需要自己做备份和冗余自动多副本 + 纠删码

对于一个刚起步的社区,OSS 是唯一合理的选择

迁移代码很简单:

迁移完成后,我的服务器磁盘使用率从 94% 降到了 12%。