【硬件相关】LSI MegaRAID阵列卡性能调优

一、前言

1、锂电池vs超级电容

为保证服务器异常掉电后,存在于缓存的数据不出现丢失,raid卡通常会配置锂电池或超级电容用于保存缓存数据

1.1、锂电池

早期raid卡普遍使用锂电池,当异常掉电后,使用锂电池直接给板载DRAM持续供电,进入DRAM自刷新模式,因此锂电池容量需要足够大,一般被设计为足够支撑板载DRAM持续自刷新72小时,即只要异常掉电后72小时能够再次恢复供电,就不会出现缓存丢失问题
此外,锂电池还有以下两个缺点,使得目前已淘汰锂电池使用方式:

  • 故障率高,丢失数据风险仍然很高
  • 不易于维护,需要记录其充电次数、寿命、电量估算、漏电等数据综合评估,做出相应决策
1.2、超级电容

目前raid卡普遍使用超级电容+Flash子板,当异常掉电后,不需要持续刷新DRAM,只需要掉电之后由超级电容提供数十秒供电时间,将非正常掉电脏数据下刷到Flash中永久保存
与锂电池相对较,有以下优点:

  • 采用SLC Flash,数据持久性可以保存几年,没有丢失数据风险
  • 超级电容可以在50°环境下持续使用5年,维护简单

2、缓存模式

2.1、Read Policy
a、策略说明

用于配置RAID读策略,支持以下策略配置

  • No Read Ahead:关闭预读取功能
  • Read Ahead:开启预读取功能,控制器可以预读取顺序数据或预测需要即将使用到的数据并存储在Cache中
b、配置建议
  • 对于HDD(机械硬盘)而言,读策略设置为Read Ahead性能更优
  • 对于SSD(固态硬盘)而言,读策略设置为No Read Ahead性能更优
2.2、Write Policy
a、策略说明

用于配置RAID写策略,支持以下策略配置

  • Write Back:当控制器Cache收到所有的传输数据后,将给主机返回数据传输完成信号
  • Write Through:当硬盘子系统接收到所有传输数据后,控制器将给主机返回数据传输完成信号
  • Always Write Back:在RAID控制卡无电容或电容损坏的情况下,强制使用“Write Back”模式
b、配置建议
  • Always Write Back模式下,当服务器出现异常下电时,如果电容不在位或者在充电状态下,RAID控制卡中DDR(即Cache)的写数据将会丢失。不推荐使用该模式
  • 对于HDD(机械硬盘)而言,写策略设置为Write Back性能更优
  • 对于SSD(固态硬盘)而言,写策略设置为Write Though性能更优
2.3、IO Policy

用于配置RAID I/O策略,支持以下策略配置

  • direct:默认策略
  • cached
2.4、Driver Cache
a、策略说明

用于配置物理硬盘Cache策略,此操作仅对有Cache的硬盘有效,支持以下策略配置:

  • Unchanged:保持当前硬盘Cache策略
  • Enable:读写过程中数据经过硬盘Cache,使读写性能提升。但当系统意外掉电时,如果没有保护机制,Cache中数据会丢失
  • Disable:读写过程中数据不经过硬盘Cache。当系统意外掉电时,数据不会丢失

二、配置说明

1、缓存配置

1.1、设置RAID组读策略(Read Policy)
storcli /cx/vx set rdcache=ra|nora

注:ra表示为Read Aheadnora表示为No Read Ahead

1.2、设置RAID组写策略(Write Policy)
storcli /cx/vx set wrcache=wt|wb|awb

注:wt表示为Write Throughwb表示为Write Backawb表示为Always Write Back

1.3、设置RAID组IO策略(I/O Policy)
storcli /cx/vx set iopolicy=direct|cached
1.4、设置RAID组硬盘cache(Driver Cache)
storcli /cx/vx set pdcache=on|off

三、配置建议

参考文档:浪潮英信服务器3408&3508系列RAID卡配置手册-RAID卡推荐配置方案

1、配置超级电容

1.1、性能最优方案
磁盘类型RAID组类型业务类型Read PolicyWrite PolicyIO PolicyDisk Cache
HDD//Read AheadWrite BackDirectEnable
SSD不带校验/No Read AheadWrite ThroughDirectUnchanged(不可更改)
SSD带校验小数据块随机读写No Read AheadWrite ThroughDirectUnchanged(不可更改)
SSD带校验大数据块顺序读写No Read AheadWrite BackDirectUnchanged(不可更改)

注:RAID组类型补充说明

  • 不带校验RAID组:RAID 0/RAID 1/RAID 10
  • 带校验RAID组:RAID 5/RAID 6/RAID 50/RAID 60
1.2、数据安全方案
磁盘类型RAID组类型业务类型Read PolicyWrite PolicyIO PolicyDisk Cache
HDD//Read AheadWrite BackDirectDisable
SSD不带校验/No Read AheadWrite ThroughDirectUnchanged(不可更改)
SSD带校验小数据块随机读写No Read AheadWrite ThroughDirectUnchanged(不可更改)
SSD带校验大数据块顺序读写No Read AheadWrite BackDirectUnchanged(不可更改)

2、不配置超级电容

