有效提升存储性能十一招
博客 发表于:12年05月30日 10:57 [转载] 比特网
目前存储行业中很多公司都在开发与存储优化相关的产品和技术,既有优化主机端访问的方案,也有提升SAN存储性能的技术,这是一个很有潜力的领域。在这里,我们要介绍一些能够有效提升存储性能的方法,而以往我们却经常忽视它们。
一、排除故障
网络存储的应用环境是相当复杂的,各种不同的硬件和软件要能够顺利的实现互操作。所以,导致存储系统性能不佳的最常见的原因可能是配置错误,也可能是一个或多个组件发生故障。因此,优化存储性能的第一步就是要看看现有的存储I/O堆栈是不是有问题。
检查服务器和存储阵列的日志,看看是否有物理设备故障告警、I/O重传、路径切换以及超时等明确的提示。再试着去逐个分析故障组件,从与线缆相关的连接组件开始。收发端口以及线缆的问题不容易发现,但通常会严重的影响性能。在遭受物理冲击的时候,这些东西经常会损坏,因此,在数据中心里安装、迁移或搬走设备时要特别的小心。
二、更新固件和驱动程序
厂商会不断的通过软件升级来修复产品中的bug并增加新功能。聪明的做法是把存储网络中所有组件的驱动程序和固件都升级到最新版本,定期做,提前测试、调试和升级。我们看到Microsoft和 VMware都在积极地为其产品—Windows和vSphere的存储部分增加新的性能增强特性,但通常我们看不到太多的宣传。比如Microsoft 推出的SMB2.0和2.1,可以明显的提升Windows文件共享的性能,尤其是在低带宽的网络环境中。还有新版的VMFS和NTFS文件系统在性能和可扩展性方面也有改善。所以,平时要多浏览存储方面的博客和媒体,以便了解最新的相关动态。
要注意的是,并不是所有的版本升级都值得我们花费时间和精力,而且有时候升级的风险还很高。所以,首先要确保所有相关的厂商能够支持你现有的设备及配置,并且有充分的测试,绝对不能在生产系统中使用测试版代码。作为一个系统管理员,我倾向于保守一些,我会等到有其他人出了相关验证报告之后,自己才会尝试升级,以免冒险。
三、降低负载
大多数调优的方法都着眼于定位和消除存储的性能瓶颈,但是换一个角度,也许我们还应该考虑如何减少I/O负载的产生。比如,同数据库管理员一起对查询的效率和性能进行调优,就可以节省大量的查询等待时间。
所以,减少I/O负载对每个人和每个应用来说都是有好处的。
四、消除备份的瓶颈
传统的备份应用极其耗费存储资源,以每天或者一周为时间计划去备份一个大的数据卷的话,会产生大量的I/O负载。改善备份系统的性能,让备份工作在有限的时间窗口内完成已经成为数据保护流程中需要优先考虑的事情。解决备份问题的同时也有助于我们提升存储系统的整体性能。
一个有效降低备份压力的办法是使用CDP(continuousdataprotection)技术,很多虚拟机备份产品都使用了CDP。CDP连续的从服务器中拷贝数据,而不是在某个时间点集中执行备份操作。在虚拟机应用环境中这一点特别有用,因为传统的夜间备份模式会同时在多个服务器上产生大量的负载,从系统总线到 HBA卡或者网卡,再到磁盘阵列,这样会导致存储系统的响应速度急剧下降。Microsoft和VMware也提供了一些技术,通过将备份过程中原本由操作系统执行的快照任务转交给存储设备执行,数据流不再经过服务器,大大提高了数据处理的效率。
五、通过VAAI转移虚拟机的I/O负载
VMware发布的vSphere4.1中包含了很多新特性,但其中最重要的一个就是VAAI(vStorage API for Array Integration)。VMwareESX利用这个新的接口程序,可以将某些I/O负载转给支持VAAI的FC或iSCSI存储系统硬件来处理。通过 VAAI,hypervisor和存储阵列可以紧密且高效的集成在一起。
VAAI主要包括三个“功能”:
1.使用高效的SCSI命令“write_same”实现精简配置,释放未使用的存储资源,增加空间利用率并降低I/O开销。
2.将快照和镜像操作交给存储硬件来执行,最大程度降低网络、hypervisor和操作系统的I/O处理压力。
3.提供比LUN级别粒度更细的访问控制锁,减少虚拟机之间的I/O冲突和I/O等待时间。
VAAI尽管不是直接用来提高存储性能,但实际应用效果显示hypervisor的I/O负载明显降低,而且通过SAN网络的数据流量也明显减少。 业内分析师预计VMware还会在下一个vSphere版本中进一步改进VAAI,包括增加对NFS的支持。我们可以想象,Microsoft也正在为 Hyper-V开发类似的集成接口。