我们目前有一个 Windows 服务器,用于存储 Web 项目的图像。该项目非常成功,但我们发现了性能问题,而且很明显,我们目前存储的 10 万张左右图像(在本地磁盘上)将来会用尽空间。
这些服务器是托管在英国数据中心的专用机器,有哪些选项可用于可扩展的文件存储(理想情况下,我们可以将其放在同一个数据中心,因为图像需要经常访问)。
答案1
为了正确地存储数据,您必须使用一些附加软件,因为开箱即用的本机文件和存储服务无法将存储整合到单个池中,从而在主机之间分散和复制数据以实现更多冗余和性能。
DFS 存在很多问题,例如没有适当的存储“锁定”机制,在网络隔离的情况下可能导致脑裂,无法复制打开的文件,并且其机制无法区分哪个副本是“正确的”,这可能会导致多服务器环境中出现一些问题。
您无法减少数据量,因为媒体数据具有高熵,并且重复数据删除/压缩将不起作用,而扩大单个服务器上的存储量也是一个坏主意,因为如果该服务器发生故障,您将(暂时)丢失所有数据。
要将现有的基于 Windows 的服务器转变为创建单个共享存储池的可扩展存储服务器,最好的选择是使用一些可以在 Windows 操作系统上直接安装和运行的软件定义存储解决方案:
1)StarWind VSANhttps://www.starwindsoftware.com/starwind-virtual-san
另外,还有一些不错的选择,可以在安装的 Hyper-V 角色上作为虚拟机运行:
2)惠普 VSAhttp://www8.hp.com/us/en/products/data-storage/free-vsa.html
3)EMC Unity VSAhttp://www.emc.com/products-solutions/trial-software-download/unity-vsa.htm
如果你愿意投资 Windows Server 2016 Datacenter 版本,你可能会感兴趣
如果 Windows 不是很重要,那么您一定要看看:
5)Cephhttp://ceph.com/
答案2
除了 Windows 提供的现成解决方案(当前解决方案,您必须阅读手册;真的)之外,没有简单的解决方案。
问题是你真的不想要一个存储。你开始将图像分发到不同的存储池怎么样?然后你可以根据需要添加其他池。你显然需要保留一个数据库来记录那里的内容。
这种方法的主要优点是,虽然您可以保持非常大的存储空间同步并在其上进行备份 - 但是如果您可以将其大小减小,那么这会容易得多。
现在,显然对于每个分片,您都可以使用类似存储空间之类的东西,使用 DFS 复制或较低级别的镜像(存储空间直接)。这几乎使任何硬件 SAN 看起来都是一个非常好的选择(而且考虑到 SPLA 定价,网络项目的许可成本并不高)。
但即使如此,你仍然会在某个时候遇到问题,从而在逻辑层面上进行分片。
哦,还要买合适的硬件。SuperMicro 有一些非常好的存储密集型机箱。您说的是内置硬盘吗?2RU 机箱可以容纳 80 张光盘吗? ;)