修改缓存策略是什么
MegaCLI 用 -LDGetProp 读取、-LDSetProp 修改逻辑盘的缓存策略:写策略决定数据是先落缓存还是直接落盘,读策略决定是否预读。策略按逻辑盘设置,改完立即生效,因此同一张卡上的系统盘与数据盘可以采用不同取向。选择的核心不是追求某个参数最优,而是让策略与掉电保护状态、业务读写特征相匹配。
常用取值
| 参数 | 含义 | 使用建议 |
|---|---|---|
| -WT | Write Through,通写 | 电池或电容异常、数据安全优先时使用 |
| -WB | Write Back,回写 | 有掉电保护时的常规选择 |
| -AWB | Always Write Back | 忽略掉电保护状态强制回写,风险需自行承担 |
| -RA | Read Ahead,开启预读 | 顺序读为主的负载 |
| -NORA | No Read Ahead,关闭预读 | 随机读为主的负载 |
基本信息
| 读取当前值 | -LDGetProp -Cache -L0 -a0 |
|---|---|
| 设置写策略 | -LDSetProp -WB 或 -WT 或 -AWB -L0 -a0 |
| 设置读策略 | -LDSetProp -RA 或 -NORA -L0 -a0 |
| 作用范围 | 按逻辑盘生效,设置后无需重启 |
读取与设置示例
读取与设置示例
/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -Cache -L0 -a0 # 读取当前策略
/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp -WB -L0 -a0 # 设为回写
/opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp -RA -L0 -a0 # 开启预读
/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -Cache -L0 -a0 # 读回确认
/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuStatus -a0 # 同步核对掉电保护典型使用场景
- 数据库盘:确认写策略为回写以提高写入效率,同时核对掉电保护正常
- 备份与归档盘:开启预读,充分利用顺序读带宽
- 电池异常期间:临时切到通写保证数据安全,恢复后再切回
- 性能对比:在测试环境分别测试两种策略,用实测数据支撑结论
- 巡检核对:把策略值纳入配置基线,发现被改动时立即追溯原因
策略按逻辑盘分别设置;同一张卡上系统盘与数据盘可以采用不同策略。
在掉电保护异常时手动设为强制回写,等于主动放弃掉电保护:一旦断电,缓存中未落盘的数据会丢失,且这类操作在线难以通过审计解释。
写策略与掉电保护是一体两面的设计:控制器检测到电池或电容异常时通常会自动降级为通写,此时性能下降属于保护动作,先修保护模块再谈性能恢复。