由于我的问题有些混乱,所以为了简单起见:
“大型云提供商使用什么样的存储,为什么?”
据我了解,但是我无法找到典型数据中心和云之间的任何官方存储网络差异,所有云提供商都使用不同于典型数据中心的 DAS。
甚至 DAS 也比 SAN 或 NAS 有许多缺点,我想了解为什么云使用 DAS 用于存储或应用程序目的的详细信息。
任何资源或描述将不胜感激,以使我清楚。
编辑:在阅读论文“大规模云构建的网络挑战和结果方法,David Bernstein 和 Erik Ludvigson(思科)”时,他们提到,
奇怪的是,我们没有看到使用 NAS 或 SAN 的主要提供商的云。典型的云架构使用 DAS,这不是数据中心存储方法的典型。
但是这里有一个冲突:在我看来,并且在本文后面也说过,云应该使用 SAN 或 NAS,因为当 VM 移动到另一台服务器但仍需要从原始服务器访问存储时,DAS 是不合适的。
影响云更喜欢 DAS、NAS 或 SAN 的其他原因是什么?大型云提供商使用什么样的存储,为什么?
澄清问题后,此答案已被编辑。
其中“DAS”表示直接附加存储,即 SATA 或 SAS 硬盘驱动器。
云供应商都使用 DAS,因为它在价格/性能方面提供了数量级的改进。这是水平缩放的情况。
简而言之,SATA 硬盘驱动器和 SATA 控制器是廉价商品。它们是大众市场产品,价格非常低。通过使用廉价 SATA 驱动器构建大量廉价 PC,谷歌、亚马逊和其他公司以非常低的价格获得了巨大的容量。然后他们在顶部添加自己的软件层。他们的软件进行多服务器复制以提高性能和可靠性、监控、在硬件故障后重新平衡复制等。
您可以将MogileFS视为 Google、Amazon 和其他公司用于存储的软件类型的更简单代表。当然,这是一个不同的实现,但它与大型系统有许多相同的设计目标和解决方案。如果您愿意,这里是了解更多有关GoogleFS的跳板。
不使用 SAN 有两个原因。
1) 价格。 大规模使用 SAN 非常昂贵。虽然它们可能是技术上“最佳”的解决方案,但由于成本原因,它们通常不会用于非常大规模的安装。
2) CAP 定理 Eric Brewer 的 CAP 定理表明,在非常大的规模上,您无法在保持可接受的可靠性、容错性和性能的同时保持强一致性。SAN 是在硬件中实现强一致性的一种尝试。这对于 5.000 台服务器的安装可能很有效,但它从未被证明适用于 Google 的 250.000 多台服务器。
结果: 到目前为止,云计算供应商选择将维护服务器状态的复杂性推给应用程序开发人员。当前的云产品不为每个虚拟机提供一致的状态。应用服务器(虚拟机)随时可能崩溃,本地数据丢失。
然后,每个供应商都有自己的持久存储实现,您应该将其用于重要数据。亚马逊的产品就是很好的例子。MySQL、SimpleDB和简单存储服务。这些产品本身反映了 CAP 定理——MySQL 实例具有很强的一致性,但可扩展性有限。SimpleDB 和 S3 的扩展性非常好,但最终还是一致的。
如果您使用 DAS,那么可用性就是您的问题
如果他们使用 DAS,那么可用性就是他们的问题。如果他们有任何好处,他们将使用几个抽象层来确保他们的问题不会成为你的问题。与其纠结于他们选择如何在数据中心内安装磁盘,问题在于他们在 SLA 中保证的可用性是否足以满足您的需求。哦,房间里真正的大象,如果他们倒闭了,你会怎么做(对于某些供应商来说可能不太可能,但你仍然应该考虑),如果你在本地使用这些数据并且你的互联网连接是,你会怎么做不可用 - 后者比他们选择 DAS 直接导致中断的可能性要大得多。
虽然我不知道 DAS 与 SAN/NAS 的答案...在寻找存储解决方案时需要考虑很多事情。
数据量?如果我们使用 Gb 左右,很好,带有备份的 NAS 可以完成这项工作。如果有 TB 级的数据,价格就会上涨得非常快。
我认为价格是主要因素......如果你有 SAN,你需要:
而且,您根本没有冗余。如果您有权访问数据中心,情况可能会有所不同。
要考虑的另一件事是可访问性。你在存档吗?如果这样可访问性不是问题,您可以每天/每周/每月将几次存档到您的存储解决方案。
另一方面,如果您有需要不断访问的数据,您很快就会发现带宽瓶颈、硬件限制(例如 I/O)。但另一方面,如果您的数据传输量很大,那么在线存储解决方案很可能会花费您很多钱。
ROI(投资回报率)是所有在线存储解决方案供应商宣传的内容,当然,根据使用情况,他们通常是正确的。
祝你好运。
(仅供参考,泛泛而谈。)
区别在于您(通常)正在查看的抽象层。
SAN/NAS 通常为您提供一个卷,您可以在该卷上安装文件系统。这种方法对终端系统的价值在于您已经外包了物理硬件的细节(例如 RAID 级别、物理位置等)。
相比之下,云存储通常为您提供文件系统的接口。这里的优点是您通常可以免费获得更高阶的功能(例如,Dropbox 会透明地自动对每个文件进行版本控制)。