我的服务器中有 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
答案1
使用 Megaraid 控制器的“WriteThrough”设置时,不使用板载控制器缓存。正如您所注意到的,这确实会降低 RAID 的性能。使用“WriteBack”设置应该会提高性能,因为它将使用控制器缓存。
然而,如果你没有将电池备用装置连接到控制器(不是如果您的计算机不是 UPS,而是 BBU,那么在断电时,控制器上的缓存很可能不会写入阵列,您的数据将损坏。而且您无法轻易分辨出哪些文件已损坏,因为一旦恢复供电,阵列可能仍能正常运行。
如果您没有安装 BBU:请保留“WriteThrough”设置并承受性能损失。
如果您有整个系统的 UPS:将设置更改为“BadBatt”,控制器将使用缓存,就像选择了“WriteBack”一样,从而提高性能。
即使你没有安装 UPS 或电池,你也可以将设置设置为“BadBatt”,并且将使用缓存,但是不推荐因为一旦断电,数据就很容易丢失。
我有一个类似的 MegaRaid 控制器,但没有电池,并且想知道同样的事情。