关于具有“无限”磁盘的电子邮件服务器的建议?

IMB*_*IMB 0 email raid

我希望设置一个电子邮件服务器,它可以容纳数百个具有“无限”电子邮件空间的帐户。我知道没有无限这样的东西,但我的印象是我可以随时随地对多个磁盘(或一堆服务器)进行 RAID。

为了证明我的需求:我可以从一台具有 500GB 空间的服务器开始,现在我需要准备或计划在未来额外增加 x 个 500GB 驱动器(都被视为一个大驱动器)。我不知道如何正确地做到这一点,或者这是否是实现我目标的最佳方法。您的建议将不胜感激。

简单地说:我如何最好地处理未来预期的电子邮件存储扩展?

vor*_*aq7 6

正如其他人指出的那样,没有什么是无限的。所有存储产品都有其限制,作为系统管理员,您应该设置适合自己的限制。

如果您只对单邮件服务器架构感到满意,那么构建一个具有大量磁盘的盒子,设置最大帐户数和每个帐户的最大邮箱大小,并让这些限制已知。

如果您对扩展主要存储/前端架构感到满意,请预先考虑成本、设计和构建它所涉及的时间,以及即使在这种环境中也会存在的限制。

如果您的限制对您的公司/客户不起作用,请寻找其他方式来提供他们所需的服务(例如让 Google 托管他们的电子邮件)。


从内部电子邮件托管的视图

简单开始:一台服务器。一个 GIANT 磁盘阵列,假设有 1000 个用户。
一些用户的收件箱中会有 1 封电子邮件。有些人会有一百万。
有些将使用 1 兆字节的存储空间。其他人会占用您数 GB 的磁盘空间。

因此,我们有 1TB 的磁盘 (1000GB),并且我们希望服务器托管 1000 个用户。我们可以为每个用户提交 1GB 的磁盘。这是合理的,因为 (a) 电子邮件有很多空间,并且 (b) 我们可以为每个用户分配限额,如果每个用户都达到了限额,他们仍然不会影响其他用户。

但有一天,我们的用户想要更多空间——梅阿姨正在获取孙子孙女的视频,而她的存储空间已达到上限。由于她(以及我们所有其他用户)拒绝删除任何电子邮件,因此我们必须采取一些措施,但我们无法负担更多磁盘。

我们做什么?简单:只需将每个人的限制增加到 2GB。用同一个磁盘。我们可以避免这种过度承诺,因为对于每个 May 阿姨在收件箱中收到 2GB 的视频数据,都会有一个从未收到任何电子邮件并且只使用 1-2K 磁盘空间的乔叔叔。我们的用户很高兴,我们没有再花钱(这就是 gmail、hotmail 等所做的)。


当然,当我们用完此服务器上的空间时,总有一天会到来。也许我们的梅姨太多了,或者我们卖了更多的账户,需要把它们放在某个地方。我们现在干什么?!?

那么有两种选择:

  • 购买更多磁盘
    这是一个简单的解决方案——向服务器添加更多磁盘并在它们之间拆分邮件存储(或者如果您使用 ZFS 或其他可以让您增加分区的东西,只需使邮件存储更大)。

  • 购买更多服务器
    这个有点复杂——基本上只需购买一台新服务器并将您的新用户放在新机器上。
    不过,它并没有解决“梅姨太多占用磁盘”的问题——为此,您需要将其中一些移动到新机器上(这可能很不方便)。它确实解决工作量问题服务器通过分裂呼入/呼出邮件成块由用户(虽然没有保证的工作量均匀分布)。

  • 投资于合适的存储和处理架构 这是最好(也是最昂贵)的选择:加入 SAN,并将多个前端邮件服务器连接到它。当您填充 SAN 时,您会不断添加磁盘并扩展分区(就像上面的“购买更多磁盘”一样),并且随着入站/出站邮件工作负载的增加,您将添加更多的前端服务器(在负载均衡器后面)某种)来处理邮件量。

如果您认真对待托管电子邮件,那么上面的最后一个要点是您可以期望必须到达的地方。请注意,兔子洞会更进一步,因为此时您可能需要处理冗余。


对于这样的事情,一台邮件服务器永远不够。您需要一个公制的对接负载,连接到太平洋大小的存储后端,以满足用户对磁盘空间/邮件存储的贪婪需求。这是在设计、设备和维护方面的大量投资。
我作为去过那里并做过那件事的人的建议?如果可能,将邮件托管留给 Google。