PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

玩 - LSI MegaRAID SAS 9260-8i CacheCade Pro 2.0 介绍及教程

[复制链接]
跳转到指定楼层
1#
sohueasy 发表于 2016-5-5 10:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
点击数:33662|回复数:38
本帖最后由 sohueasy 于 2016-5-5 10:56 编辑

PCEVA不能不说是民用存储玩家的天堂,各种阵列卡一路进化,从没缓存的到带缓存的,从带缓存的到带SSD caching的。

不过各有各的玩法,我在坛子却没搜到什么关于LSI SSD Caching(也就是LSI CacheCade Pro 2.0方案)的案例,看来这么玩的人是比较少的。正巧以前有个朋友@madog 走过这个套路,和他一起研究做过些许研究,加之@einstein86 正好闲置了一块LSI 9260-8i,于是便促成了这次自己的瞎逼折腾。同时也感谢@nighttob 的支持。

Part 1:关于LSI CacheCade Pro2.0

关于LSI的CacheCade Pro 2.0,其实在坛子里有一篇介绍的文章:[OSSLab]LSI CacheCade Pro 2.0 R/W SSDC(SSD Caching)簡測..

但是这篇文章应该是官方推广写的,在网络上很多地方都可以看到。但是繁体字外加台湾的表达方式让人看着很是吃力,于是我打算自己重新做一番介绍。
参考资料:



1,什么是CacheCade Pro 2.0?
简而言之,就是在LSI阵列卡中,接入1个或多个SSD,用来给HDD做缓存,将HDD中经常访问的热数据缓存至SSD中,以提供高热数据的读取/写入速度。类似目前混合硬盘概念。


2,CacheCade的意义是?
目前SSD的cost per bit成本过高,纯SSD阵列非常昂贵;HDD的cost per bit较低,但是延迟太高、IO访问速率太低。通过将热数据数据缓存至SSD的方式,既可以降低成本,又可以获得相对较高的访问速度。对于WEB、文件、联机事务处理(OLTP)数据库、数据挖掘等交易密集型应用有较大提升。

3,CacheCade Pro 2.0有什么要求?
RAID卡兼容LSI MegaRAID SAS 9260/9261/9265/9266/9270/9271/9280/9285/9286/9361/9380 系列,并需升级支持CC Pro 2.0的固件。
激活CC有两种方式,软Key和硬Key。
软Key被命名为LSI00293;
硬Key有两种,LSI00292和LSI00290,用于不同阵列卡,详情可以参考上述附件。




这次我自己使用的硬件是LSI MegaRAID SAS 9260-8i。


我本次选择的是LSI00292硬Key,现在这个Key在大淘宝的价格可谓非常低廉。
和网络上看到的原封包装不尽相同,不知道是否为山寨,但是功能上和官方并无二致。


包装内各项纸签齐全。


LSI00292 CC Key本身其实非常小。一个2pin header加一个看上去像运放的芯片。


CC Key的具体接口位置在9260-8i的左下角。


本次参加测试的全部设备:
4 * Toshiba DT01ACA300 3T RAID 5
2 * Intel 520 240G RAID 0 CacheCade
1 * LSI MegaRAID SAS 9260-8i


在这里补充一下,关于组CacheCade盘片的选择:
在LSI的CacheCade Pro 2.0页面中,有一栏是Supported SSDs,应该是经过安高华测试过的能够较好兼容CacheCade Pro 2.0的SSD(也包含HDD,因此这个列表应该是安高华的一个universal的测试清单)。
为了降低数据风险,我选择了采用其中支持的SSD之一。但是经测试,不在列表中的SSD也是可以使用的,所以关于做CacheCade的SSD选择,请大家自行评估选择。


Part 2:RAID设置和CacheCade组建

因为我是在Windows 10系统下使用和配置的,所以全程使用了MegaRAID Storage Manager(MSM)软件,MegaRAID Web bios的配置方法也基本相同。
安装好后,插上9260,可以看到本机Host,需要用Windows账户密码登录。
MSM软件可以在安高华的网站上下载:9260-8i下载列表


登录进去后,可以看到界面主要由三个部分组成:Dashboard、Physical、Logical。
这里可以看到,全部的硬盘已连接好,但是未配置,总计11.35TB。
因为我已经插上了CacheCade硬Key,所以FastPath、CacheCade均是已激活状态。


为了让阵列卡支持CacheCade功能,第一件事是升级固件,在Dashboard界面中点击Upgrade Firmware,即可开始升级固件。
固件可以从安高华的网站上下载:9260-8i下载列表
固件既可以使用MSM进行升级,也可以使用storcli升级,升级方法请参考@overthink 文章LSI Nytro 8110-4i升级固件,安装系统、设置及简单测试
因为我拿到卡时固件已经升级,所以略过此步。


