DELL服务器的Riad卡都有可充电池的特性,这块可充电电池,在不使用时,也会有微弱的放电现象,当它的电量放电到低到一定程度时,Raid卡控制器就会对电池进行一次“放电”,将剩余的电量放掉,然后再进行一次“充电”。
 
这其实是一种对“电池”保护机制,以及对Raid阵列卡可用性提供保障的机制。
 
但是问题就出在这个放电、充电的过程上:
 
  默认情况下,当RAID卡的电池的电量低于某阈值时,RAID卡固化程序认为此时的电池是不可用的,为了保证数据的安全,会禁用RAID的“缓存”,这种默认的机制本来是合情合理的,没有什么可“质疑”的。问题是,当RAID的缓存被禁用之后,RAID的I/O能力会大幅度下降。而据DELL工程师将,这个充放电的时间需要维持7个小时左右(据我观察服务器的TTY日志,好像每次持续1-2小时)。 对于高I/O的应用来说,这种下降,有可能是致命的,可能会导致系统I/O阻塞,构架不良的系统,有可能会被这个“故障点”(正在充放电的设备上的应用)拖死,简直太要命了!!!
 
有两种方法解决这个问题:
 
1、检查电池的状态,对电池的充放电进行撑握,也可有计划地安排手动充放电。
 
一般DELL服务器的电池充放电周期为90天,然后在快接近下次充电的时候,选择在晚上或者服务器空闲时间手动强制充放电(需要先安装MegaCli,见第2);从而避免充放电在未知的时间里自动进行充放电,影响服务器正常运行。
 
查看电池充放电周期:

[root@localhost MegaCli]# echo "`./MegaCli64 -AdpBbuCmd -getBbuProperties -aALL | grep Period | cut -d " " -f4`/3600/24" | bc
90
[root@localhost MegaCli]#

手动强制充放电:

[root@localhost MegaCli]# ./MegaCli64 -AdpBbuCmd -BbuLearn –a0

2、改变RAID卡策略,使其在充放电时,不禁用Raid卡缓存。
 
这样做电池在自动充放电的时候,就不会关闭写缓存,些时I/O的性能不会下降;但是,假如在此时服务器断电,Raid卡缓存中的数据会来不及写进磁盘,从而造成数据的丢失(没有这么巧,刚好在Raid电池充放电时断电吧?)。
 
DELL服务器大多是LSI的MegaRAID卡,用lsmod命令查看服务器是否用的MegaRAID卡,出现结果就说明是:

[root@localhost delltool]# lsmod | grep megaraid
megaraid_sas 77643 7

改变MegaRaid卡的策略就要用到官方提供的工具MegaCli来进行控制。
 
MegaCli的当前版本下载地址:点击下载
 
下载解压后,有Lib_Utils-1.00-09.noarch.rpm和MegaCli-8.02.21-1.noarch.rpm两个rpm包,一起上传到服务器上,用rpm -ivh命令依次安装Lib_Utils和MegaCli(Lib_Utils是MegaCli的依赖包,必须先安装),安装完成后就可以用MegaCli命令来进行控制了;
 
首先进入MegaCli的安装目录(以下都以64位系统为例,所有命令都是进入MegaCli安装目录执行):

[root@localhost /]# cd /opt/MegaRAID/MegaCli/

查看Raid卡当前的缓存策略:

[root@localhost MegaCli]# ./MegaCli64 -LDGetProp -Cache -LAll -aAll
 
Adapter 0-VD 0(target id: 0): Cache Policy:WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU
Adapter 0-VD 1(target id: 1): Cache Policy:WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU
Adapter 0-VD 2(target id: 2): Cache Policy:WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU
 
Exit Code: 0x00
[root@localhost MegaCli]#

注:因为我有当时创建了3个虚拟磁盘,所以会显示三行,可以看到缓存策略是No Write Cache if Bad BBU,即在电池充放电时关闭缓存。
 
调整缓存策略,在充放电时不关闭写缓存:

[root@localhost MegaCli]# ./MegaCli64 -LDSetProp CachedBadBBU -lall -a0

调整完后,再次查看Raid卡当前的缓存策略:

[root@localhost MegaCli]# ./MegaCli64 -LDGetProp -Cache -LAll -aAll
 
Adapter 0-VD 0(target id: 0): Cache Policy:WriteBack, ReadAdaptive, Direct, Write Cache OK if bad BBU
Adapter 0-VD 1(target id: 1): Cache Policy:WriteBack, ReadAdaptive, Direct, Write Cache OK if bad BBU
Adapter 0-VD 2(target id: 2): Cache Policy:WriteBack, ReadAdaptive, Direct, Write Cache OK if bad BBU
 
Exit Code: 0x00
[root@localhost MegaCli]#

