我正在使用Windows平台来建立一个基于web的文件共享系统。在更多的细节中,个人用户可以从web界面上传和共享文档(内容可能是大文档,比如视频文件),类似于Google。
我当前的问题是如何使存储具有可伸缩性?在更多的细节,我有4-5前端web服务器(以建立一个web服务器场),我想知道如何设置存储系统,以存储上传的文件。
我希望存储空间自动增长--也就是说,每个web服务器似乎使用无限的磁盘空间(不需要处理磁盘完整问题);另一个问题是,我不知道如何高效可靠地存储文件(例如,如果每个web服务器都有单独的存储,假设abc.wmv存储在web服务器A的存储中,那么如果web服务器A崩溃,就没有人能够访问abc.wmv)。我能想到的另一个问题是,如果我增加前端web服务器的#,对于新的web服务器,如何决定应该存储哪些上传的文件(我是否要将一些文件从其他web服务器迁移到新的web服务器?)
我考虑使用SAN,但我不确定SAN能否解决所有问题。我想学习一些处理这个问题的最佳实践。
谢谢你,乔治
发布于 2009-12-17 13:25:23
您可能需要共享存储空间,比如SAN,这样您就可以集中管理和备份数据(并且所有数据都是同步的)。您没有提到您的expect...dozen用户负载类型,hundreds?...so您的前端服务器可能有点过火,其中有四五个服务器。
使用后端存储数组将简化您的配置和管理,并允许您在发现需要时添加web服务器。然后,您需要集中精力设置重型存储和备份。也就是说,RAID 10,加上备份存储方案,以便在RAID失败时将其恢复。同样,您也没有提到您的使用计划有多大,以及它将带来什么负载,所以我不知道您是否希望将硬件加倍作为备份,以防SAN失败和/或设置SAN节点之间的数据复制(如果需要,可以通过高速链接到不同的地理区域)。
这可以变得非常昂贵,非常快,您甚至可能需要提供服务来咨询一家专门从事大容量数据复制的公司。如果您是一家小型的创业公司,您可以考虑为存储设置一个专用的NAS,并将类似于DRBD的RAID通过以太网应用到不同的位置。考虑不同的途径,但严重影响预算,并再次受到您的预算,专业知识,和必要的正常运行时间的期望(家庭项目是一回事,使一般用户在小企业另一件事,硬件需要保持客户信用卡信息流动,在那里停工一小时可能会花费你的公司几千美元,你的脖子将是另一回事).
发布于 2009-12-17 13:27:43
有许多方法可以做到这一点,但我建议使用NAS来管理自己的文件系统。但这真的要看NAS了。我的经验主要是使用NetApp,除了提供额外的功能(比如磁盘dupe和高级快照系统)之外,它还可以很容易地满足您的要求。NetApp的硬件具有极高的可伸缩性,可以轻松地增长体积,并且支持许多不同的网络协议。就像任何专业的SAN/NAS一样,你会为此付出代价的。
http://www.netapp.com
在低端,您可以考虑尝试类似于Synology的DJ509+ diskstation之类的东西。我只和使用过它的人交谈过,但是很多“公司”it都对它的灵活性和低成本印象深刻。
http://www.synology.com/us/products/DS509+/index.php
绝对最便宜的方法是使用OpenSolaris和ZFS这样的方法。您可以构建自己的硬件并创建自己的RAID卷。我不知道有谁在像你这样的情况下使用它,但我听说很多人对它是多么的健壮印象深刻。
发布于 2009-12-17 16:15:40
你想要的是MogileFS:http://www.danga.com/mogilefs/ --我们有很多,很多兆字节(一张千兆字节)?还没有检查) MogileFS中的数据,而且它一直在扩展。
https://serverfault.com/questions/95313
复制相似问题