user8042 Asked: 2009-06-25 06:13:48 +0800 CST2009-06-25 06:13:48 +0800 CST 2009-06-25 06:13:48 +0800 CST 提供 50 万张带有冗余的图像 772 我希望将我们的图像服务功能从我们的主服务器中分离出来。我们有近 50 万张图片——其中任何一张都可以随时访问。我一直在研究使用连接到 iSCSI SAN 的 W2k8 集群,想知道是否有更好的方法来提供冗余方式来提供大量图像?有人建议丢失 SAN 并在每个文件服务器上保存图片副本将是更好的解决方案 - 是这种情况吗?操作系统必须基于 Windows。 谢谢, 安德鲁 web images 5 个回答 Voted Dave Drager 2009-06-25T07:52:43+08:002009-06-25T07:52:43+08:00 我可以建议转到Amazon S3进行图像托管吗?根据您的带宽,存储和托管很便宜,我认为比拥有自己的冗余 SAN 和分发系统更可靠和更具成本效益。有很多 成功的 故事。 我知道您说操作系统必须基于 Windows,但不确定您的要求,因为 S3 的接口在 Windows 中。 David Pashley 2009-06-25T06:21:26+08:002009-06-25T06:21:26+08:00 您可能会发现分布式文件存储是冗余存储大量文件的更好方法。这些通常涉及用于存储和访问文件的特殊 API,而不是使用标准文件操作。然后存储系统负责冗余地存储您的文件。经典示例是 Amazon S3,但这可能不是您的理想解决方案。有许多产品可以使用。我没有使用任何 Windows 产品,但您可能会查看 Facebook 的 haystack,它可能是用 Java 编写的,因此可能会在 Windows 上运行。Livejournal 的 MogileFS 是另一个例子,但它在 Perl 中运行,而我上次查看时,出现了单点故障。我相信您可以轻松找到更多类似的产品。 Jim March 2009-06-25T06:21:44+08:002009-06-25T06:21:44+08:00 这在很大程度上取决于您的目标是什么。 集群将使图像具有高可用性,但不一定会提高性能。 使用 DFS 复制,您可以使您的图像具有高可用性和地理负载平衡,这将在全球公司中提供显着改进的性能。(这就是微软处理他们的软件共享的方式)但是,如果图像变化很大,DFS 复制可能会滞后一点。 您还可以使用通过 NLB 集群进行负载平衡的多个集群。 然后你们可以使用故障转移集群、NLB 和 DFS 的组合!!! 这真的完全取决于你的目标是什么。 Kevin Kuphal 2009-06-25T06:24:11+08:002009-06-25T06:24:11+08:00 在我们的例子中,我们直接从 SAN 共享我们的文件。我们的 NetApp 存储阵列是一个 3020 集群,它还充当 CIFS 文件服务器。文件直接存在于 SAN 上并与客户端共享。不确定您的项目是否在市场上寻求这样的解决方案,但具有 CIFS 共享的 SAN 对我们来说是一个很大的优势。 Best Answer Jason Tan 2009-06-25T07:50:58+08:002009-06-25T07:50:58+08:00 SAN 意味着您可以为给定数量的磁盘获得更多存储空间。 例如,如果您有 2 个 1G 磁盘镜像在 10 个主机上,这意味着您可以存储大约 1G 的图像。 OTOH,如果您在镜像 SAN 中有相同的 20 个 1G 磁盘,您可以存储大约 10G 的图像。 更好的是 - 您将两个 san 机箱中的 20 个磁盘镜像到 2 个站点,例如站点 A 中的 10 个磁盘 站点 B 中的 10 个磁盘,并且 A 和 B 是镜像,那么您仍然可以获得 10G 的存储空间,但会增加数据的弹性。 即站点A 可以关闭,而您仍然可以从站点B 提供数据。(实际上,您可能有9G,即9 个活动磁盘,并且每个SAN 机箱中都有一个热备用磁盘)。 如果您还将服务器分散开,每个站点 5 台,您还可以提高整个站点的弹性。如果站点 A 出现故障,您将失去 5 台服务器,但其他 5 台服务器仍将提供服务,您仍然可以访问全部或您的数据。 您还无需将 10 台服务器上的数据与明确的图像源同步。根据您计划备份的方式,使用 SAN 备份也可能更容易,因为您只需要进行一次数据备份。 我可以看到丢失 SAN 的唯一原因是如果您负担不起和/或您的数据需求很小并且您预计它们不会大幅增长。 您拥有的数据越多,使用 SAN 方法节省的费用就越多,因为 SAN 机箱每 G 的价格越便宜,您挂在其中的托盘/磁盘就越多。 如果您使用 iSCSI,请确保您有一个专用的 VLAN 和理想的专用交换机用于您的 iSCSI 网络。
我可以建议转到Amazon S3进行图像托管吗?根据您的带宽,存储和托管很便宜,我认为比拥有自己的冗余 SAN 和分发系统更可靠和更具成本效益。有很多 成功的 故事。
我知道您说操作系统必须基于 Windows,但不确定您的要求,因为 S3 的接口在 Windows 中。
您可能会发现分布式文件存储是冗余存储大量文件的更好方法。这些通常涉及用于存储和访问文件的特殊 API,而不是使用标准文件操作。然后存储系统负责冗余地存储您的文件。经典示例是 Amazon S3,但这可能不是您的理想解决方案。有许多产品可以使用。我没有使用任何 Windows 产品,但您可能会查看 Facebook 的 haystack,它可能是用 Java 编写的,因此可能会在 Windows 上运行。Livejournal 的 MogileFS 是另一个例子,但它在 Perl 中运行,而我上次查看时,出现了单点故障。我相信您可以轻松找到更多类似的产品。
这在很大程度上取决于您的目标是什么。
集群将使图像具有高可用性,但不一定会提高性能。
使用 DFS 复制,您可以使您的图像具有高可用性和地理负载平衡,这将在全球公司中提供显着改进的性能。(这就是微软处理他们的软件共享的方式)但是,如果图像变化很大,DFS 复制可能会滞后一点。
您还可以使用通过 NLB 集群进行负载平衡的多个集群。
然后你们可以使用故障转移集群、NLB 和 DFS 的组合!!!
这真的完全取决于你的目标是什么。
在我们的例子中,我们直接从 SAN 共享我们的文件。我们的 NetApp 存储阵列是一个 3020 集群,它还充当 CIFS 文件服务器。文件直接存在于 SAN 上并与客户端共享。不确定您的项目是否在市场上寻求这样的解决方案,但具有 CIFS 共享的 SAN 对我们来说是一个很大的优势。
SAN 意味着您可以为给定数量的磁盘获得更多存储空间。
例如,如果您有 2 个 1G 磁盘镜像在 10 个主机上,这意味着您可以存储大约 1G 的图像。
OTOH,如果您在镜像 SAN 中有相同的 20 个 1G 磁盘,您可以存储大约 10G 的图像。
更好的是 - 您将两个 san 机箱中的 20 个磁盘镜像到 2 个站点,例如站点 A 中的 10 个磁盘 站点 B 中的 10 个磁盘,并且 A 和 B 是镜像,那么您仍然可以获得 10G 的存储空间,但会增加数据的弹性。
即站点A 可以关闭,而您仍然可以从站点B 提供数据。(实际上,您可能有9G,即9 个活动磁盘,并且每个SAN 机箱中都有一个热备用磁盘)。
如果您还将服务器分散开,每个站点 5 台,您还可以提高整个站点的弹性。如果站点 A 出现故障,您将失去 5 台服务器,但其他 5 台服务器仍将提供服务,您仍然可以访问全部或您的数据。
您还无需将 10 台服务器上的数据与明确的图像源同步。根据您计划备份的方式,使用 SAN 备份也可能更容易,因为您只需要进行一次数据备份。
我可以看到丢失 SAN 的唯一原因是如果您负担不起和/或您的数据需求很小并且您预计它们不会大幅增长。
您拥有的数据越多,使用 SAN 方法节省的费用就越多,因为 SAN 机箱每 G 的价格越便宜,您挂在其中的托盘/磁盘就越多。
如果您使用 iSCSI,请确保您有一个专用的 VLAN 和理想的专用交换机用于您的 iSCSI 网络。