升级好固件之后即可开始对RAID进行配置了,点击Dashboard界面中的Create virtual drive,进入配置向导。
因为要对RAID中设置的参数进行说明,这里选择Adavanced模式。


首先需要对HDDs进行配置,这里我是4盘3T,准备做RAID5。


选择好RAID5模式后,选择需要组建RAID5的盘,这里一共是4个,然后点击Add,这四个盘就进入了Drive Group0。


然后点击Create Drive Group,新建一个空闲的Drive Group,即可点击Next进行下一步配置。


接下来的配置界面就是作为RAID新玩家曾经迷惑的地方,因此在这里也进行一个稍微详细的讲解。
配置项 选项 建议
Strip size8KB
16KB
32KB
64KB
128KB
256KB
512KB
1MB
RAID的读取和写入是将数据分段存储于RAID阵列中的各个盘上,Strip名“条带”,即指每个分段的长度。
如用途多样化,建议使用默认256K。
如主要用于存储大体积文件,建议使用较1MB。
Read policyNo Read Ahead:关闭预读取功能。
Always Read Ahead:使能预读取功能。
两者区别在于读取数据的过程中是否经过MegaRAID卡的内存Cache。
必选Always Read Ahead。
Write policyWrite Through:直接将数据写入RAID阵列中的硬盘。
Always Write Back:先将数据写入MegaRAID卡的内存Cache,再写入RAID阵列中的硬盘。当无BBU或BBU损坏的情况下,仍使用Write Back模式。
Write Back (with BBU):先将数据写入MegaRAID卡的内存Cache,再写入RAID阵列中的硬盘。当无BBU或BBU损坏的情况下,将自动切换至Write Through模式。
Write Back可以极大地提高写入性能,但是如遇断电可能会面临数据风险。因此为保证可靠性,建议配备BBU或者UPS。
有BBU的建议选择Write Back (with BBU);
无BBU的建议选择Always Write Back。
I/O policyDirect:读取请求并不在Cache中缓存。
Cached:所有的读取请求在Cache中缓存。
I/O policy指的是硬盘的读取请求是否经过缓存。
Cached
Access policyRead and Write:可读可写。
Read Only:只读访问。
Blocked:禁止访问。
Read and Write
Disk Cache policyEnable:读写过程中数据经过硬盘自带Cache。
Disable:读写过程中数据不经过硬盘自带Cache。
Unchanged:保持当前硬盘Cache策略。
对硬盘自带的Cache的使用办法。
Enable



设置好之后,点击Create Virtual Drive,会弹出一个关于Write Back的提示框。
含义即是Write Back能提高性能,但是如果BBU没装,会跳会Write through模式。


确定之后就可以看到已经创建好的RAID5阵列了。


点击Next,可以看到设置总结,包含RAID模式,几盘,容量等信息。


点击Finish,创建完成。


创建完成后,如果SSD已经连接好,会自动跳出CacheCade的设置向导,根据向导进行设置就可以。但是为了验证RAID的性能,我稍后进行了设置。


来到Logical界面,可以看到设置的参数,进行一次fast initialization后,开始进行测试。


Part 3:RAID5基础策略测试

测试1
  1. write policy - write back
  2. read policy - always read ahead
  3. IO policy - cached
复制代码




上面两个测试可以看到,在RAID5下,读写基本都跑满了三盘的性能,这说明MegaRAID SAS 9260-8i的ROC(RAID-on-Chip)LSI SAS 2108应付四盘RAID5的校验工作还是毫无压力的。




测试2
  1. write policy - write through
  2. read policy - no read ahead
  3. IO policy - cached
复制代码




当读写policy都不再使用MegaRAID的内存做Cache时,可以看到读写性能都大幅下降,读取基本只是单盘的性能,写入更是惨得连单盘都不如。
这就充分显示了Cache在RAID中的作用,因此Write Back和Always Read Ahead都是建议开启的。
但是部分用户为了保证数据开全,可能还是会关闭读\写Cache。接下来就继续进行交叉的写Cache和读Cache测试,看一下性能。




测试3
  1. write policy - write back
  2. read policy - no read ahead
  3. IO policy - cached
复制代码




当只开写Cache的时候,写入的速度相对于读写Cache都开,速度几乎相同。




测试4
  1. write policy - write through
  2. read policy - always read ahead
  3. IO policy - cached
复制代码




当只开读Cache的时候,读取的速度相对于读写Cache都开,速度几乎相同。

上面两个测试也基本可以证明,在MegaRAID SAS 9260-8i下,读\写Cache对性能的影响基本是独立的,如果因为需求必须要关闭读或写Cache,不比担心会对其他操作有影响。




