您的当前位置:首页正文

Linux查看MegaSASraid卡缓存策略

来源:化拓教育网
Linux查看MegaSASraid卡缓存策略

查看MegaSAS RAID卡的缓存策略

root@localhost:/usr/bin# MegaCli -LDInfo -Lall -aALL

Adapter 0 -- Virtual Drive Information:Virtual Drive: 0 (Target Id: 0)Name :

RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0Size : 1.090 TBSector Size : 512Is VD emulated : NoMirror Data : 1.090 TBState : OptimalStrip Size : 256 KBNumber Of Drives : 2Span Depth : 1

Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBUCurrent Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBUDefault Access Policy: Read/WriteCurrent Access Policy: Read/WriteDisk Cache Policy : Disk's DefaultEncryption Type : NoneBad Blocks Exist: NoPI type: No PIIs VD Cached: No

Virtual Drive: 1 (Target Id: 1)Name :

RAID Level : Primary-5, Secondary-0, RAID Level Qualifier-3Size : 4.363 TBSector Size : 512Is VD emulated : YesParity Size : 893.75 GBState : OptimalStrip Size : 256 KBNumber Of Drives : 6Span Depth : 1

Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBUCurrent Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBUDefault Access Policy: Read/WriteCurrent Access Policy: Read/WriteDisk Cache Policy : Disk's DefaultEncryption Type : NoneBad Blocks Exist: NoPI type: No PIIs VD Cached: No

Exit Code: 0x00

Default Cache Policy: 默认的缓存策略,针对每个RAID可以有不同的设置.Current Cache Policy: 当前⽣效的缓存策略.策略说明

第⼀段: WriteBack, WriteThrough

WriteBack:回写。进⾏写操作时,将数据写⼊RAID卡缓存,并直接返回,RAID卡控制器将在系统负载低或者Cache满了的情况下把数据写⼊硬盘。该设置会⼤⼤提升RAID卡写性能,绝⼤多数的情况下会降低系统IO负载。 数据的可靠性由RAID卡的BBU(BatteryBackup Unit)进⾏保证。

WriteThrough: 写通。数据写操作不使⽤缓存,数据直接写⼊磁盘。RAID卡写性能下降,在⼤多数情况下该设置会造成系统IO负载上升。

第⼆段: ReadAheadNone, ReadAdaptive, ReadAhead.

ReadAheadNone: 不开启预读。这是默认的设置

ReadAhead: 在读操作时,预先把后⾯顺序的数据加载⼊Cache,在顺序读取时,能提⾼性能,相反会降低随机读的性能。

ReadAdaptive: ⾃适应预读,当Cache memory和IO空闲时,采取顺序预读,平衡了连续读性能及随机读的性能,需要消耗⼀定的计算能⼒。

第三段: Direct, Cached.

Direct: Direct IO模式,读操作不缓存到cache memory中,数据将同时传输到cache中和应⽤,如果接下来要读取相同的数据块,则直接从Cache memory中获取. 这是默认的设置

Cached: Cached IO模式,所有读操作都会缓存到cache memory中。第四段: Write Cache OK if Bad BBU, No Write Cache if Bad BBU

No Write Cache if Bad BBU: 如果BBU出问题,则关闭Write Cache。由WriteBack⾃动切换到WriteThrough模式。如果没有特殊要求,强烈建议采⽤该设置,以确保数据的安全。

Write Cache OK if Bad BBU: 如果BBU出问题,依然启⽤Write Cache. 这是不推荐的设置,BBU出问题将⽆法保证断电情况下数据的正常,如果此时依然采⽤WriteBack模式,遇到断电将发⽣数据丢失。除⾮有UPS作额外保证,不然不推荐采⽤这个设置。策略⾃动切换的问题

由于MegaSAS RAID卡默认采⽤No Write Cache if Bad BBU的设置,将可能发⽣Write Cache策略变更的情况(由WriteBack变成

WriteThrough),导致写性能下降,如果该⾃动变更发⽣在业务⾼峰且系统Io负载⾼的时候,可能会引发不可预测的问题,如卡机。以下原因将造成Write Cache策略的变更.

1. RAID卡进⼊BBU Learn Cycle: 详细介绍见下⾯

2. 检测到某些电池故障,如电池容量过低等,⼀般是电池⽼化带来的影响,IBM建议⼀年更换⼀次RAID卡电池3. 没有安装电池, 部分服务器购买时不带电池,导致被⾃动设置为WriteThrough查看当前BBU的状态

MegaCli -AdpBbuCmd -GetBbuStatus -aALL

root@localhost:/usr/bin# MegaCli -AdpBbuCmd -GetBbuStatus -aALL BBU status for Adapter: 0BatteryType: CVPM02Voltage: 9512 mVCurrent: 0 mA

Temperature: 26 CBattery State: OptimalBBU Firmware Status:

Charging Status : None Voltage : OK Temperature : OK Learn Cycle Requested : No Learn Cycle Active : No Learn Cycle Status : OK Learn Cycle Timeout : No I2c Errors Detected : No Battery Pack Missing : No Battery Replacement required : No Remaining Capacity Low : No Periodic Learn Required : No Transparent Learn : No No space to cache offload : No

Pack is about to fail & should be replaced : No Cache Offload premium feature required : No Module microcode update required : NoBBU GasGauge Status: 0x6bf6 Pack energy : 246 J Capacitance : 107 Remaining reserve space : 0

Exit Code: 0x00

1. Charging Status: 当前电池处于什么状态,有Charging, Discharging, None等值,分别代表电池充电,放电,及没有充放电操作的状态2. Learn Cycle Requested: Learn Cycle请求,当为Yes时,并且下⾯的Learn Cycle Active为No, 说明已经开始了Learn Cycle的第⼀阶段, 此时策略开始变为WriteThrough, 电池将经历⼀个放电后充电或者充电的过程

3. Learn Cycle Active: 是否处于Learn Cycle的校准阶段,如果为Yes, 则进⼊了Learn Cycle的第⼆阶段,控制器开始校准电池.4. Battery Replacement required: 电池是否需要维修,如果为Yes, 请尽快更换电池5. Remaining Capacity Low: 剩余电容量低, 如果为Yes, 需要更换电池

因篇幅问题不能全部显示,请点此查看更多更全内容