闪存缓存简介
闪存缓存技术由于其自身的优势而成为近年来的新兴技术,其中之一就是更快地访问数据。 IBM®希望在IBMPower®服务器中使用这项最新技术,并在IBMAIX®7.2和更高版本中引入了闪存缓存,因此企业级客户可以更快地访问其生产环境中的数据,这是非常重要的。 为了利用闪存缓存,您需要具有一组闪存驱动器和连接到闪存驱动器的固态驱动器(SSD)适配器。
IBM在AIX 7.2中引入了闪存驱动器,以通过在闪存驱动器中缓存数据来提高数据访问速度。 AIX中的闪存缓存技术可以通过以下三种不同方式使用:
- 将SSD适配器附加到IBM AIX逻辑分区(LPAR)
- 使用虚拟小型计算机系统接口(vSCSI)技术将SSD适配器连接到虚拟I / O服务器(VIOS)并将闪存驱动器分配给AIX客户端
- 使用N端口ID虚拟化(NPIV)技术将SSD适配器连接到VIOS并将闪存驱动器分配给AIX客户端。
本文范围
IBM Power Systems™中的闪存缓存技术可以通过以下三种不同方式使用:
- 将SSD 适配器 分配 给AIX LPAR :在这种方法中,我们直接将SSD适配器分配给AIX LPAR,而闪存驱动器将通过SSD适配器进入AIX LPAR。
- 使用vSCSI技术将SSD适配器分配给VIOS并将高速缓存磁盘分配给AIX LPAR :在这种方法中,我们将SSD适配器分配给VIOS,而闪存驱动器将通过SSD适配器进入VIOS。 我们将使用vSCSI技术将VIOS的缓存磁盘分配给AIX客户端。
- 使用NPIV(N端口ID虚拟化)技术将SSD适配器分配给VIOS,并将缓存磁盘分配给AIX LPAR :通过这种方法,我们将SSD适配器分配给VIOS,并且闪存驱动器将通过SSD适配器进入VIOS。 我们将使用NPIV技术将VIOS的缓存磁盘分配给AIX客户端。
对于这三种方法,我们都使用IBM开发的缓存软件。 缓存软件由缓存管理和缓存引擎组成。
高速缓存管理软件是一个应用程序接口(API),在AIX和VIOS上都具有一组新命令,可用于创建高速缓存池和高速缓存分区。 我们必须将缓存分区分配给AIX LPAR上存在的磁盘,然后开始缓存。 高速缓存引擎是一种高速缓存软件,可确定需要高速缓存的磁盘块以及是否需要从高速缓存磁盘或主存储中获取请求的数据。
图1显示了前面解释的方法2的图形表示。
图1.使用vSCSI技术的AIX闪存缓存
有和没有闪存缓存时的性能测量
本节说明使用和不使用闪存缓存时的性能差异。 在评估性能之前,我们需要确保满足以下系统配置和先决条件。
系统配置:
- 电源795(类型/型号-9119-FHB)
- AIX 7.2
- 操作系统2.2.6.0
- 基于并分配给VIOS的闪存驱动器,包括本地连接的存储区域网络(SAN)子系统
您需要执行以下可调更改以评估性能。
在VIOS和AIX客户端上:
使用chdev
命令将所有SAN子系统磁盘和高速缓存磁盘的max_transfer
属性设置为100000。
# chdev -l hdisk5 -a max_transfer=0x100000
hdisk1 changed
使用chdev
命令将所有SAN子系统磁盘和高速缓存磁盘的queue_depth
属性设置为256。
# chdev -l hdisk5 -a queue_depth=256
hdisk1 changed
接下来,我们需要配置AIX闪存缓存并在有和没有闪存缓存的情况下运行性能基准测试,以查看改进。
在VIOS上进行配置:
- 使用以下命令在VIOS上创建缓存池:
$ cache_mgt pool create -d hdisk5 Pool cmpool0 created with devices hdisk5.
- 使用以下命令在缓存池(在VIOS上创建)上创建缓存分区:
$ cache_mgt partition create -s 4G -P cache_partition0 Partition cache_partition0 created in pool cmpool0. $ cache_mgt partition create -s 4G -P cache_partition1 Partition cache_partition0 created in pool cmpool0.
- 使用以下命令将缓存分区分配给VIOS上存在的vSCSI适配器:
$ cache_mgt partition assign -P cache_partition0 -v vhost0 Partition cache_partition0 assigned to vSCSI Host Adapter vhost0. $ cache_mgt partition assign -P cache_partition1 -v vhost1 Partition cache_partition1 assigned to vSCSI Host Adapter vhost1.
在AIX客户端上的配置:
- 在AIX客户端上运行cfgmgr命令,以在VIOS上的客户端上获取高速缓存磁盘。
- 使用LPAR1上的以下命令将高速缓存磁盘分配给存储磁盘:
# cache_mgt partition assign -P cachedisk0 -t hdisk3 Partition cachedisk0 assigned to target hdisk3. # cache_mgt partition assign -P cachedisk0 -t hdisk4 Partition cachedisk0 assigned to target hdisk4.
- 同样在LPAR2上执行步骤2。
# cache_mgt partition assign -P cachedisk0 -t hdisk0 Partition cachedisk0 assigned to target hdisk0. # cache_mgt partition assign -P cachedisk0 -t hdisk1 Partition cachedisk0 assigned to target hdisk0.
- 使用以下命令在两个LPAR LPAR1和LPAR2上开始缓存:
# cache_mgt cache start -t all All caches have been started.
现在,让我们讨论基准测试中使用的I / O存储工作负载的性能。 工作负载通过存储设备执行I / O操作,并提供IOPS和每秒数据传输速率的性能指标。
它具有以随机或顺序方式运行I / O请求的功能。 我们可以通过定义要在其上同时运行的线程数来施加压力。 您可以相应地自定义参数文件。 您可以根据需要更改以下参数:
NBROFPROC ->1 4 8 24 48 96 128 256 - Specifies Number of threads
DURATION -> 5 - Specifies Duration it should run for each threads
ACCESS -> R - Specifies Random(R) / Sequential(s)
RESPONSETIME -> 0.005 0.010 0.015 0.020 0.030 0.050 0.100 0.200
BUCKETS -> .002 .005 .010
READPROBABILITY -> 0.70 - Specifies %read and write(here 70% read and 30% write)
READLOCALITY -> (0.5 0.5)
WRITELOCALITY ->(0.33 0.33 0.34)
* RECPERTRK -> 1000
SECPERTRK -> 128
RECSIZE -> 4096 - block size default is 4k
PDEV -> 240 - No. of physical device used in operation
NBROFDEV -> 240 - No. of device used
现在,让我们看一下在具有和不具有闪存高速缓存的AIX LPAR(LPAR1和LPAR2)上运行此工作负载时的存储I / O性能基准数字。
图2中的图表显示了启用和禁用高速缓存的数据指标的比较,我们可以看到启用高速缓存时的性能大约提高了2.7倍。
图2.相对于IOPS参数,使用和不使用AIX Flash高速缓存时的性能测量
图3中的图表显示了启用和禁用缓存之间以MBps为单位的数据传输的比较,我们可以看到启用缓存后,性能提高了约2.5倍。
图3.启用和禁用缓存的性能比较
结论
本文指出,使用AIX闪存缓存,改进的数据指标大约是2.5到2.7倍。 对于大量工作负载而言,这种性能提升非常重要,闪存缓存在这里起着重要作用。 即使在IBM Power服务器中进行虚拟化,我们也可以看到性能的提高。
翻译自: https://www.ibm.com/developerworks/aix/library/au-performance-flash-cache/index.html