测试5
  1. write policy - write back
  2. read policy - always read ahead
  3. IO policy - direct
复制代码




最后一个测试是关闭IO请求缓存功能。
可以看到的是,对数据的读取速度并没有什么影响,只是HDTune中的突发传输速率受到了影响。
虽然LSI的默认设置是direct,但是为了获取更高的性能,还是建议使用Cached模式。

Part 4:CacheCade设置和测试

测试完RAID5的技术性能后,就可以开始进行CacheCade的操作了。
回到Dashboard界面,点击Create CacheCade。


第一步是要选择CacheCade的Raid level,这里我有两张盘,因此可以选择RAID 0和RAID 1两种模式。
如果只有一张盘,这里也还是要进行选择的,只是选项只有RAID 0。


和RAID5的操作相同,Add盘之后,再Create Drive Group,即可建立CacheCade的SSD Caching Drive Group。


接下来要选择CacheCade的写策略。
首先是Write Policy选择,可以看到下面的释义,如果选取了Write Back,则读写操作都要经过SSD Caching。


如果Write Policy选择Write through,则只有读取操作经过SSD Caching,写操作跳过SSD Caching。


选择Write back模式确认建立后,又是一个提示,RAID 0模式下的CacheCade,如果一个盘坏了,可能有风险。
不管,继续。


完成设置。


CacheCade建立好之后,到Logical界面,右键选择已建立好的HDD阵列,点击Enable SSD Caching,CacheCade就开始工作了。


接下来使用TxBENCH对CacheCade进行测试:
测试使用RAW模式,在RAW模式下,TxBENCH会先建立一个测试区域,然后对其进行操作,如果重复进行操作,则继续使用已建立的测试区域重复进行。
而在非RAW模式下,TxBENCH每次测试都会重新建立一个测试区域,再进行测试。
因此CacheCade对两种条件下的反应会有所不同,在RAW模式下,对同区域操作2-3次即被判断为Hot zone,进入SSD Caching;在非RAW模式下,则需要重复建立3-6次文件才会被判定为Hot Zone,进入SSD Caching。
CacheCade开启后第一次测试:


RAW模式下,因为是对同区域进行操作,所以第二次直接被判定为Hot Zone进入SSD Caching,测出来就是SSD RAID0的性能了。


第三次测试,重复测试,确认可重复操作性。


八小时后(带电,无磁盘操作)再次进行测试,这部分数据依然在SSD Caching中。
因此判断可能这部分数据将一直存在于SSD Caching中,直至SSD Caching写满才会被替换。


小结

@nighttob 说过,其实NMR8110就是MegaRAID 9271-4i的自带CacheCade+原生SSD版本。
在ROC的选择上,双核2208+1G DDR3的配置毫无疑问会比单核2108+ 512M DDR2要好,只不过如果只是像我一样,用来做做数据安全性方案,9260也确实够用了,毕竟民用级的需求相当低。
如果不愿意花钱买硬Key,还可以使用软件Key的方式,每30天重新激活一下就好。

by the way,tob说,能不折腾raid最好不要折腾。
说不好会遇到什么问题,但是只要开始了,折腾恐怕就停止不了了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1代金券 +200 收起 理由
石头 + 200 2精,优秀

查看全部评分

2#
batzxcboy 发表于 2016-5-5 11:05 | 只看该作者
好屌的样子,然而我完全看懵了
3#
alexanderman 发表于 2016-5-5 11:10 | 只看该作者
CacheCade確實是好東西,我有一台伺服器用上它後,網頁伺服器的存取時間大大的縮短了
4#
nighttob 发表于 2016-5-5 11:41 | 只看该作者
有CC以后的VD设置里面
如果持续读取多,且外部带宽足够大,那么always read ahead更合适;如果经常是小文件,no read ahead更能发挥CC的作用
IO policy也是同理,有CC的话DIO更好,否则读取过程要在CC里面缓冲一次又要在512M内存上缓冲一次,反而慢,虽然某些测试可能好看
磁盘缓存,因为消费级HDD是没有端到端保护的,有硬卡的情况下通常都禁用,当然消费级缺失的不仅是这一点,其实也无所谓,对性能也没什么影响,毕竟你条带开的足够大了
5#
nighttob 发表于 2016-5-5 11:47 | 只看该作者
还有,最开始链接提到的P大算是启蒙老师了,有志于入硬卡这个坑的话,应该去他的网站上把有关的内容都吃进去
虽然两岸文字习惯有所区别,但对很多人来说还是比直接看英文资料方便多了
http://www.osslab.org.tw/Storage/Enterprise/SAS%e8%88%87RAID
6#
alexanderman 发表于 2016-5-5 12:10 | 只看该作者
本帖最后由 alexanderman 于 2016-5-5 12:20 编辑
nighttob 发表于 2016-5-5 11:41
有CC以后的VD设置里面
如果持续读取多,且外部带宽足够大,那么always read ahead更合适;如果经常是小文件 ...

