每隔一段时间,数据存储经理人的人生会迎来片刻的宁静,没有什么被打破,也没有什么问题需要扑救。因为这样的时间很少,所以片刻的安宁应当加以利用而不是去享受。这样你就有机会编写存储网络的操作手册,以消除下一个即将发生的突发情况,或者是在发生突发情况的时候做好充分的准备工作。我们通过与来自存储网络厂商(博科公司、思科公司、Emulex公司以及Virtual Instruments公司)的专家对话,探讨存储经理人应当为存储网络的未来作何准备,以及如何最大限度地发挥他们的投资。
下面列出的秘诀中,写在前面的更多是在做一些准备工作,而不是真正要对存储区域网络(SAN)进行调整,但所有的专家都认同如果没有充分的准备就试图对一个SAN网络进行调优,就像在没有车头灯的情况下行驶在漆黑的高速公路上。当你挽起袖子开始干之前,一定要做一些准备。剩下的秘诀更加细致的描述了改善SAN网络性能、效率和弹性的具体步骤(往往是不需要花钱的)。
秘籍一:认识你拥有的一切
存储网络调优第一推荐,就是要首先知晓你所拥有的环境情况。如果出现问题,需要原厂商的技术专家介入,他们想要的第一件事情就是你网络环境的设备清单。如果你之前准备好了这个设备清单,你可能会支付更少的专业服务费用,甚至可以帮你避免从一开始就聘用他们。
记录环境中每块主机总线适配器(HBA)、每条线缆和每台交换机以及它们之间的连接情况是非常重要的。你还应该记录它们实际设置的连接速度,还有运行的软件或驱动程序的版本。尽管这好像很痛苦,但是,一份包含存储网络组成和配置的设备清单,是那种在IT日常紧急情况下可以快速得出优先列表的文档。花费时间去设置并了解环境中的状况,以及它们发生了怎样的变化,是非常重要的。
记录这些信息甚至可以准确指出某些适合调优的区域。我们已经看到了这样的案例,在用户升级到4Gb光纤通道(FC)的过程中,因为某些原因,其内部交换链路(ISL)仍然设置在1Gb的速度。简单改变交换机的配置就能有效地倍增其性能。如果他们没有花时间去做这样一个设备清单,那这个明显的错误或许永远都不会被发现。
这是一条无需成本的秘籍,因为信息可以获取或者存储在电子表格里。尽管手工记录这些信息的轨迹是可行的,但在今天快速变化的情况下,动态数据中心还是缺少一种更加实用的方法。存储环境变化飞快,而IT员工通常比较匮乏,所以手工维护一个基础架构是不现实的。许多厂商,包括同我们对话的,可以提供自动捕获这些信息的软硬件工具。
当然,那些工具不是免费的,也不像电子表格那样廉价。但如果您与手工获取数据的成本,或遗漏网络环境重要变化的成本进行权衡比较,这或许是一笔很好的投资。自动化存储资源管理(SRM)工具在其捕获的数据和层级上也有所不同。许多只是简单的检查设备并记录状态数据,而有些会深入到物理层并分析网络架构。
秘籍二:知道是怎么回事
完成了存储网络基础架构组成部件的绘制后,下一步是全面的了解那些设备在某一特定的时间在做什么。许多交换机和HBA卡厂商在其产品中内嵌了这些能力。但并不是要看每个设备的流量状况,最好是找到一个能够对网络中数据传送提供实时反馈的工具。软件解决方案和物理层访问工具都可以报告网络架构中的流量状况。因为这些可以监控网络设备的工具非常的重要,因此我们所有的专家都指出了这点,某些情况下,操作系统和应用软件报告的信息不准确,此时可以与设备自身的报告作对比。
某些情况下,这些工具可以用于趋势分析,它们可以模拟一个即将发生的数据存储基础架构的问题。例如,如果内部交换链路(ISL)的流量稳步增加(参阅秘籍六),流量增长的趋势会帮助确定应用程序多久就会重新平衡或者是需要增加ISL的带宽了。还有的工具会报告端口的CRC或者包错误,这表明SFP故障马上就要发生了。
秘籍三:知道你想要做什么
随着设备清单的完成,你会对你的SAN有个清楚的了解,下一步是要弄明白,如何改变网络,才能给你的组织带来最大的好处。你可能已经发现了SAN的某些功能需要启用,或许你有新的应用程序,或者需要对现有举措加速部署进行规划。了解对其余环境构成影响的活动,以及在哪那些任务中,存储基础架构所扮演的角色是至关重要的。一般来说,后面的任务就是提升可靠性或者性能了,但也可能是减少成本。
秘籍四:减少影响
当你感觉正处于准备对环境做些改变的阶段的时候,下一步就是要通过把SAN拆分成虚拟SAN(VSAN)的方式尽可能的减少影响的范围。通过拆分——在最坏的情况下——对环境的改变所产生的不可预期的结果(就像要阻止服务器访问存储,却导致服务器掉电),减少了对整个基础架构的影响。减少影响的范围是自身重要的调优步骤,这有助于建立一个更加有弹性以适应未来变化的环境,并且能够帮助包容问题。例如,某一应用程序突然需要大量的存储资源,拆分的SAN有助于遏制这种情况,并且保证其余的基础架构不会极度缺乏存储资源。这方面的调优不需要任何新增的采购,因为这只是设置和配置的过程。
秘籍五:学会测试
尽管好像有些奢侈,但调优的关键之一还是要有个固定的测试实验室,用来试验计划对环境的改变,或者用来模拟失败的状况。实验室测试允许你探索不同的方案,找出解决办法,却不会对生产网络造成影响。在与我们的专家的对话中,同时根据我们自身的经验,大多数SAN网络的紧急事件,都由磁盘阵列或者SAN环境中新功能的部署造成的。如果你缺少建立试验环境的资源,一种替代方法是和你的基础架构供应商合作,因为他们有很多设备可以用来再现问题或用于测试新功能的实施。
存储的I/O性能在十大调优列表中出现的次数通常很高,尽管没有进入我们的前五大秘籍,但它会一直出现在剩余的列表中。在性能问题解决之前,环境情况的记载、理解以及尽可能保持弹性是很重要的。虽然由于缺少性能调优是导致响应时间慢的一个问题,但盲目追求零响应时间就更糟糕了。
秘籍六:了解你是如何使用ISL的
?
ISL(交换机间互联)是调优的关键领域,随着SAN网络的增长,它们对于性能变得越来越重要。ISL的调优艺术,对于不同的厂商来说,在交换机的扇入配置和交换机间的跳数、什么是好的做法上,他们常常拥有相互冲突的观点。实际情况是交换机间的延时与机械硬盘的延时相比是非常低的,甚至可以忽略不计;然而,在高扇入的情况下,或者是有很多跳(服务器跨越多个交换机访问数据)的情况下,ISL同样扮演着重要的角色。
最受关注的是要保证在交换机之间,ISL配置了正确的带宽,像前面提到的一样,这似乎是一个很常见的错误。除此之外,测量主机到交换机之间的数据流量和交换机之间的ISL流量也是非常重要的。交换机报告工具会提供大量这种信息,但是,就像前面所提,要是有一个能够测量交换机间通信的可视工具就更好了。
通过流量测量,决定调整服务器连接的主交换机以重新平衡流量,这会涉及重新布线和潜在的服务器宕机风险。另外的方法是增加ISL,这样就增加了带宽但消耗了端口,同时,在某种程度上增加了存储架构的复杂性。
秘籍七:在虚拟机环境中使用NPIV
服务器虚拟化完全改变了SAN的配置,其最大的挑战之一就是需要标识哪些虚拟机要最大限度的利用基础架构。在服务器虚拟化之前,一台服务部署一个应用,而且和SAN的通信通过一个HBA完成;现在的虚拟主机有很多服务器试图通过同一块HBA卡与存储基础架构通信。能够标识虚拟机是至关重要的,这样可以最大化存储IO性能,并在主机间进行平衡,而不是为单个主机消耗掉全部的资源。某些HBA卡支持的N_Port ID Virtualization(NPIV)功能,允许你给每个单独的虚拟机指定一个虚拟的World Wide Name(WWN),即使发生主机间的虚拟机迁移,这种联系也是固定的。利用NPIV,你可以使用交换机的统计数据,从存储的视点来标识最活跃的虚拟机,在环境中的多台主机上恰如其分的进行部署。
秘籍八:了解HBA的队列深度
HBA卡的队列深度是指等待发送到数据存储基础架构的I/O数量。在安装HBA卡时,大多数管理员简单的使用卡的缺省(默认)设置,而HBA卡队列深度的缺省设置通常很高。这会导致存储端口变得拥挤,引起应用程序的性能问题。如果队列深度设置的太低,端口和SAN基础架构自身就无法有效地使用。在存储系统没有承载足够多的等待I/O时,就没有机会使用其缓存;如果基本上缓存在访问的时候都满了,那大部分访问会直接来自磁盘。大多数HBA卡设置的缺省队列深度介于32到256之间,而其实更接近的最佳范围是2到8。大多数发起人能报告在任意给定的时间里队列中等待请求的数量,这样你可以在深度过大的队列与深度不够的队列间进行平衡。
秘籍九:多路径验证
多路径验证涉及到要确定I/O流量在多条冗余路径上已发送。在许多环境中,我们的专家认为,他们已经发现多路径完全不工作或无法在多条可用路径上实现负载均衡。例如,如果你有一条路径承载了80%的容量,而另外一条只有3%,如果HBA卡或链接坏掉,会影响到可用性,或者对应用程序的性能造成影响。目标就是要确保流量在所有可用的HBA端口和ISL上实现完全的负载均衡。
你可以使用交换机的报告获取多路径验证的情况。要做到这一点,运行一份报告,其中包含端口WWN、端口名称和MBps,按照端口名称排序,并用连接设备类型等于“服务器”进行过滤。这是一种快速确定哪些链路已经多路径负载均衡,哪些现在还以主/备模式工作,以及哪些没有冗余的HBA卡的方法。
秘籍十:提升复制和备份性能
尽管某些环境非常关心数据库应用的性能,但几乎他们所有都需要减少备份或者复制功能所花费的时间。这两个过程都受到了来自数据快速增长的挑战,这些挑战包括需要通过相对较窄的带宽进行复制以及不断缩小的备份窗口。它们也是最有可能在SAN架构中跨多个部分造成持续的负载。备份服务器是最有可能的候选人,它跨越交换机和Zone(译者注:交换机内部的一种隔离)获取数据。上述技巧全部适用于成倍增加备份的性能。也可以考虑额外增加HBA卡到备份服务器的,或者有端口导向专门的交换机以最小化环境中的ISL流量。