《AIX 5L 磁盘性能优化》由会员分享,可在线阅读,更多相关《AIX 5L 磁盘性能优化(9页珍藏版)》请在金锄头文库上搜索。
1、AIX 5L 磁盘性能优化之 iostat、lvmstat、lslv、lspv 和 lsvg引言与其他子系统的优化工作不同,实际上在构建系统的体系结构设计阶段就应该开始进行磁盘I/O优化。尽管存在一些I/O优化参数的虚拟内存等价项(ioo和lvmo),但是提高磁盘I/O 性能的最佳方法是正确地配置您的系统,而不是优化相关的参数。与虚拟内存优化不同,在创建 了逻辑卷并开始运行之后,要更改它们的组织结构会变得更加复杂,所以您通常只有一次机会正 确地完成这项任务。本文讨论了配置逻辑卷的方式,以及相对于物理磁盘应该将它们布置于何处, 本文还介绍了用于监视您的逻辑卷的工具。其中,大多数工具并不适合于长期
2、趋势研究,并且是 AIX 特定的工具,它们可以提供相关信息以便了解如何配置逻辑卷,以及是否针对您的环境对 它们进行了优化。本系列文章的第1部分介绍了 iostat,但其中仅介绍了使用该工具来查看异步I/O服务器。 第 2 部分使用 iostat 来监视您的磁盘,并向您介绍了它能够完成哪些工作以帮助您快速地确 定 I/O 瓶颈。尽管 iostat 是通用的 UNIX 实用工具之一,并且它不是专门为 AIX 而开 发的,但实际上,对于快速地确定系统的运行情况,它是非常有用的。更特定的 AIX 逻辑卷命 令可以帮助您更深入地研究逻辑卷,以帮助您真正地分析实际问题(如果存在任何问题)。在使 用这些工具
3、之前,您必须清楚地了解您需要哪些信息,这一点是很重要的。本文描述了相关的工 具,并向您介绍了如何分析它们的输出,这将帮助您分析磁盘 I/O 子系统。逻辑卷和磁盘布置概述这个部分定义了逻辑卷管理器(Logical Volume Manager, LVM),并介绍了它的一些特性。 让我们深入地研究逻辑卷的概念,分析它们与提高磁盘 I/O 使用率之间的关系,并通过定义和 讨论 intra-policy 和 inter-policy 磁盘实践,从物理磁盘的角度介绍有关逻辑卷的布置。从概念上讲,逻辑卷层位于应用程序和物理层之间。在磁盘 I/O 的上下文中,应用程序层是文 件系统或者原始逻辑卷。物理层由实
4、际的磁盘组成。 LVM 是一种 AIX 磁盘管理系统,它可以 在逻辑和物理存储之间映射数据。这允许数据保存在多个物理盘片上,并使用专门的 LVM 命 令对其进行管理和分析。实际上, LVM 控制系统中所有的物理磁盘资源,并帮助提供存储子系 统的逻辑视图。了解它位于应用程序层和物理层之间,应该可以帮助您理解它为什么很可能是所 有层中最重要的一层。甚至您的物理卷本身就是逻辑层的一部分,因为物理层仅包含实际的磁盘、 设备驱动程序和任何您可能已经配置的阵列。图 1 阐释了这个概念,并显示了逻辑 I/O 组件 与物理磁盘及其应用程序层非常紧密地结合在一起。图 1. 逻辑卷图表现在,让我们简要地、自底向上
5、地介绍 LVM 中的各个元素。每个驱动器作为一个物理卷进行 命名。多个物理卷组成一个卷组。在卷组中,定义了逻辑卷。LVM允许数据位于多个物理驱动 器,尽管可能将它们配置为属于单个卷组。这些逻辑卷可以是一个或者多个逻辑分区。每个逻辑 分区具有一个与其相关联的物理分区。在其中,您可以拥有物理部分的多个副本,以用于各种目 的,如磁盘镜像。让我们简要地介绍一下逻辑卷的创建与物理卷之间的关系。图 2 描述了物理磁盘盘片上的实际 存储位置。图 2. 物理磁盘盘片上的实际存储位置作为一般规则,靠近中央的数据要比靠近外边缘的数据具有更快的寻道时间。这与数据的密度有 关。因为越靠近中央,密度越大,实际上磁头只需
6、移动更短的距离。内部边缘( inner edge) 通常具有最短的寻道时间。作为最佳实践,应用程序使用 I/O 越多,就应该使其位于越靠近物 理卷中央的位置。请注意,对于这个最佳实践,有一些例外的情况。磁盘边缘的每个磁道比靠近 中央的磁道能够保存更多的数据。虽然这样说,但是实际上应该顺序地访问位于边缘的逻辑卷, 以获得更高的性能。对于开启了镜像写一致性检查(Mirror Write Consistency Check MWCC) 的逻辑卷来说也一样。这是因为,MWCC扇区位于磁盘边缘而不是中央,这与逻辑卷的 intra-disk 策略有关。让我们来讨论另一个重要的、称为逻辑卷inter-dis
7、k策略的概念。inter-disk策略定义了一 个逻辑卷的物理分区实际驻留的磁盘的数目。一般规则是,最小的 (minimum) 策略可以提供 最大的可靠性和可用性,而最大的 (maximum) 策略可以提高性能。简单地说,数据所分散到 的驱动器越多,性能就越好。一些其他的最佳实践包括:分配密集的逻辑卷以分隔物理卷,定义 所需的逻辑卷的最大大小,并将经常使用的逻辑卷布置在一起。这正是为什么在配置系统之前您 必须了解具体的数据,以便您从一开始就可以创建有意义的策略的原因。在创建逻辑卷时,您可以使用下面命令或者 smit 快速路径定义自己的策略:# mklv 或 # smitty mklv。监视逻辑
8、卷并分析结果 这个部分提供了有关如何监视您的逻辑卷并分析结果的介绍。介绍了各种各样的命令以及它们的 用途,并且您还将检查输出内容。刚刚接到了有关某个数据库服务器性能迟缓的报告。您怀疑可能出现了 I/O 问题,所以您使用 iostat 开始进行分析。如果您还记得,在本系列文章的第 1 部分中曾介绍过这个命令(请参 见参考资料),尽管只是用作查看异步 I/O 服务器的目的。现在,让我们仔细地研究 iostat。 iostat,相当于用于虚拟内存的vmstat,很可能是概略了解I/O子系统运行情况的最有效 方式。清单 1. 使用 iostat# iostat 1System configuratio
9、n: lcpu=4 disk=4tty:tintoutavg-cpu: % user% sys% idle% iowait0.0392.05.25.588.31.1Disks:% tm_actKbpstpsKb_readKb_wrtnhdisk10.519.51.45343773921482563hdisk00.729.73.09308675121482563hdisk41.7278.26.2238584732832883320hdisk32.1294.38.0300653060832883320这个示例中显示了哪些内容,而所有这些内容又是什么含义呢? % tm_act:报告物理磁盘处于活动状
10、态,或者磁盘请求的总时间的时间百分比。 Kbps:报告传输到驱动器的数据量(单位为千字节)。 tps :报告每秒钟发送到物理磁盘的传输量。 Kb_read :报告在测量间隔中从物理卷读取的总数据量(单位为千字节)。 Kb_wrt n:报告在测量间隔中向物理卷写入的数据量(单位为千字节)。您需要非常小心地监视% tm_act,因为当它的使用率超过大概百分之六十到七十时,这通常 表示进程开始等待I/O。这可能是即将发生的I/O问题的第一个征兆。将数据移动到更空闲的 驱动器可以显著地帮助缓解这个负担。通常来说,您的数据位于越多的驱动器,性能就越好。与 其他的事物一样,物极必反,因为您必须确保不会有太
11、多的驱动器连接到任何一个适配器。有一 种方法可以确定一个适配器是否满负荷,将连接到该适配器的所有磁盘的 Kbps 量累加起来。 其总数应该小于磁盘适配器吞吐量速率,通常小于百分之七十。使用 -a 标志(请参见清单 2)可以帮助您更深入地检查适配器的使用率。清单 2. 使用带 -a 标志的 iostat# iostat -aAdapter:KbpstpsKb_readKb_wrtnscsi00.00.000Paths/Disk:% tm_actKbpstpsKb_readKb_wrtnhdisk1_Path037.089.00.000hdisk0_Path067.047.00.000hdisk4
12、_Path00.00.00.000hdisk3_Path00.00.00.000Adapter:KbpstpsKb_readKb_wrtnide00.00.000Paths/Disk:% tm_actKbpstpsKbread Kbwrtncd00.00.00.000显然,其中不存在任何瓶颈。使用-d标志允许您深入地研究一个特定的磁盘(请参见清单3)。清单 3. 使用带 -d 标志的 iostat# iostat -d hdisk1 1System configuration: lcpu=4 disk=5Disks:% tm_actKbpstpsKb_readKb_wrtnhdisk10.51
13、9.41.45343774321490480hdisk15.078.023.636333564hdisk10.00.00.000hdisk10.00.00.000hdisk10.00.00.000hdisk10.00.00.000让我们来研究一些特定的 AIX LVM 命令。您已经了解了有关磁盘布置的内容,以及从一开始 就正确地设计系统体系结构的重要性。不幸的是,您并不总是能够使用这种方法。作为系统管理 员,您有时可能会接手一些必须进行修复的系统。让我们研究一下磁盘上逻辑卷的布局,以确定 您是否需要更改定义或者重新组织您的数据。让我们首先了解一下卷组,并查找作为其中的一部分的逻辑卷。lsvg命
14、令可以提供卷组信息(请 参见清单 4)。清单 4. 使用 lsvg# lsvg -l data2vgData2vg:LV NAMETYPELPs PPsPVs LV STATEMOUNT POINTdata2lvjfs1282562open/syncd/data2loglv00jfslog122open/syncdN/Aappdatalvjfs1282562open/syncd/appdata现在,让我们使用lslv,它可以提供关于逻辑卷的特定数据(请参见清单5)。清单 5. 使用 lslv# lslv data2lvLV IDENTIFIER:0003a0ec00004c00000000fb076f3f41.1 PERMISSION:read/write VG STATE:active/complete LV STATE: opened/syncdTYPE:jfs WRITE VERIFY: offMAX LPs:512PP SIZE:64 megabyte(s)LOGICAL VOLUME: data2lvVOLUME GROUP: data2vgCOPIES:2LPs:128STALE PPs:0INTER-POLICY:minimumINTRA-POLICY:centerMOUNT POINT:/dataSCHED POL