文件共享系统架构征求意见

我正在使用Windows平台来设置基于Web的文件共享系统。 更详细地说,个人用户可以从networking界面上传和共享文件(内容可能是大文件,如video文件),与Google Docs类似。

我目前的问题是如何使存储扩展? 更详细地说,我有4-5个前端Web服务器(做一个Web服务器场),我想知道如何设置存储系统来存储上传的文件。

我想存储自动增长 – 即每个Web服务器似乎使用无限的磁盘空间(无需处理磁盘的问题); 另一个问题是我不知道如何有效和可靠地存储文件(例如,如果每个Web服务器都有其单独的存储空间,假设abc.wmv存储在Web服务器A的存储中,那么如果Web服务器A失败,则无法访问abc .WMV)。 另一个我能想到的问题是,如果我增加前端Web服务器的数量,为新的Web服务器,如何决定哪些上传的文件应该被存储(我应该将一些文件从其他Web服务器迁移到新的Web服务器) ?

我考虑使用SAN,但我不确定SAN是否可以解决所有问题。 我想学习一些最佳实践来处理这个问题。

在此先感谢乔治

您可能需要一个共享存储空间,如SAN,这样您可以集中pipe理和备份数据(并且它们都将被同步)。 你没有提到你期待什么样的负载……十几个用户,几百个……所以你的前端服务器可能有点矫枉过正,有四五个。

使用后端存储arrays将简化您的configuration和pipe理,并允许您在需要时添加Web服务器。 那么你需要重点设置重型存储和备份。 也就是说,RAID 10,加上备份存储scheme,以使RAID备份失败。 同样你也没有提到你的使用计划是多么沉重,它的负载是多less,所以我不知道你是否希望在SAN失败和/或设置的情况下将硬件作为备份的两倍SAN节点之间的数据复制(通过高速链路到不同的地理区域,如果需要的话)。

这可能会非常快,而且您甚至可能需要提供服务来咨询专门进行大容量数据复制的公司。 如果你是一个小型的初创公司,你可以考虑build立一个专用的NAS来存储和使用DRBD等RAID以太网到不同的位置。 不同的途径可以考虑,但会严重影响预算,并受到预算,专业知识和必要的正常运行时间预期的影响(家庭项目是一回事,保持小型企业的平均用户,以及保持客户信用卡信息stream动的硬件一个小时的停机时间可以让你的公司花费数千美元,你的脖子将是另一个)…

有很多方法可以做到这一点,但我build议一个NAS来pipe理自己的文件系统。 这真的取决于NAS。 我的经验主要与NetApp有关,除了提供附加function(如磁盘重复数据删除和高级快照系统)之外,它可以轻松地满足您的要求。 NetApp的硬件具有极高的可扩展性,可以轻松扩展卷,并支持许多不同的networking协议。 就像任何专业的SAN / NAS一样,你将会为此付出代价。

http://www.netapp.com

在较低端,您可以考虑尝试像Synology的DJ509 + diskstation。 我只和那些使用过它的人交谈过,但很多“企业”IT人员对它的灵活性和低成本印象深刻。

http://www.synology.com/us/products/DS509+/index.php

绝对最便宜的方法是使用OpenSolaris和ZFS。 您可以build立自己的硬件并创build自己的RAID卷。 我不知道有谁在使用它,但是有趣的是,我听说很多人对它的强大程度印象深刻。

你想要的是MogileFS: http ://www.danga.com/mogilefs/我们在MogileFS中有很多兆兆字节(1兆字节还没有检查)的数据,并且不断扩大。

我会考虑一个NetApp盒子,它们不是最便宜的,但它们非常灵活,可以为您提供精简configuration的NFS共享,这似乎符合您的要求,并且可以很好地扩展(大约1.2PB iirc)。

另外,你可以看看惠普的“大规模扩展”技术,并不是所有的技术都在他们的网站上,但是如果你和他们的存储销售人员交谈,他们就可以把这些技术扩展到百兆字节。