在 LSI Megaraid 上在线更改默认缓存策略

Unn*_*nan 1 linux raid cache megaraid

我的服务器中有 6 个硬盘的 RAID 10。我已将默认缓存策略设置为直写。设置操作系统后,我发现 I/O 速率太慢。我在一些论坛上读到,将默认缓存策略设置为回写会提高性能。请就此提出建议。另外请帮助我将默认缓存策略更改为使用 MegaCli 回写。

请在此处查看 MegaCli LDinfo 输出

root@proxmox1:/usr/src/MegaCli_All_OS/Linux/opt/MegaRAID/MegaCli# ./MegaCli64 -LDInfo -L0 -a0


Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name                :
RAID Level          : Primary-1, Secondary-0, RAID Level Qualifier-0
Size                : 1.633 TB
Sector Size         : 512
Mirror Data         : 1.633 TB
State               : Optimal
Strip Size          : 1.0 MB
Number Of Drives per span:2
Span Depth          : 3
Default Cache Policy: WriteThrough, ReadAhead, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteThrough, ReadAhead, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy   : Disabled
Encryption Type     : None
Bad Blocks Exist: No
Is VD Cached: No
Run Code Online (Sandbox Code Playgroud)

小智 5

使用 Megaraid 控制器的“WriteThrough”设置时,不使用板载控制器缓存。正如您所注意到的,这确实会降低 RAID 的性能。使用“WriteBack”设置应该会提高性能,因为它将使用控制器缓存。

但是,如果您没有将电池备份单元连接到控制器(不是UPS,而是 BBU),则很有可能在发生电源故障时,控制器上的缓存不会写入阵列,并且您的数据会损坏。而且您将无法分辨哪些文件很容易损坏,因为一旦电源恢复,阵列仍可正常运行。

如果您没有安装 BBU:将设置保留为“WriteThrough”并忍受性能损失。

如果整个系统都有 UPS:将设置更改为“BadBatt”,控制器将使用缓存,就像选择了“WriteBack”一样,提高了性能。

即使您没有安装 UPS 或电池并且将使用缓存,您也可以将设置设为“BadBatt”,但不建议这样做,因为如果断电很容易丢失数据。

我有一个类似的 MegaRaid 控制器,但没有电池,并且想知道同样的事情。

参见MegaRaid 指南