• Linux RAID卡优化


    介绍

    我们的生产服务器经常会做raid存储,但是单单做了raid就能保证性能高效和数据安全吗?答案是否定的,我们一般建议使用带电池保护的RAID卡,这样既能保证性能有能保证数据安全,但是也需要经常对电池进行维护;由于成本原因一般的RAID卡会使用锂电池,因为锂电池有较强的惰性,它在非充电状态下会缓慢地自放电(电池特性),一段时间后电量就会和刚充满电时不同,为了能够及时校准电量避免电池因为自放电而导致电量不明确,于是阵列卡控制器会对电池进行周期性地充放电操作(Relearn),以此保证电量的准确性,同时还可以判断电池是否故障或者老化。

    查看RAID卡电池情况

    MegaCli64 -AdpBbuCmd -GetBbuStatus -aAll

    如果返回如下错误那么可能是RAID卡BUU电池有问题或者没有电池保护功能:

    Adapter 0: Get BBU Status Failed.

    FW error description:

      The required hardware component is not present. 

    Exit Code: 0x22

    查看当前RAID卡缓存策略

    MegaCli64 -LDinfo -Lall -aAll

    Default Cache Policy: WriteThrough, ReadAheadNone, Direct, No Write Cache if Bad BBU

    Current Cache Policy: WriteThrough, ReadAheadNone, Direct, No Write Cache if Bad BBU

    第一部分:

    WriteBack:写缓存策略

    WriteThrough:直接写入磁盘,不适用RAID卡缓存。

    第二部分:

    ReadAheadNone:不开启预读

    ReadAhead:开启预读,在读操作的时候,预先把后面顺序的数据载入raid卡缓存,在顺序读的环境中能提供很好的性能,但是在随机读的环境中反而降低读的性能(适合文件系统,不适合数据库系统)

    ReadAdaptive:自适应预读,在缓存和I/O空闲时选择预读,默认策略。

    第三部分:

    Direct:读操作不缓存到RAID卡缓存。

    Cached:读操作缓存到RAID卡缓存。

    第四部分:如果BBU(电池)出现问题是否启用Write Cache

    No Write Cache if Bad BBU:如果BBU出现问题不使用Write Cache,从WriteBack自动切换到WriteThrough,默认配置。

    Write Cache OK if Bad BBU: 如果BBU出现问题仍启用Write Cache,这种配置是非常不安全的,除非是有UPS或者双电源的情况下。

    RAID卡策略更改

    修改WriteBack

    MegaCli64 -LDSetProp -WB -Lall -aAll

    修改WriteThrough:

    MegaCli64 -LDSetProp -WT -Lall -aAll

    修改No Write Cache if Bad BBU:

    MegaCli64 -LDSetProp -NoCachedBadBBU -Lall -aAll

    修改Write Cache OK if Bad BBU:

    MegaCli64 -LDSetProp -CachedBadBBU -Lall -aAll

    4.其它相关命令

    查看机器型号    # dmidecode | grep"Product" 

    查看厂商    # dmidecode| grep "Manufacturer" 

    查看序列号    # dmidecode | grep "Serial Number" 

    查看CPU信息    # dmidecode | grep "CPU" 

    查看CPU个数    # dmidecode | grep "Socket Designation: CPU" |wc –l 

    查看出厂日期    # dmidecode | grep"Date" 

    查看充电状态    # MegaCli64 -AdpBbuCmd-GetBbuStatus -aALL |grep "Charger Status" 

    显示BBU状态信息    # MegaCli64 -AdpBbuCmd-GetBbuStatus –aALL 

    显示BBU容量信息    # MegaCli64 -AdpBbuCmd-GetBbuCapacityInfo –aALL 

    显示BBU设计参数    # MegaCli64 -AdpBbuCmd-GetBbuDesignInfo –aALL 

    显示当前BBU属性    # MegaCli64 -AdpBbuCmd-GetBbuProperties –aALL 

    查看充电进度百分比    # MegaCli64 -AdpBbuCmd-GetBbuStatus -aALL |grep "Relative State of Charge" 

    查询Raid阵列数    # MegaCli64 -cfgdsply -aALL|grep "Number of DISK GROUPS:" 

    显示Raid卡型号,Raid设置,Disk相关信息      # MegaCli64-cfgdsply –aALL 

    显示所有物理信息    # MegaCli64 -PDList-aALL 

    显示所有逻辑磁盘组信息    # MegaCli64 -LDInfo -LALL–aAll 

    查看物理磁盘重建进度(重要)    # MegaCli64 -PDRbld-ShowProg -PhysDrv [1:5] -a0 

    查看适配器个数    #MegaCli64 –adpCount 

    查看适配器时间    #MegaCli64 -AdpGetTime–aALL 

    显示所有适配器信息    #MegaCli64 -AdpAllInfo–aAll 

    查看Cache 策略设置    # MegaCli64 -cfgdsply -aALL|grep Polic

    radi卡电池充放电:http://www.tuicool.com/articles/a2AzAb

    总结

    备注:

        作者:pursuer.chen

        博客:http://www.cnblogs.com/chenmh

    本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

    《欢迎交流讨论》

  • 相关阅读:
    Entity Framework 简介
    MongoDB 简述及安装
    js、sql和python版本的乘法口诀对比
    sql 判断输入的日期是否有重叠
    win10 不能调节屏幕亮度 win10 屏幕亮度调节快捷键不能用
    mysql主从配置常见错误处理
    Linux安装mysql总结
    linux安装mongodb总结
    centos安装redis总结
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
  • 原文地址:https://www.cnblogs.com/chenmh/p/5846766.html
Copyright © 2020-2023  润新知