呵呵,虽说翻得慢点,但也慢慢快翻完了,
高兴ing....
第八章 Veritas Volume Manager Performance Management
目标
通过以下章节的学习,你将掌握如下:
l 描述如何进行数据分配计划来提高系统性能
l 列出可以增强读写性能的卷配置
l 列出可以获得性能信息的VM命令
l 描述3种RAID 5写过程的类型
l 列出3种RAID 5写过程的类型为提高系统效率
性能方针 有几个策略可以优化卷性能,包括:l 为物理磁盘分配数据,使得在他们之间的I/O负载能够平衡l 通过使用条带,镜像或RAID 5来提高数据的访问带宽l 通过捆绑(cabling across)系统板和控制器来提高数据的访问带宽
性能方针
在任何系统上周期的评估卷的性能是必须的。
数据分配
当决定文件系统的放置位置时,系统管理员总是试图来平衡有效磁盘间的I/O负载。但是,难于确定将来的使用模式,限制这个过程的成功执行。
通常情况下,文件系统可能有着繁重的I/O负载,不能位于相同的磁盘。把它们分配到不同控制下的不同的存储阵列。
同时,日志文件的位置对性能也是有影响的。尤其对于RAID 5来说。
如图8_1所示,数据分配的错误会导致性能问题
以下的方案可以解决上图中的性能问题:
l 使一些高使用的卷与低使用的卷进行交换
l 移动高使用的磁盘到一个不同的阵列
--------------------------------------------------------------------------------------------------
注意----交换卷位置可能是一个好的解决方案,因为它在单一磁盘上消除了2个高使用率的卷。
--------------------------------------------------------------------------------------------------
当一个日志plex与它所相关的数据plex位于相同的磁盘时,可能会发生另一种类型的性能问题。如果是RAID 5日志,你要考虑到以下方面:
l 数据写入到所有RAID 5的柱,同时也要写入日志
在一个6柱(6-column)的RAID 5卷,这可能会增加日志磁盘的I/O速率
的600%。
如图8_2所示,保留所有磁盘的尾部空间,确保你能为移动日志拥有可
选择的空间
如果2个卷的访问负载很重,如图8_2的日志位置将不能很好的工作,
这个配置的最好工作状态是,至少一个卷有很低的写活动。
提高带宽(Bandwidth Improvement)
镜像
在一个系统中,镜像存储数据的多个拷贝。在物理介质失败时,镜像是用来保护数据丢失的主要方式,一旦发生系统崩溃,它也提高数据的恢复机率。
在一些情况下,镜像也可以用来提高系统性能。镜像频繁访问的数据,不止能在磁盘失败时保护数据丢失,也可以提高I/O性能。然而,它不像条带那样,通过使用镜像获得的性能依赖于磁盘访问的读写率。如果系统的工作负载主要是写操作(如,大于30%的写操作),那么镜像可能会在某些方面降低性能。
为不同类型的镜像卷提供优化的读性能,VM支持以下的读策略:
n round-robin读策略(round)
在卷中所有plex以round-robin风格的镜像卷的读请求是满意的。当使用任何特殊镜像没有重大性能提高时,做此选择。
n preferred-plex读策略(prefer)
从一个指定的plex(推测这个plex有着高性能)对一个镜像卷的读请求是满意的。除非这个plex失败
n 默认的读策略(select)
对于配置会自动的选择读策略,如,选择preferred-plex当只有一个条带plex与卷相关时;在其他情况下选择round-robin。
在如图8_4的例子中,被标记为Hot Vol的卷的读策略被设置为prefer,对于条带plex标识为Plex 1。在这个方式下,读请求被直接送给条带plex(它拥有最好的性能特性)。
RAID 0+1
RAID 0+1也涉及到一个镜像-条带配置。当一起使用时,镜像和条带提供了多磁盘的分布式数据访问优点并提供了数据冗余。
RAID 1+0
RAID 1+0也涉及到一个条带-镜像配置。它的性能与RAID 0+1相同,但是这个配置可以容许更高机率的磁盘失败。
RAID 5
RAID 5提供了读性能方面的优点,类似于条带,通过分布式的奇偶 校验表也提供了数据保护。RAID 5的缺点就是相对较慢的写性能。
RAID 5通常不是一个性能增强工具,除非一个高度读操作的应用。
性能捆绑(Performance Cabling)
为了提高性能和/或有效性,可以通过系统板,控制器和目标(target)使用条带和镜像,性能或可靠性的最高级别可以通过系统板进行条带或镜像来获得。
如图8_5:
性能监视 通过使用以下方式,VM软件可以连续获得统计信息:l 命令:vxstatl 命令:vxtrace
性能监视
获得统计信息
VM软件连续获得处于它控制之下的所有关于设备和目标的性能统计。这些获得的类型包括:
l 操作的数量
l 传输块的数量(一个操作可能调用一个或多个块)
l 平均操作时间(这反映了VM软件的总共时间并且不适合与其他静态程序相比较)
这些统计信息包括每个卷的读,写,原始拷贝,校验读,校验写,plex
读和plex写。对于一个2plex的卷的写,至少有5个操作:一个对应于每个plex,一个对应于每个子磁盘,一个对应于卷。
卷也维护其他的统计数据,如读和写失败。
在系统启动操作之后,统计被连续获得。重新设置统计为测试操作,这
只有在完全使用命令:vxstat或选择目标时使用。
使用命令:vxstat显示统计信息
命令:vxstat用来显示关于不同类型的VM物理和逻辑目标的统计信息。以下的参数可以用来控制显示:
l # vxstat –g disk_group
显示指定磁盘组的卷统计信息
l # vxstat –g disk_group vol01
显示指定卷的统计信息
l # vxstat –g disk_group –d
显示指定磁盘组的磁盘级别统计
l # vxstat –g disk_group –d disk01
显示指定磁盘的统计
使用vxtrace命令显示统计信息
命令:vxtrace用于显示关于错误或I/O操作的细节的跟踪信息。这个级别的细节信息通常不是必须的,但是完整的,以下的参数用来控制信息:
l # vxtrace –o disk
跟踪所有磁盘的I/O操作
l # vxtrace –o disk c3t98d0
跟踪磁盘c3t98d0的所有I/O操作
l # vxtrace hist2
跟踪所有与卷hist2相关的虚拟设备I/O操作
l # vxtrace –o dev hist2
跟踪所有与卷hist2相关的虚拟设备I/O操作
性能分析 VM性能分析过程包括以下几步:1. 重新设置(Resetting)已经存在的数据2. 在评估过程中维护正常的系统加载3. 使用一个不常使用的I/O操作的大数来标识VM目标4. 使用过度的读或写时间来标识VM目标5. 使用vxtarce命令执行细节跟踪
性能分析
一旦获得性能数据,它可以被用来确定和优化系统配置来高效的使用系统资源。
应该注意的是,一个有着较高的读或写访问时间的卷或磁盘不是一个必须的问题。如果慢速的响应对用户和应用来说不能引起任何明显的问题,那么就没有必要修复它。
准备
在获得统计前,使用命令:vxstat –r 来清空所有已经存在的统计。清空统计能消除卷或磁盘在创建期间的任何差异。并且也移除了在启动时不感兴趣的统计信息。
清空的统计信息后,在典型的系统活动中,允许系统运行。当监视一个多目的的系统,正常执行系统应用,不要太多。
周期的执行卷的快照统计也是有好处的,能够标识不规则的系统加载问题的原因。
一个有着过量I/O速率的单一的卷,在其他卷相关相同的物理磁盘时,可能会使得性能降低。
卷统计
你可以使用vxstat命令来帮助标识卷,使用一个不常使用的I/O操作的大数来标识VM目标:
# vxstat –g bench
OPERATIONS BLOCKS AVG TIME(ms)
TYP NAME READ WRITE READ WRITE READ WRITE
vol acct 473 11 57252 44 4.0 20.9
vol brch 23 11 92 44 33.0 20.0
vol ctrl 367 18000 1675 72000 9.3 21.7
vol hist1 23 11 92 44 97.0 24.5
vol hist2 23 11 92 44 54.8 22.7
vol hist3 23 11 92 44 103.5 25.5
vol log1 9 27217 9 409716 16.7 21.1
vol log2 7 8830 7 159769 15.7 24.3
vol rb1 123 13 492 52 30.7 83.1
vol rb2 23 11 92 44 149.1 25.5
vol sys 26933 86156 177688 344632 15.0 310.7
vol t11r 23 11 92 44 39.6 24.5
磁盘统计
命令:vxstat也可以依据物理磁盘进行统计操作:
# vxstat –g bench –d
OPERATIONS BLOCKS AVG TIME(ms)
TYP NAME READ WRITE READ WRITE READ WRITE
dm c3t98d0 14330 140370 120348 986785 15.4 185.6
dm c3t100d0 13881 140370 117971 986785 15.4 187.7
dm c3t113d0 0 0 0 0 0.0 0.0
dm c3t115d0 0 0 0 0 0.0 0.0
dm c3t117d0 0 0 0 0 0.0 0.0
跟踪信息
当标识了一个与I/O问题相关的卷时,你就可以使用vxtrace命令来确定哪个系统进程对这个I/O请求进行响应。在这里,相关的卷的名字是:ctrl
# vxtrace –o dev ctrl
40122 START write vdev ctrl block 16 len 4 concurrency 1 pid 10689
40122 END write vdev ctrl op 40122 block 16 len 4 time 1
40123 START write vdev ctrl block 16 len 4 concurrency 1 pid 10689
40123 END write vdev ctrl op 40123 block 16 len 4 time 2
40124 START write vdev ctrl block 16 len 4 concurrency 1 pid 10689
40124 END write vdev ctrl op 40124 block 16 len 4 time 4
40125 START write vdev ctrl block 16 len 4 concurrency 1 pid 10689
40125 END write vdev ctrl op 40125 block 16 len 4 time 0
^C
#
#
# ps -ef |grep 10689
oracle 10689 1 0 20:05:21 ? 0:03 ora_ckpt_bench
RAID 5的写性能 为了达到在RAID 5卷中的最大写性能,你必须理解以下写操作,以及他们如何作用于性能:l 读—修改—写(Read-modify-Write)l 重建—写(Reconstruct-Write)l 完全条带写(Full-stripe write)
RAID 5的写性能
RAID 5写性能的控制依据于有多少的数据将被写入到一个完整的条带宽度。当完全条带被写入时,可以获得最适宜的写性能。
读—修改—写操作(Read-modify-write)
在一个单一的I/O中,当少于50%的数据磁盘被写入时,使用读—修改—写的顺序。
这是RAID 5卷的默认操作。
如图8_6所示,读—修改—写调用以下几个步骤:
1. 被修改的条带被读入到缓存
2. 奇偶校验信息被读入到缓存
3. 执行异或(XOR)操作
4. 新数据和奇偶校验被执行一个单独写
在这个例子中,至少有3个I/O操作是必须的,同时,附加的异或(XOR)
操作也是必须的,条带单元2,3,4中的数据没有被读取。
通常,读—修改—写方式是RAID 5结构的最低效写入方式。
重建—写操作
如果超过50%的条带将被修改,将使用重建—写结构。
如图8_7,重建—写结构调用的步骤包括:
1. 只有不被影响的数据被读入到缓存
2. 对新数据和未被影响的数据执行异或(XOR)操作
3. 新的奇偶校验和数据被执行一个单独写
在这个例子中,只有2个I/O操作是必须的。
通常,重建—写操作比读—修改—写操作更有效。
完全条带—写操作
当大量的写,可以覆盖一个完全的数据条带被执行时,将执行一个完全条带写(full-stripe-write),好于读—修改—写和重建—写。一个完全条带写要比其他RAID 5写过程要快,因为它不需要请求任何读操作。如图8_8,一个完全条带写过程包括以下几步:
1. 对新数据执行异或来产生新的奇偶校验
2. 新数据和奇偶校验被执行一个单独写
上例中,只有单独的写操作是必须的。
--------------------------------------------------------------------------------------------------
注意----有些情况下,减少RAID 5的柱数量来强制增加完全条带写操作是有好处的。这对于使用随机长度写的应用可以提高全面的写性能。
--------------------------------------------------------------------------------------------------
阅读(187) | 评论(0) | 转发(0) |