为100台VM Web服务器选择SAN技术


15

问题

我们在现有平台上的性能存在问题,因此,我正在蜂巢式地寻求对此的第二种意见。到目前为止,性能问题与IOPS有关,而不与吞吐量有关。

场景

16个主机的刀片中心,每个主机具有64GB的RAM。(这是一台带M610的Dell M1000e,但这可能不相关)500个VM,所有Web服务器(或相关的Web技术,例如MySQL,负载均衡器等),其中约90%是Linux,其余的是Windows。系统管理程序是VMWare vSphere。我们需要提供主机HA,因此本地存储空间不足。这样,主机只需启动一张SD卡即可。

有点背景思维

目前,我们最多可容纳6台主机(以当前的增长,刀片服务器中心将在几年内达到满负荷状态),并且我们正在iSCSI上运行Dell MD3220i w / MD1220进行扩展。

我们已经考虑了可能的选择,以及随之而来的即时想法:

  • 在NFS数据存储中分布VM,并运行满足多达给定数量VM的性能要求的NFS存储。NFS似乎更便宜,而且比块级存储要抽象得多,因此我们可以根据需要进行移动。
  • 添加更多的MD3220i控制器/目标。尽管我们担心这样做会在某种程度上对VMWare处理具有许多目标的方式产生负面影响。
  • 将所有磁盘从Nearline SAS交换到SSD。这应该可以完全解决IOPS问题,但是会明显降低我们的存储容量。而且它仍然非常昂贵。
  • vSphere 5具有存储设备。我们没有做太多研究,但是它必须运作良好吗?

问题

您将在所有这些存储下运行哪种存储?它不需要扩展到另一个刀片服务器中心,只需要为所有这些VM提供相对良好的性能即可。

我不是在寻找“购买SAN x,因为它是最好的”答案。我正在寻找关于各种SAN技术(iSCSI,FC,FCoE,InfiniBand,NFS等),不同类型的存储(SATA,SAS,SSD)以及用于处理100个VM的存储方法(整合,分离)的想法。 ,分片等)。

对此绝对欢迎任何想法,链接,指南,指针等。我也很想听听我们已经考虑过的上述选择的想法。

非常感谢您的任何投入!

12年3月5日更新

到目前为止,一些精彩的回复,非常感谢大家!

到目前为止,按照对这个问题的回答,我开始认为以下方法是可行的:

  • 将可用存储分层到VMWare群集,并将VM磁盘放置在适合其工作负载的存储上。
  • 潜在地利用能够自动管理将数据放置到合适的存储上的SAN的SAN。
  • Infiniband似乎是最具成本效益的,可在主机满载时获得所需带宽。

绝对听起来像是要利用主要SAN供应商的售前服务来解决这个问题。

我将继续考虑这个问题一段时间。同时,我们再感激收到任何更多的建议!


此外,Mellanox拥有40gbe交换机\ nic交易,这非常出色,在$ /性能方面非常接近infiniband。到那时,我认为带有几张40gbe卡的nexenta是可行的选择。
Tony Roth 2012年

Answers:


13

好的VMWare存储平台的关键是了解VMWare会产生什么样的负载。

  • 首先,由于您托管许多服务器,因此工作负载通常是随机的。同时有许多IO流,并且其中许多流无法成功预缓存。
  • 其次,它是可变的。在正常操作期间,您可能会看到70%的随机读取,但是当您决定将VM移至新的数据存储或其他内容时,会看到大量的60GB顺序写入。如果您对架构不小心,则可能会削弱存储处理普通IO的能力。
  • 第三,环境的一小部分通常会产生很大的存储工作量。

