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. python学习笔记 IO 文件读写

    读写文件是最常见的IO操作.python内置了读写文件的函数. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统完成的,现代操作系统不允许普通的程序直接对磁盘进行操作,所以, 读写 ...

  2. gcc升级方法

    https://www.cppfans.org/1719.html 默认链接到 /usr/local/bin/gcc,需要链接一下,替换默认的低版本 ln -s /usr/local/bin/gcc ...

  3. Mac-WIFI总是断网

    $ cd /Library/Preferences/SystemConfiguration/ 删除如下文件 com.apple.airport.preferences.plist com.apple. ...

  4. UI变化之动画效果

    很多时候我们在需要动态的改变某一个场景下的显示. 最常见的一个场景就是view的最大化. 我们直接设置view的frame可以实现最大化,但是这样的最大化是突变的没有动画效果. 苹果可以将这种突变“放 ...

  5. serialVersionUID的作用(zz)

    http://www.cnblogs.com/guanghuiqq/archive/2012/07/18/2597036.html 简单来说,Java的序列化机制是通过在运行时判断类的serialVe ...

  6. poj 1654(利用叉积求面积)

    Area Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 17937   Accepted: 4957 Description ...

  7. 利用ResultFilter实现asp.net mvc3 页面静态化

    为了提高网站性能.和网站的负载能力,页面静态化是一种有效的方式,这里对于asp.net mvc3 构架下的网站,提供一种个人认为比较好的静态话方式. 实现原理是通过mvc提供的过滤器扩展点实现页面内容 ...

  8. selenium Select用法笔记

    select_by value:参数为option中的value属性,例如:HTML代码中 <ignore_js_op> ,应该是value="volvo"这个值,所以 ...

  9. 求给出第 K个 N位二进制数,该二进制数不得有相邻的“1”

    求给出第 K (0 < K < 109) 个 N (0 < N < 44) 位二进制数,该二进制数不得有相邻的"1". 这道题要求给出第 K (0 < ...

  10. 训练指南 UVA - 11354(最小生成树 + 倍增LCA)

    layout: post title: 训练指南 UVA - 11354(最小生成树 + 倍增LCA) author: "luowentaoaa" catalog: true ma ...