用冗余服务五十万张图片

我期待从我们的主服务器分离我们的图像服务function。 我们有近五十万张图片,其中任何一张都可以随时存取。 我一直在研究使用连接到iSCSI SAN的W2k8集群,并想知道是否有更好的方法来提供服务大量图像的冗余方式? 有人build议,丢失SAN并在每个文件服务器上复制图片将是一个更好的解决scheme – 情况如何? 操作系统必须是基于Windows的。

谢谢,

安德鲁

SAN意味着您可以为给定数量的磁盘获得更多的存储空间。

例如,如果您在10个主机中镜像了2个1G磁盘,这意味着您可以存储大约1G的可以存储的映像。

OTOH如果在镜像SAN中有相同的20个1G磁盘,则可以存储大约10G的图像。

甚至更好 – 你有两个SAN机箱中的20个磁盘镜像在2个站点上,例如10个磁盘站点A 10个磁盘站点B,A和B是镜像,那么你仍然可以获得10G的存储空间,但增加了数据的恢复能力。

也就是说,A站点可以closures,您仍然可以从站点B提供数据。(实际上,您可能有9G,即9个活动磁盘,并在每个san磁盘柜中都有一个热备用磁盘)。

如果您还将服务器分散到每个站点,则还可以提高整个站点的弹性。 如果网站A发生故障,您将损失5台服务器,但其他5台服务器仍将继续提供服务,您仍然可以访问所有或您的数据。

您也不需要将10台服务器上的数据与图像的权限src同步。 根据计划备份的方式,SAN也可能更容易进行备份,因为只需要执行一次数据备份。

我可以看到丢失SAN的唯一原因是,如果您负担不起和/或您的数据要求很小,并且您不希望他们会成长很多。

SAN存储的数据越多,存储的成本就越高,因为SAN存储容量越多,挂载的托盘/磁盘就越多。

如果你去iSCSI,确保你有一个专用的VLAN和理想的专用交换机为你的iSCSInetworking。

我可以build议去亚马逊S3的图像托pipe? 根据您的带宽,存储和托pipe是便宜的,我认为比拥有自己的冗余SAN和分配系统更可靠和更经济。 有很多 成功的 故事 。

我知道你说的操作系统必须是基于Windows的,但不能确定你的要求,因为S3的接口在Windows中。

您可能会发现分布式文件存储是冗余存储大量文件的更好方法。 这些通常涉及用于存储和访问文件的特殊API,而不是使用标准文件操作。 存储系统然后负责存储您的文件冗余。 经典的例子是亚马逊S3,但这可能不会是你的想法的解决scheme。 有一些可以使用的产品。 我没有使用任何Windows产品,但是您可能会看到Facebook的干草堆,可能是用Java编写的,所以可能会在Windows上运行。 Livejournal的MogileFS是另外一个例子,但是它运行在Perl上,而且我上次看到的时候只有一个失败点。 我相信你可以很容易find几个更类似的产品。

这取决于你的目标是什么。

群集将使图像高度可用,但不一定会提高性能。

使用DFS复制,您可以使您的图像具有高可用性和地理上的负载平衡,这将在全球公司中提供更高的性能。 (这是微软如何处理他们的软件共享)但是,如果图像变化很大,DFS复制可能会落后一点。

您也可以使用通过NLB群集进行负载平衡的多个群集。

然后,您可以尽可能使用故障转移群集,NLB和DFS的组合!

这一切都取决于你的目标是什么。

在我们的情况下,我们直接从SAN共享我们的文件。 我们的NetApp存储arrays是一个3020集群,也可以作为CIFS文件服务器。 文件直接存在于SAN上,并被共享给客户端。 不知道您是否正在为这样的解决scheme投放市场,但拥有CIFS共享的SAN对我们来说是一个很大的优势。