H3C案例查看:H3C R590G2服务器,P440/P840阵列卡中的smart path功能介绍...

首先先来了解下,什么是smart path

Smart Path的技术介绍:

在传统的IO传递中,一个IO请求需要经过驱动,再经过阵列卡固件控制,通过阵列卡写到硬盘上

SSD Smart Path是一个在SSD上开启优化路径的一种技术,通过绕过Smart Array固件的方式直写硬盘,取代传统的IO传递方式

Smart Path是smart array阵列卡软件堆栈,换句话说就是HPE Smart Array的驱动,部署在直连储存上(direct-attached storage)

SSD Smart Path主要用途是处理小的IO请求,通常来说,小的IO写请求会在任何的RAID level上开启,而小的IO读请求是在RAID0上开启。
       相比普通IO path是处理大的IO请求和其他大部分写场景。

  • 当一个IO请求通过HPE SSD Smart Path读写时有error,则请求会尝试通过normal IO Path进行读写。
  • 当逻辑卷处于扩充、重建、重配或RAID级别迁移时,所有的IO读写请求都将转移到normal IO path处理,而不经过smart path。

开启smart path的前提要求:

1. 要求在HPE ProLiant Gen8以上的类型的服务器上

2. 一定是在SSD硬盘组成的逻辑卷上

3. 最新的Smart Array Controller的固件

4. 最新的Smart Array的驱动

5. Smart Array Controller必须有cache Module缓存模块

开启smart path的方式:

通过使用PE Smart Storage Administrator (SSA)工具进行开启

备注:默认当SSD硬盘组件的logical drive时,其smart path就是开启的。

Smart Path的性能测试对比:

那么接下来的问题,开启smart path和不开启smart path在性能上,到底有什么区别呢?

下面是对smart path的性能测试(测试结果仅供参考):

准备的测试材料:

测试的硬件: R59G2服务器,P840阵列卡,2块480GB SSD硬盘,每块硬盘组成一个RAID0,分别在一个RAID0上开启smart path,在另外一个RAID上禁用smart path。

测试的系统:Red Hat Enterprise 6.8

测试的方式: 如果我们之前所提到的,smart path主要是在小的IO读写上有优势,所以我们主要以4k大小的IO请求为测试元素

整体测试结构如下:

逻辑卷A:1块480G SSD硬盘,RAID0,开启smartpath(默认) -  在系统下识别为sdd

逻辑卷B:1块480G SSD硬盘,RAID0,关闭smartpath(手动) -  在系统下识别为sde

测试一:4k块的小IO随机读请求测试

分别对两块硬盘进行fio 4k块大小的 IO小读请求,命令如下:

fio -name='4K-Random-Read' -filename=/dev/sdd -direct=1 -rw=randread -bs=4k -size=100G -numjobs=2 -runtime=20 -group_reporting

测试结果1:  read : io=2008.6MB, bw=102833KB/s, iops=25708, runt= 20001msec

fio -name='4K-Random-Read' -filename=/dev/sde -direct=1 -rw=randread -bs=4k -size=100G -numjobs=2 -runtime=20 -group_reporting

测试结果2:  read : io=1658.6MB, bw=84912KB/s, iops=21227, runt= 20001msec

测试一的结论: 从这个结果中,我们可以看出,开启smart path要对比禁用smart path在小IO读请求时,会有一定的提升

测试二:1M块的大IO随机读请求测试

下面是分别对两块硬盘进行fio 1M块大小的 IO小读请求,命令如下:

fio -name='1M-Random-Read' -filename=/dev/sdd -direct=1 -rw=randread -bs=1M -size=100G -numjobs=2 -runtime=20 -group_reporting

测试结果1: read : io=10564MB, bw=540769KB/s, iops=528, runt= 20004msec

fio -name='1M-Random-Read' -filename=/dev/sde -direct=1 -rw=randread -bs=1M -size=100G -numjobs=2 -runtime=20 -group_reporting

测试结果2: read : io=10557MB, bw=540437KB/s, iops=527, runt= 20003msec

测试二的结论:从大块IO读测试中,我们看出smart path并没有生效,两者的测试结果近乎相同。

总结:由此我们验证了,开启和关闭smart path在读写小IO请求的情况下,会有一定的性能提升

(0)

相关推荐