謝謝分享,我也在糾結Read Ahead、Disk Cache、Strip Size、Write Back/Write Through等參數
7#
sohueasy  楼主| 发表于 2016-5-5 13:25 | 只看该作者
nighttob 发表于 2016-5-5 11:41
有CC以后的VD设置里面
如果持续读取多,且外部带宽足够大,那么always read ahead更合适;如果经常是小文件 ...

开启CC之后,用HDtune测试,突发数据传输就上不去了,IO有可能是到SSD上做了
很多东西还不明白,只有慢慢玩,慢慢研究
8#
小钻风 发表于 2016-5-5 13:34 | 只看该作者
感觉盘越多这个就越有用,用过混合硬盘后感觉磁盘部分本身性能可能就比纯机械弱,又碰到这个速度不快容量也小的缓存,没多少东西就不行了。体验反而比纯机械差
9#
overthink 发表于 2016-5-5 19:07 | 只看该作者
小钻风 发表于 2016-5-5 13:34
感觉盘越多这个就越有用,用过混合硬盘后感觉磁盘部分本身性能可能就比纯机械弱,又碰到这个速度不快容量也 ...

这个比混合硬盘更高级。


10#
einstein86 发表于 2016-5-5 21:18 | 只看该作者
本帖最后由 einstein86 于 2016-5-5 21:19 编辑

好歹打个码是不是……新的93XX全系列已经自带cachecade2.0和fastpath了。某OEM卡怨念中
11#
sohueasy  楼主| 发表于 2016-5-5 22:06 | 只看该作者
einstein86 发表于 2016-5-5 21:18
好歹打个码是不是……新的93XX全系列已经自带cachecade2.0和fastpath了。某OEM卡怨念中 ...

当时犹豫了一下,心想反正过保了……
12#
alexanderman 发表于 2016-5-5 22:09 | 只看该作者
本帖最后由 alexanderman 于 2016-5-5 22:15 编辑
einstein86 发表于 2016-5-5 21:18
好歹打个码是不是……新的93XX全系列已经自带cachecade2.0和fastpath了。某OEM卡怨念中 ...

93XX系好像只包括免費的FastPath,CacheCade Pro 2.0還是要用軟key或硬key激活

P.S. 我正在用Intel RS3DC080,也就是9361-8i的OEM版
13#
Mufasa 发表于 2016-5-5 22:35 | 只看该作者
PERC H710P 用户路过。

第一代CacheCade 只能作为读缓存使用,性能提升有限。
14#
Mufasa 发表于 2016-5-5 22:40 | 只看该作者
初玩阵列卡,一般都会折腾几个月,然后安定下来。

http://bbs.pceva.com.cn/thread-96989-1-1.html

我当初也把阵列弄崩了,还好有备份。。。。
后来安定下来,机器一直正常运行,直到现在。
15#
Cogae 发表于 2016-5-5 23:21 | 只看该作者
这个太折腾,而且机箱大不少
16#
OstCollector 发表于 2016-5-5 23:32 | 只看该作者
我的阵列一直是mdadm的,中间折腾过两次

一次是硬盘更换,进行了迁移和扩容
另一次是尝试了bcache,最后发现不够稳定,放弃了

现在已经很久没折腾过了
17#
sohueasy  楼主| 发表于 2016-5-5 23:36 | 只看该作者
Mufasa 发表于 2016-5-5 22:40
初玩阵列卡,一般都会折腾几个月,然后安定下来。

http://bbs.pceva.com.cn/thread-96989-1-1.html

我现在是两根线接7盘

1-4接了两块HDD,两块SSD;1-3接了两块HDD,一块SSD。

在没有冷备份的情况下,但愿不要出问题。。。
18#
wxlg1117 发表于 2016-5-6 17:59 | 只看该作者
nighttob 发表于 2016-5-5 11:47
还有,最开始链接提到的P大算是启蒙老师了,有志于入硬卡这个坑的话,应该去他的网站上把有关的内容都吃进 ...

P大很久没活动在国内的坛子里了吧,以前可是在pcnlife上活跃的很啊,还有hk那俩个论坛
19#
红色狂想 发表于 2016-5-6 20:41 | 只看该作者
感觉这方案拿来玩儿PT分流做种最合适啊,无数热块高效缓存,再也不用担心机械寻道群P扭闪了腰。好好,值得折腾。
20#
manning 发表于 2016-5-8 23:57 | 只看该作者
请教是不是 只支持SAS  是否有SATA的 LSI MegaRAID 卡?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部