您的位置: 网界网 > 存储 > 正文

将服务质量提高到新水平

2013年08月11日 21:20:23 | 作者:Arun Taneja | 来源:TechTarget中国 | 查看本文手机版

摘要:每个厂商对其存储产品的服务质量(QoS)的定义都有所不同,但总的来说,QoS是为不同应用或数据流提供不同优先顺序,或提供一定级别的性能保证的能力。现在,有越来越多能提供自动化的工具出现,以保证产品的QoS。

标签
QoS
服务质量
存储阵列

事实上,每个存储阵列厂商都声称其产品内置服务质量(QoS)。在某种程度上,这些厂商都是对的。但是,问题就在于每个厂商如何定义QoS。

如果你把QoS定义成你的阵列内置的特色,那么,由于这个定义比较模糊,所以你可以说有Q oS功能。而我通过维基百科(Wikipedia)查阅到一个通俗的定义。其实QoS这个术语是透过电话和网络技术进入词汇表的。维基百科的这个条目中最吸引我的一句话是:“QoS是为不同应用、用户或者数据流提供不同优先顺序,或者为一个数据流提供一定级别的性能保证的能力。”这可能是适用于存储的最佳描述了。

我们几十年来设法克服的基本问题是:如何为一个应用提供正确的存储性能。现在,指定具有特定性能特点的容量成为常见做法。LUN可以通过各种RAID类型创建,而卷(volume)也可创建并分派给应用。但如果在同一个LUN上为两个或更多的应用提供服务,每个应用都请求提供服务并尽取其所得。因此,有时一些应用急需I/O,而有时却绰绰有余,这使应用性能不可预测。这个问题是由服务器虚拟化造成的,因为在同一台服务器上可能运行10个应用并访问同一数据存储(datastore)。应用性能就会变得更加不可预测。

有多种方法解决这个问题。首先,每个存储阵列都带有提供性能信息的工具。如果你不喜欢你所看到的东西,就可以更改。完全关掉服务器上的这个应用并启动一个新的。观察每个应用的热点所在。可能给这个应用创建一个新的LUN。但在大多数情况下这个过程是手动的。自动分层(auto-tiering)软件可以使这个过程自动化。早期的自动分层产品会把需要更快存储响应的应用转向较高级别的存储。自动分层被进一步改进,用于分卷(sub-volume)级别。这意味着只有热数据才会被自动转向较高级别,而“次热”数据则被转向较低级别。

令人遗憾的是,大多数QoS的实施工作止步于此。但这仍然代表前进了一大步,我认为要是没有另外一个关键步骤,QoS仍未完全实现。这个最后的步骤是预防下述情况:三个应用争用I/O。从业务的角度看,应用3是最不重要的应用,但其行为活跃,热点无处不在。因此,应用3可以通过上述的QoS方式获得服务(+本站微信networkworldweixin),但又因为它首先请求服务,这个进程使得应用1和应用2资源短缺。

在一个理想的环境中这种情况绝不会出现。每一个应用应该在最初就通过由管理员分配的一批最低限度的服务(IOP、吞吐量、延时等)赋予优先顺序。存储阵列应该具备自动处理不断变化的性能情况的内置智能。而且无论如何,它必须为每一个应用提供一批最低限度的分配资源并且根据既定优先顺序分派任何可用的剩余资源。所有这些应该由阵列管理,无须人工干预。

我们现在就快遇到QoS这种程度的复杂性了,但只有少数阵列具备这种类型的内置的智能和控制能力。在一个虚拟的或者云环境中,会有几十甚至几百个应用作为虚拟机在运行,分派存储性能的唯一现实的方法是透过自动化的方式。

只有提及可能以QoS名义带出的许多其他参数,关于QoS的讨论才能结束。例如,QoS可能也包括数据保护的级别、访问的“广度”(多点同步,全局异步)。QoS可能需要延伸涵盖高速缓存“争用”策略,以便高速缓存的使用可以被赋予优先顺序。需要注意的是,在VMworld 2012大会上推出的VMware虚拟卷(vVol)的概念具有QoS的含义。我们将在未来的专栏里了解vVol及其对QoS的潜在影响。闪存也会改变混合型和全固态阵列管理QoS的方式。

现在,当你评估一个存储阵列的时候,你应该考虑如何实现性能配置以及该厂商是如何对紧张资源的分派进行“微”控制,而不仅仅是容量。

[责任编辑:存储 chai_shasha@cnw.com.cn]