200 ? "200px" : this.width)!important;}
-->

介绍

我们的生产服务器经常会做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

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

《欢迎交流讨论》

Linux RAID卡优化的更多相关文章

  1. Linux系统下一个冷门的RAID卡ioc0及其监控mpt-status

    新接手了一台Linux服务器,准备检查是否有配置RAID.参考(http://mip.0834jl.com) 先查看是否有RAID卡: 复制代码 代码如下: # dmesg|grep -i raid ...

  2. Linux运维基础提高之RAID卡和磁盘分区

    磁盘大小计算: 柱面的数量*每个柱面的大小(容量) [root@luffy001 ~]# fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 ...

  3. Linux中使用MegaCli工具查看、管理Raid卡信息

    MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态,等等.通常,我们对硬盘当前的状态不太好确定, ...

  4. Linux文件系统性能优化 (转)

    http://blog.chinaunix.net/uid-7530389-id-2050116.html 由于各种的I/O负载情形各异,Linux系统中文件系统的缺省配置一般来说都比较中庸,强调普遍 ...

  5. 【转载】LINUX上MYSQL优化三板斧

    现在MySQL运行的大部分环境都是在Linux上的,如何在Linux操作系统上根据MySQL进行优化,我们这里给出一些通用简单的策略.这些方法都有助于改进MySQL的性能. 闲话少说,进入正题. 一. ...

  6. Linux文件系统性能优化

    本文绝大部分是转载自CSDN刘爱贵专栏: http://blog.csdn.net/liuben/archive/2010/04/13/5482167.aspx另外根据参考文档增补了一部分内容. 由于 ...

  7. 【原】Linux Raid 实验

    本文参照以下两个链接,将实验重做了一遍,目的就是加深印象及提升实操能力 参照链接:http://www.opsers.org/base/learning-linux-the-day-that-the- ...

  8. DELL磁盘阵列控制卡(RAID卡)MegaCli常用管理命令汇总

    新版本的 MegaCli-1.01.24-0.i386.rpm (下载地址:http://www.lsi.com/downloads/Public/MegaRAID Common Files/8.02 ...

  9. RAID卡技术简析

    经过一段时间的折腾,工作的事终于解决了,新工作一上来的第一件事就要熟悉RAID卡存储机制,先简单了解下RAID卡吧. 提到RAID卡就不得不提什么是RAID,RAID是英文Redundant Arra ...

随机推荐

  1. Jquery判断变量是否为空

    var aaa=''; if(aaa) { //aaa不为空也不是不可识别对象时执行 } else { //aaa为空或不可识别时执行 } aaa必须是变量,对象的属性好像是不行,

  2. DeepLearning——CNN

    工具箱下载 https://github.com/rasmusbergpalm/DeepLearnToolbox CNN_demo代码解析 http://blog.csdn.net/zouxy09/a ...

  3. 【iOS [[UIApplication sharedApplication] delegate]】运用

    之前想要拿到app的窗口,我们通常的写法是: [UIApplication sharedApplication].keyWindow 这种写法之前一直也觉得是正确的,没什么问题,而且网上大多数的博客或 ...

  4. 使用Mysql 5.5数据库Hibernate自动建表创建表出错table doesn't exist

    在mysql 5.0版本以后不支持 type=InnoDB 关键字,需要使用 engine=InnoDB 配置文件方言改成如下即可 <property name="dialect&qu ...

  5. allow zero datetime=true导致datetime转换失败:MySql.Data.Types.MySqlDateTime”的对象无法转换为类型“System.Nullable`1[System.DateTime]

    allow zero datetime=true导致datetime转换失败:MySql.Data.Types.MySqlDateTime”的对象无法转换为类型“System.Nullable`1[S ...

  6. C#对象序列化与反序列化zz

      C#对象序列化与反序列化(转载自:http://www.cnblogs.com/LiZhiW/p/3622365.html) 1. 对象序列化的介绍........................ ...

  7. mac osx下django-admin.py出现的问题

    mac osx 下面用django-admin.py创建项目的时候,没创建成功出现django-admin.py编辑文件,这主要的原因是mac osx下面django-admin.py被重命名为dja ...

  8. HDU 5976 数学,逆元

    1.HDU 5976 Detachment 2.题意:给一个正整数x,把x拆分成多个正整数的和,这些数不能有重复,要使这些数的积尽可能的大,输出积. 3.总结:首先我们要把数拆得尽可能小,这样积才会更 ...

  9. 移动web前端下拉刷新效果

    直接复制粘贴 放在页面中即可 <script> window.onload = function(){ window.addEventListener('touchstart', touc ...

  10. IPv6进阶

    IPV6报文部分字段介绍 1.没有校验和字段:优点:当TTL减少时,不需要重新处理,相对于IPV4能减少处理的时间:缺点:必须在上层包含校验和2.下一个报文:可指向扩展报文:(大部分节点不处理和查看大 ...