为VMWare平台构建存储的最佳方法是从基础开始。

  • 您需要能够处理大量的随机读取工作负载,这意味着较小的更快的驱动器以及可能的SSD。大多数现代存储系统都允许您根据数据的访问方式自动移动数据。如果要使用SSD,请确保使用它。它应该在那里作为逐渐减少热点的一种方式。无论是否使用SSD,将所有工作都放在所有驱动器上是有益的,因此具有某种类型的存储池的东西将是有益的。
  • 您需要能够处理间歇性的大写操作,该功能并不太在乎底层驱动器的主轴速度,但会在乎控制器堆栈的效率和高速缓存的大小。如果您已经镜像了缓存(除非您在控制器出现故障时愿意返回备份,否则这不是可选的),通常,用于镜像的两个缓存之间的带宽将成为您进行大容量顺序写入的瓶颈。确保获得的任何东西都具有用于写缓存的高速控制器(或群集)互连。尽最大可能获取尽可能多的端口来获得高速前端网络,同时保持价格合理。良好的前端性能的关键是将存储负载分配到尽可能多的前端资源上。
  • 通过为低优先级存储和精简配置配备一层,可以大大降低成本。如果您的系统没有自动将单个块迁移到便宜的大型/慢速驱动器(例如近线SAS或7200 RPM和2TB +大小的SATA),请尝试手动进行。大型慢速驱动器是归档,备份,某些文件系统甚至低使用率服务器的理想目标。
  • 坚持存储是VAAI集成的,以便VMWare可以取消分配VM的未使用部分以及数据存储。

那里有一些很好的评论,谢谢。绝对值得考虑。
SimonJGreen 2012年

10

我的大型VMWare部署是NFS和10GbE上的iSCSI。这意味着服务器以及存储头中都有双端口10GbE HBA。我对此非常喜欢基于ZFS的存储。就我而言,它包裹在商业NexentaStor周围,但有些人选择自己生产。

在这种情况下,基于ZFS的存储的关键功能是ARC / L2ARC缓存功能,使您可以对存储进行分层。最活跃的数据将作为第二层存储在RAM和SSD存储中。在10k或15k SAS驱动器上运行主存储池也将是有益的。

这是分析和了解您的工作负载的另一种情况。与可以分析您的存储模式并帮助您进行计划的人员一起工作。在ZFS / NexentaStor方面,我喜欢PogoStorage。没有这种类型的洞察力,传输方法(FC,FCoE,iSCSI,NFS)可能并不重要。您是否有对现有基础架构的监视?I / O活动现在看起来如何?


这些部署出于好奇有多大?什么样的工作量呢?
SimonJGreen

多台主机。最大的有90种混合使用的VM,包括Linux,Windows下(文件/ AD / Exchange),VDI和数据库系统。存储单元上的RAM高(96GB +),企业级SSD上有1.2TB的L2ARC读取缓存。
ewwhite 2012年

您必须在这里原谅我的无知,并且明确地说,我毫不怀疑您在做正确的事情。为什么存储单元中有那么多RAM?它用于缓冲区吗?
SimonJGreen

2
啊,我刚读过ZFS和ARC / L2ARC。那真是
太好了

8

关键问题是:“瓶颈在哪里?” 您提到了IOPS,但这是否意味着您肯定地将磁盘本身确定为瓶颈,或者仅仅是SAN端口未满负荷运行,或者VM远远超出了您的期望?

如果您确定已经确定磁盘是限制因素,那么请切换到NFS或infiniband或任何不会降低性能的方法-您需要SSD(或至少混合了SSD的分层存储)或一捆更多的主轴(自从世界步进电机的生产被冲入海洋以来,这种解决方案本身就变得昂贵得多)。

但是,如果您不确定100%的实际瓶颈在哪里,那么您首先需要找到-根据其他人的猜测随机地或多或少地交换存储基础架构的部分非常有效(尤其是考虑到要实施任何更改的成本很高)。


绝对正确,我始终以为发布问题的人已经完成了作业。但是在进行了多次性能咨询后,我基本上只是放弃并说添加更多或更快的驱动器,然后再解决98%的问题。另外2%的承诺超出了人们的预期。
Tony Roth 2012年

4
“我总是认为发布问题的人已经完成了功课” – baaaaaad的假设……
womble

这个答案是完美的。在很多情况下,我已经着手解决这样的问题,并且我对问题的根源有一些先入为主的观念。当我得知自己根本不了解这个问题时,十分之九流泪。仔细剖析,确定瓶颈所在,然后继续。您可以向“ hive mind”寻求帮助,或者可以向SAN供应商寻求帮助。另外,如果您在进行性能分析时遇到问题,NetApp和/或EMC会很乐意帮助您了解统计信息,然后为您确定解决方案的大小。两者都有很好的软件可以做到这一点。
SvrGuy 2012年

