使用vdbench工具在RedHat系统上对存储映射的LUN加压

发布时间:  2015-08-29 浏览次数:  882 下载次数:  0
问题描述

主机为RedHat5.9系统,安装自研多路径后,每个主机映射10个LUN,使用vdbench5.02工具进行加压,发现主机IOPS始终在300左右徘徊,无法达到加压目标。

处理过程
  1. 将多路径软件卸载后,用vdbench进行同样的测试,存在该问题。
  2. 在SUSE主机上,进行同样的测试,不存在该问题。
根因

经过对比确认,RedHat操作系统上其默认的I/O调度“cfq算法”在处理随机I/O时,与vdbench工具配合上存在问题

解决方案

在RedHat系统上,使用vdbench工具测试时,可以通过修改I/O调度算法规避此问题。

  1. 编辑启动文件“/boot/grub/menu.lst”。在默认启动引导项后面添加“elevator=noop”。
     
     # grub.conf  generated by anaconda 
     # 
     #Note that you do not have to return grub after making changes to this file 
     #NOTICE: You do not have a /boot partition. This means that 
     #              all kernel and initrd paths are relative to /, eg. 
     #              root (hd0,2) 
     #              kernel /boot/vmlinuz-version ro root=/dev/cciss/c0d0p3 
     #              initrd /boot/initrd-version.img 
     #boot=/dev/cciss/c0d0 
     default=0 
     timeout=5 
     splashimage=(hd0,2)/boot/grub/splash.xpm.gz 
     hiddenmenu 
     title RHEL5U5
                 root (hd0,2)
                 kernel /boot/vmlinuz-2.6.18-194.e15 ro root=LABEL=/ crashkernel=128M@16M console=tty0 console=ttyS0,115200 elevator=noop
                 initrd /boot/initrd-2.6.18-194.e15.img
  2. 重新启动主机。
  3. 执行cat /sys/block/sd*/queue/scheduler命令查看结果显示为“noop”(其中sd*代表sdb,sdc一类磁盘)。
建议与总结

该问题为主机侧问题,适用于所有存储产品。

END