注:缓存策略已经变为Write Cache OK if bad BBU,即在电池充放电时不关闭缓存。

Dell服务器Raid卡电池策略调整的更多相关文章

  1. Dell PowerEdge服务器RAID卡驱动下载

    Dell PowerEdge服务器RAID卡驱动下载 DELL新阵列卡驱动下载 型号 支持系统驱动 H310/710 /710P/810 Win2008 x32 Windows 2008 x64 Wi ...

  2. Megacli查看Dell服务器Raid状态

    通常我们使用的DELL/HP/IBM三家的机架式PC级服务器阵列卡是从LSI的卡OEM出来的,DELL和IBM两家的阵列卡原生程度较高,没有做太多封装,可以用原厂提供的阵列卡管理工具进行监控:而HP的 ...

  3. dell服务器raid设置

    dell服务器raid设置 配置说明: 开机自检按ctrl+R键进入配置界面 如果服务器有raid卡,而不想做磁盘阵列时,需要做单盘RAID0,主要是为了让卡来识别一下硬盘 对raid进行操作很可能会 ...

  4. 阵列卡raid H730写策略write-through和write-back配置说明

    问题描述: 最近公司新进了测试服务器,但是在做阵列的时候忘记写策略里面的配置意思了 就网上查了一下,然后顺便做个笔记记录一下 write-through 数据在写入存储的同时,要写入缓存,这种方式安全 ...

  5. 【转】MegaSAS RAID卡 BBU Learn Cycle周期的影响

    http://ju.outofmemory.cn/entry/140 背景 最近遇到有些带MegaSAS RAID卡的服务器,在业务高峰时突然IO负载飚升得很高,IO性能急剧下降,查了日志及各种设置最 ...

  6. RAID卡 BBU Learn Cycle周期的影响

    背景 最近遇到有些带MegaSAS RAID卡的服务器,在业务高峰时突然IO负载飚升得很高,IO性能急剧下降,查了日志及各种设置最后才发现是RAID卡的Cache写策略由 WriteBack变成Wri ...

  7. Linux RAID卡优化

    200 ? "200px" : this.width)!important;} --> 介绍 我们的生产服务器经常会做raid存储,但是单单做了raid就能保证性能高效和数据 ...

  8. raid卡MegaCli工具使用说明

    一.DELL&IBMMegaCli -AdpAllInfo -aALL —看配置项 #检查raid级别MegaCli -LDInfo -Lall -aALL | grep 'RAID Leve ...

  9. dell服务器各类raid 和磁盘在阵列卡上的实验

    听很多人说,做好阵列的硬盘从阵列上移除后,重新从硬盘导入阵列信息的时候不能打乱位置,昨天用两台Dell R710,四块sas 300G HP硬盘做实验,实验步骤如下: 一.dell R710首先用三块 ...

随机推荐

  1. bzoj 2142 国家集训队试题 礼物

    问题转化成求C(N,M) mod P p为非素数,那么我们可以将P分解质因数, 也就是 π pi^ci的形式,因为这些pi^ci是互质的,所以我们可以用crt将他们合并 那么问题就转化成了快速求C(N ...

  2. HDU2594(简单KMP)

    Simpsons’ Hidden Talents Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java ...

  3. TortoiseSVN与VisualSVN Server搭建SVN版本控制系统【转】

    转自:http://www.cnblogs.com/xing901022/p/4399382.html 本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小 ...

  4. 输入法出现 footer被挤上去的问题

    /** * 修改点击input输入框时的位置 *input框获取焦点footer隐藏,失去焦点时显示 */ $('.input-footer-none').on('focus',function(){ ...

  5. JavaScript的数组详解

    #转载请留言联系 创建数组 1.通过new Array()进行创建 var arr1=new Array(); 2.通过中括号进行创建 var arr2=[]; 计算数组的长度 var arr3=[' ...

  6. vs2008下Error LINK2005: already defined in ...的一种解决方式

    原因:不同的库之间都定义了相同的名称. 方法:右键工程->Properties->Configuration->Linker->Input 在右侧的Additional Dep ...

  7. GridView的TemplateField

    BoundField只能显示一个单独的数据字段.如果我们想要在一个GridView列中显示两个或者更多的数据字段的值的时候该怎么办呢? 1. GridView的一列同时显示数据源中的两个字段 现需要显 ...

  8. [ThinkPHP] 模板输出 时间格式 Unix时间戳

    {$create_time|date="y-m-d",###}

  9. linux根目录下文件夹概览详解

    / 根目录 /bin 存放必要的命令 /boot 存放内核以及启动所需的文件等 /dev 存放设备文件 /etc 存放系统的配置文件 /home 用户文件的主目录,用户数据存放在其主目录中 /lib ...

  10. 【HNOI2008】玩具装箱

    P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1...N的N件玩具,第i件玩具 ...