我将此诊断基于esxtop所有主机上的总输出(显示磁盘利用率),获取总CMD / s,并将其与我们使用的SAN上的基准进行比较。以基准测试结果为标题时,总CMD / s始终很高。从技术角度来看,SSD绝对是一个不错的选择,它们的价格仍然非常昂贵,仍然是GB /£。尽管使用分层存储,可能还是一个解决方案。附带一提/ FYI,根据最近的新闻发布,我收到的WD已恢复到磁盘上的生产水平。
SimonJGreen 2012年

SAN的基准测试如何完成?与磁盘本身相反,限制因素仍然可能是网络。但是,如果要开始尝试各种不同的事情以使事情运行得更快,则至少要有一个基准,这至关重要。
womble

4

如果您需要iscsi或nfs,那么最少需要几个10 / 40gb端口或infiniband,这是迄今为止最便宜的选择,但infiniband的本机存储解决方案似乎受到限制。问题将是刀片中心的模块有哪些选项,通常是8gb fc或10 \ 1gbe,也许还有infiniband。请注意,infiniband可以与nfs一起使用,就性能\价格而言,没有什么可以与之接近的。如果刀片服务器中心支持qdr infiniband,我会通过nfs使用带有qdr infiniband tca的某种Linux主机来实现。这是一个很好的描述链接 http://www.zfsbuild.com/2010/04/15/why-we-chose-infiniband-instead-of-10gige

但是,如果BladeCenter可以支持qdr infiniband,并且您可以负担得起本机infiniband,那么就应该选择该解决方案。

目前,您可以获得比10gbe交换机便宜得多的40gbe交换机(这是一个奇怪的想法),但我怀疑您是刀片服务器中心会支持这一点。


这些是刀片服务器中心提供的连接选项:dell.com/us/enterprise/p/poweredge-m1000e/pd Infiniband确实看起来不错,并且在这样数量的来宾VM上,其成本是合理的。您将在SAN方面做什么?
SimonJGreen

戴尔拥有支持infiniband的产品应该是您的明智之举。
Tony Roth 2012年

dell似乎没有任何基于IB的存储,因此在这种情况下,我认为该选项可能会很困难。Sun和SGI都具有基于IB的SAN,因此不确定成本是多少。
Tony Roth 2012年

他们不提供IB存储,但提供IB连接。我对使用其他存储供应商没有任何异议,因此在这方面我们不喜欢戴尔。
SimonJGreen

1
那么sun或sgi都会为您提供解决方案,不确定当前的型号是什么。
Tony Roth 2012年

-3

本地存储用完了吗?我对本地RAID 5上的写入吞吐量感到非常满意-用DRBD8镜像到我的XEN计算机的群集伙伴...(当然,“不支持”)。

除此之外,我非常确定mySQL是您的性能问题(我从未见过更糟糕的数据库)。尝试对其进行调优和/或尝试将整个数据库放入文件系统缓存(用于读取访问)...


该OP具有现有的VMWare解决方案,并与无盘主机一起运行。本地存储没有意义。
ewwhite 2012年

本地存储可能还包括使用本地存储刀片。但是我想VMWare不支持。
尼尔斯2012年

我不相信戴尔提供本地存储刀片服务器-我不确定我是否见过其他人。我见过将驱动器刀片连接到单个刀片,而没有为刀片中的任何人提供存储。为此,您需要一个互连,它实际上是机箱本地SAN,对吗?
mfinni 2012年

抱歉@Nils,我敢肯定您没有正确阅读问题。
SimonJGreen 2012年

尼尔斯-看着D2200sb:“机箱背板提供了与相邻c系列刀片服务器的PCI Express连接,并且无需任何其他电缆即可实现高性能存储访问。...使用HP P4000虚拟SAN设备软件(VSA)可以将D2200sb转换为iSCSI SAN,以供机箱中的所有服务器和网络上的任何服务器使用。”
mfinni'3
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.