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. sublime text 2 学习(一):快捷键

    初用sublime text 2,还不错,不装任何插件,能很好的编辑javascript,css,html,很赞.整理一下快捷键:常用的比如Ctrl+S就不列了:而且只列举Windows的. Ctrl ...

  2. 美团网技术团队分享的MySQL索引及慢查询优化教程

    MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库.虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位 ...

  3. IC卡的传输协议(3)【转】

    转自:http://bbs.ednchina.com/BLOG_ARTICLE_172027.HTM 3.终端传输层         本节描述了在终端和 IC 卡之间传输的命令和响应 APDU 的机制 ...

  4. Java易错知识点(2) - 在读取Cookie时除了Key,Value是得不到其他信息的

    全文总结: 在读取Cookie,然后操作时,除了getName(),getValue()外,不要妄图得到其他信息,如下方法不会得到值的: cookie.getMaxAge(); cookie.getD ...

  5. idea配置maven自动下载 源码和文档

    勾上图中红框处,即可

  6. 【计算机网络】wireshark抓包分析2

    在分析1中,大概的看到了一个包中的信息.这里,看看这些包究竟在做什么 这是我的电脑跟某个网站交互的前4个包. 其中前三个包可以明显看出是TCP的三次握手. 那么,问题来了: 为什么第三个包的长度比前两 ...

  7. 【C++】const、volatile不能修饰没有this指针的成员函数

    一般所有的成员函数都只有一个复本,当不同的对象调用成员函数时,为了区分是哪个成员在调用,会传入this指针. 当调用有const.volatile修饰的成员函数时,会相应的传入一个const.vola ...

  8. logging 日志两种使用方法(转)

    下面我们使用代码logging的代码来说明: 使用baseConfig()函数对 logging进行 简单的 配置: import logging; # 使用baseConfig()函数,可选参数有f ...

  9. React中super(props)和super()以及不写super()的区别

    一.constructor()和super()的基本含义 constructor() -- 构造方法 这是ES6对类的默认方法,通过new命令生成对象实例自动调用的方法.并且,该方法是类中必须要有的, ...

  10. 一个Sqrt函数引发的血案

    源码下载地址:http://diducoder.com/sotry-about-sqrt.html 好吧,我承认我标题党了,不过既然你来了,就认真看下去吧,保证你有收获. 我们平时经常会有一些数据运算 ...