广告

横向扩展存储和虚拟数据中心

对于IT组织而言,虚拟化基础架构是极大的生产力增强器,不必谈论管理虚拟化基础架构的所有其他好处-但是一旦度过了艰难的蜜月,虚拟化的丑陋面就开始显现出来。

虚拟化和存储问题已成为同义词。我们所有人都亲身体验了虚拟化的乐趣。对于IT组织而言,虚拟化基础架构是极大的生产力增强器,不用谈论管理虚拟化基础架构的所有其他好处-但是一旦度过了艰难的蜜月,虚拟化的丑陋面就开始显现。

存储性能瓶颈!缓慢的存储,不确定的存储性能,缺乏对哪些虚拟机将受到影响,哪些工作负载将导致存储陷入混乱并使最终用户感到沮丧的了解。我们对这个故事情节太熟悉了。

共享存储和虚拟化

广告

如果考虑一下,在虚拟化基础架构中出现这些性能问题的原因就可以从这种系统所带来的所有巨大收益中找到根源。虚拟环境是围绕共享存储的概念构建的。导致共享存储体系结构的不是偶然,而是一个主动的选择。

您认为VMware虚拟机VMotion等功能的症结所在是什么? VMotion允许虚拟机在基础架构中无缝移动。但是,VMotion的构建要求在虚拟机移动的主机之间共享存储。因此,共享存储不是管理员的选择,而是管理员唯一的选择。在第二天晚上之后,任何类型的共享资源都会在该资源上引起争用。

不幸的是,由于这种选择,IT管理员首当其冲地受到了最终用户的挫败感。对于存储解决方案,管理员可以通过有限的选择来进一步加剧该问题。大多数传统的共享存储解决方案都是围绕构建一个更大,更快的盒子而建模的。但这是正确的选择吗?这实际上有助于解决问题吗?

做出正确的选择

数据库世界正在经历一个类似的问题,即传统的数据库无法满足新时代应用程序的所有要求,并且我们已经看到了为解决该问题而引入的各种横向扩展数据解决方案。尽管虚拟化世界的追赶速度很慢,但我们看到虚拟化存储供应商正在提供类似的基于横向扩展的方法。就像在数据库世界中一样,这些横向扩展解决方案有可能改变存储世界,并为IT管理员提供急需的解决方案。

但是,并非所有解决方案都是平等的,IT管理员必须了解可用的各种横向扩展解决方案,以便他们可以为其环境选择正确的体系结构,这一点很重要。

向外扩展

与扩展相反,横向扩展具有使解决方案随着群集中主机数量增长而增长的希望,但是我们经常看到解决方案无法兑现这一承诺。为什么横向扩展很难?嗯,很难进行横向扩展的原因有很多,尽管每种解决方案的细节各不相同,但共同的主题是:多个主机意味着数据的多个副本,而多个副本意味着它们需要保持一致或一致。

当您遍历以下列表时,保持副本一致的代价(此后称为“缓存一致性”)会上升:A.不可变的对象B.可变的对象。单读取器,单写入器(Single-RW)C.可变对象。多个读取器,多个写入器(Multi-RW)

保持不可变对象一致的成本可以忽略不计。对于可变对象,随着越来越多的编写者添加到混合中,系统必须开始通过网络交换消息以保持对象副本的一致性。而且,随着群集中主机数量的增加,这些消息的数量通常成倍增加,即执行缓存一致性的成本随群集中主机的数量而增加。

就像我们将看到的那样,并非所有问题都需要Multi-RW缓存一致性解决方案,而您识别问题并选择正确解决方案的能力会对系统性能,复杂性和稳定性产生连锁反应。

让我们看几个例子。第一个示例是需要“ Multi-RW”高速缓存一致性的系统,第二个示例是需要“ Single-RW”高速缓存一致性的问题的示例。两种系统都以自己的方式横向扩展。

例子1

●分布式文件编辑系统。 ○多个用户地理分布。 ○多个用户可以同时共享和编辑同一文档。 ○文档更新几乎对所有用户都是实时可见的。 ○用户等待时间有望与在本地桌面上编辑文档相当。

如果等待时间是判断系统的关键指标,则系统看起来就像上面显示的分布式系统,其中该软件允许用户在本地修改文档,而在后台它试图协调更改由多个用户制作。实际上,为了确保Multi-RW缓存的一致性,系统必须在各个主机之间交换消息,以使文档副本保持最新状态。除了Multi-RW缓存一致性算法外,系统还尝试解决以下问题:

●一致性-不同用户如何查看更新?可以选择多种模型:完全一致,最终一致,有序等。如果用户先看到一个更新,则每个其他用户都希望以相同的顺序看到它。

●分区-如果网络分区导致某些用户与其余用户断开连接,系统将如何运行?

●高可用性-可能必须复制数据以恢复弹性。现在,对于上述每个都有着名的算法或解决方案。这些解决方案大多数都在性能,正确性和可用性之间走钢丝。一个会影响另一个的次数例如一个高性能的系统可能并不完全一致。与不同解决方案相关的各种折衷方案对性能的影响不小-更不用说算法的复杂性以及正确实现算法的任务了。

例子2

●文件编辑系统○多个用户在地理上分布。 ○每个用户只能编辑自己的文档。 ○用户可以从一个位置移动到另一个位置,但仍然只能访问自己的文件。 ○用户等待时间有望与在本地桌面上编辑文档相当。

在此特定示例中,由于只有一个用户修改了文档,因此该系统可以简单地使用为Single-RW构建的缓存一致性算法。此算法不必与其他系统交换消息即可使文档保持最新状态。我们还要看看“示例1”中的解决方案试图解决的其他问题。

•一致性-由于用户仅更新他或她自己的文档,因此该文档的副本始终是一致的。

●分区-网络分区不会以相同的方式影响用户,因为只要用户可以处理他或她的文档,他们就应该能够取得进步,因此这也变得微不足道。

●高可用性-与“示例1”类似,必须复制数据以恢复弹性。

我希望您开始意识到,针对此用例构建分布式横向扩展解决方案与针对“示例1”提出的主张不同。人们还将开始了解为什么这个特殊问题非常适合可以为低延迟构建的横向扩展解决方案。

虚拟化缓存一致性

虚拟化工作负载与上述示例2属于同一类别。让我们看看如何。

如上所示,每个VM都在读写自己的磁盘。 VM I / O流量没有串扰。当VM VMotion从一台主机转移到另一台主机时,它仍然仅对自己的磁盘感兴趣。这是一个重要的观察。对于大多数部署,虚拟化只需要一个RW缓存一致性解决方案。现在,确实可以使用解决多RW缓存一致性的解决方案,但是管理员应该问的问题是。您是否需要这样的解决方案?

了解了各种横向扩展解决方案之间的基本区别之后,希望IT管理员可以从性能优势和解决方案复杂性两方面评估每种方法的优缺点。

横向扩展解决方案

让我们看一下今天管理员可以使用的典型横向扩展解决方案。

1.扩展存储。

这些系统通常基于在存储盒上运行的完全分布式文件系统。它们被配置为提供完全一致性。该领域的示例解决方案是EMC Isilon和Red Hat Ceph。由于这些解决方案是完全分布式的文件系统,因此它们通常会执行Multi RW缓存一致性算法。 2.主机端横向扩展

这些系统通常使用主机端资源(如闪存和内存)来扩展存储性能以及系统中主机的数量。该领域的示例解决方案是PernixData FVP和各种超融合解决方案。 PernixData解决方案在这方面是独一无二的,因为它是利用Single-RW缓存一致性算法的少数解决方案之一,该算法允许它根据集群中主机的数量线性地扩展性能。

声称能够使数据中心存储像公共云一样运行的虚拟化空间中的超融合解决方案通常会采用Multi-RW缓存一致性方法。如上所述,Multi-RW解决方案将解决该问题,但是对于确实不需要Multi-RW解决方案的问题,其代价是复杂性和性能。

结论

虚拟化不必与存储性能同义。横向扩展存储系统可以为虚拟化环境中的存储性能问题提供引人注目的解决方案。首当其冲的是用户挫败感的管理员可以利用他们对虚拟化缓存一致性特性的理解,即Single-RW缓存一致性问题,为他们的环境选择正确的解决方案。

(关于作者:Mahesh Patil是PernixData的高级技术总监。他是容错写回的主要发明者。在此之前,他是VMware的一名工程师,在那里他花了11年以上的时间致力于各种虚拟化技术。他的专业知识他是虚拟化,内核开发,资源管理,操作系统容器和云操作系统领域的专家,他是ESXi产品的创始人工程师之一,作为云操作系统的思想领袖,他还参与了Cloud Foundry项目。 VMware)。

分享

信息管理的更多内容