不配置超级电容情况下,默认不考虑RAID卡数据安全,选择性能最优方案

磁盘类型RAID组类型业务类型Read PolicyWrite PolicyIO PolicyDisk Cache
HDD//Read AheadAlways Write BackDirectEnable
SSD不带校验/No Read AheadWrite ThroughDirectUnchanged(不可更改)
SSD带校验小数据块随机读写No Read AheadWrite ThroughDirectUnchanged(不可更改)
SSD带校验大数据块顺序读写No Read AheadWrite BackDirectUnchanged(不可更改)
[root@test3 ~]# storcli /c0/v0 show all
CLI Version = 007.1912.0000.0000 Nov 23, 2021
Operating system = Linux 3.10.0-1160.49.1.el7_lustre.x86_64
Controller = 0
Status = Success
Description = None


/c0/v0 :
======

---------------------------------------------------------------
DG/VD TYPE  State Access Consist Cache Cac sCC       Size Name 
---------------------------------------------------------------
0/0   RAID6 Optl  RW     Yes     RWTD  -   ON  116.417 TB vd1  
---------------------------------------------------------------

VD=Virtual Drive| DG=Drive Group|Rec=Recovery
Cac=CacheCade|OfLn=OffLine|Pdgd=Partially Degraded|Dgrd=Degraded
Optl=Optimal|dflt=Default|RO=Read Only|RW=Read Write|HD=Hidden|TRANS=TransportReady
B=Blocked|Consist=Consistent|R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled Check Consistency

PDs for VD 0 :
============
-----------------------------------------------------------------------------
EID:Slt DID State DG      Size Intf Med SED PI SeSz Model            Sp Type 
-----------------------------------------------------------------------------
0:0      41 Onln   0 14.551 TB SAS  HDD N   N  512B ST16000NM004J    U  -    
0:1      64 Onln   0 14.551 TB SAS  HDD N   N  512B ST16000NM004J    U  -    
0:2      30 Onln   0 14.551 TB SAS  HDD N   N  512B ST16000NM004J    U  -    
0:3      71 Onln   0 14.551 TB SAS  HDD N   N  512B ST16000NM004J    U  -    
0:4      68 Onln   0 14.551 TB SAS  HDD N   N  512B ST16000NM004J    U  -    
0:5      12 Onln   0 14.551 TB SAS  HDD N   N  512B ST16000NM004J    U  -    
0:6      11 Onln   0 14.551 TB SAS  HDD N   N  512B ST16000NM004J    U  -    
0:7      38 Onln   0 14.551 TB SAS  HDD N   N  512B ST16000NM004J    U  -    
0:8      21 Onln   0 14.551 TB SAS  HDD N   N  512B ST16000NM004J    U  -    
0:9      39 Onln   0 14.551 TB SAS  HDD N   N  512B ST16000NM004J    U  -    
-----------------------------------------------------------------------------

EID=Enclosure Device ID|Slt=Slot No|DID=Device ID|DG=DriveGroup
DHS=Dedicated Hot Spare|UGood=Unconfigured Good|GHS=Global Hotspare
UBad=Unconfigured Bad|Sntze=Sanitize|Onln=Online|Offln=Offline|Intf=Interface
Med=Media Type|SED=Self Encryptive Drive|PI=Protection Info
SeSz=Sector Size|Sp=Spun|U=Up|D=Down|T=Transition|F=Foreign
UGUnsp=UGood Unsupported|UGShld=UGood shielded|HSPShld=Hotspare shielded
CFShld=Configured shielded|Cpybck=CopyBack|CBShld=Copyback Shielded
UBUnsp=UBad Unsupported|Rbld=Rebuild

VD0 Properties :
==============
Strip Size = 256 KB
Number of Blocks = 250005684224
VD has Emulated PD = Yes
Span Depth = 1
Number of Drives Per Span = 10
Write Cache(initial setting) = WriteBack
Disk Cache Policy = Disk's Default
Encryption = None
Data Protection = Disabled
Active Operations = None
Exposed to OS = Yes
OS Drive Name = /dev/sda
Creation Date = 23-03-2023
Creation Time = 10:04:40 AM
Emulation type = default
Cachebypass size = Cachebypass-64k
Cachebypass Mode = Cachebypass Intelligent
Is LD Ready for OS Requests = Yes
SCSI NAA Id = 600605b01d36fa262baee0b873d25b0f
Unmap Enabled = N/A

四、相关说明

由服务器硬盘组成的RAID阵列读写IO性能差,需要开启cache缓存提升性能,通常为保证数据安全性,建议配置超级电容用于掉电保护
可通过storcli /c0/cv show all查询超级电容的名称及TFM Flash卡缓存容量的大小等信息
注:如查询信息为Cachevault is absent,则表示无超级电容

[root@test-lustre2 ~]# storcli /c0/cv show all 
CLI Version = 007.1912.0000.0000 Nov 23, 2021
Operating system = Linux 3.10.0-1160.49.1.el7_lustre.x86_64
Controller = 0
Status = Failure
Description = None


Detailed Status :
===============


-------------------------------------------------
Ctrl Status Property ErrMsg                ErrCd 
-------------------------------------------------
   0 Failed -        Cachevault is absent!    34 
-------------------------------------------------
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值