megacli_sw服务器的设置过程


背景

采购的申威服务器有四块硬盘, 第一台服务器在sdd上面安装了一个银河麒麟v10的系统
sda,sdb,sdc 三块硬盘没有进行raid设置, 直接还是用的JBOD模式
这周开始的时候我将申威的机器使用了lvm的方式进行了挂载
但是发现性能提升很差. 
联系原厂给了一个 debian的镜像盘,说可以进行raid卡的设置. 
因为设置过程中一波三折. 所以特记录一下这些操作

megacli简介

megacli 是LSI公司的一款raid控制台命令行软件
LSI其实已经于2015年被博通收购了. 博通自己的raid一般使用storcli命令进行管理. 
LSI旗下的raid卡我用的比较多的是 9361-8i 2G类型的办卡
其实还有一些类似于inspur SAS 3108的raid卡, 用的芯片其实也是LSI公司的.

国产的很多机器 因为BIOS和BMC方面还比较孱弱. 
所以很多机器并没有将raid的设置集成到BIOS或者是装弹出式的GUI界面上面来

所以这时候需要使用命令行方式进行raid的创建于管理.

raid卡的优点

1. 更大的容量避免单盘容量上限, lvm虽然也可以实现,但是他的保护不如raid卡.
2. 更好的数据保护,可以设置raid5+hot spare 的方式. 这样可以在坏多快盘时可以正常使用
3. 提供更家优秀的读写性能. 避免单盘性能受限. 需要注意kafka一般直接raw disk就可以. 他可以通过partition的方式来提高性能.
4. 管理方面有安全性和稳定性的保证.

megacli命令简介

# 需要注意 默认安装的在/opt 目录下面 是MegaCLI的命令
# 申威机器这边其实是 megacli 小写命令.
MegaCLI -AdpAllInfo -aAll:显示所有控制器的信息。
MegaCLI -EncInfo -aAll:显示所有外置式磁盘柜信息。
MegaCLI -PDList -aAll:显示所有物理磁盘信息,包括序号、状态、容量等。
MegaCLI -LDInfo -Lall -aAll:显示所有逻辑磁盘信息,包括RAID级别、状态、容量等。
MegaCLI -PDHSP -Set -PhysDrv[E:S] -aALL:启用硬盘预热,可以加速磁盘的初始化和重建速度。
MegaCLI -LDInit -Start -Full -LALL -aALL:初始化逻辑磁盘。
MegaCLI -LDSetProp Cached -LAll -aAll:启用/禁用逻辑磁盘缓存。
MegaCLI -AdpSetProp -CacheFlushInterval -aAll:设置缓存刷新间隔时间。
MegaCLI -AdpBios -EnblMntDlg -aAll:启用BIOS的一些监视功能,如硬盘故障预警声音等。
MegaCLI -AdpPR -Info -aAll:显示预取信息,该命令仅适用于支持预取的RAID卡。

申威机器的处理过程

#清理磁盘状态 删除JBOD的信息
megecli -AdpSetProp -EnableJBOD -0 -a0
# 查看磁盘信息
megacli -pdlist -a0 |egrep -i 'state|slot'
# 创建raid
megacli -CfgLdAdd -r5 [13:0,13:1,13:2,13:3] -a0
# 查看一下逻辑盘的问题
megacli -LDInfo -Lall -aALL
# 设置磁盘缓存
megacli -LDSetProp -EnDskCache -Lall -aALL
# 设置写回
megacli -LDSetProp WB -Lall -aALL