本站服务器RAID 5阵列双硬盘失效挽救记录

作者:Sender Su  来源:原创内容  发布日期:2015-09-20  最后修改日期:2015-09-20

前几天,本站下线了一天半的时间。原因是本站服务器的RAID 5阵列出现了双硬盘下线的情况,只能停机维护。这里记录一下我的处理过程,以及一些思考。

说到RAID 5阵列,有所了解的人都应该知道它允许阵列中有一个硬盘故障,但只能有一个(注:RAID 6允许2个)。如果有两个硬盘同时故障,那么数据丢失的风险是极其高的。本人的职业生涯中,这次是第二次碰到RAID 5阵列双硬盘下线的情况。但这次的情况比起上一次有所不同:现在的RAID控制器增加了“Force Online”强制上线功能。也就是说,在满足以下条件时,数据还是能读取的:

1)知道故障硬盘下线的先后顺序,如果无法确定,建议还是交给专业人员,他们可以通过其他方法去确定硬盘下线的先后顺序。

2)后下线的故障硬盘不是零部件级别的故障(比如电路板、电机等);

3)下线后没有进行任何其他的写入操作,不过现在的RAID控制器都会返回总线错误信息给操作系统,从而阻塞任何写盘操作;

4)如果RAID控制器带缓存,且写策略是WB(那个Force WB with no battery我认为根本不应该出现在世界上),则需保证电池不会在此期间失效(因此服务器最好不要断电);

5)你敢于冒险。

故障修复过程:

1、此时服务器已经不可控制,只能通过系统之外的收单重启服务器。这些手段包括按NMI(如果没有在BIOS屏蔽掉的话)按钮重启,或者通过远程管理界面(比如DELL 服务器的iDRAC)RESET服务器。如果两者都不可用,则只能长按电源关机然后重启了。对于关机重启这种方式其实很容易会中了上面第4条的情况,取决于服务器本身的设计有没有实现关机但只要电力不断则电源会继续为电池充电。

2、重启服务器后,通过热键进入RAID CONTROLLER控制界面。

3、在VD管理界面,确定后下线的硬盘,然后操作选择Force Online。这里不得不再次强调的是:前置条件必须满足,否则还是建议给专业人员处理。

4、如果能成功上线的话,阵列的状态会从CRITICAL切换回DEGRADED。退出控制界面,按提示重启服务器。如果上线失败,只能给专业人员处理。

5、重启服务器,拔掉网线,进入操作系统,停掉任何可能写盘的服务(这一点非常重要)

6、检查被Force Online的硬盘的状态是否正常。如果正常(Media Error、Other Error、Predictive Failure都是0),备份数据。如果不正常,建议给专业人员处理。

6、备份完成后,可以尝试重建更早下线的另外一只硬盘。这些都是正常的阵列故障处理程序,这里就不提了。

一些事后的思考和记录(或许有点偏执):

1)控制器支持、资金充足的情况下可以上RAID6。

2)同一批次的硬盘很容易同时出问题。我经历的两次RAID 5双硬盘下线都是如此。要避免这个事情,可以采取以下几个方法:

a. 购买服务器时只买基础需求,然后再逐步增加。现在的控制器都支持VD热扩容,新的操作系统也可以热扩充。

b. 购买服务器时只买基础需求,自己另行购买不同批次的硬盘,甚至选择不同厂商的硬盘。

3)资金充足的情况下,制定硬盘定期轮替更换计划。这里千万不要迷信硬盘厂商的MTBF时间,那只是一个平均估计值。按我的经验,连续运行的服务器,在4年半的时候就会有可能出现第一例硬盘故障。

4)即使服务器在保修期内,自己也要有后备硬盘,并且要买支架,出事时可以快速更换。因为服务商的上门服务不一定真那么及时。

5)对于不容易进行物理访问的服务器,比如托管的服务器,在资金允许的情况下,配置HOT SPARE硬盘。

6)对于使用MegaRaid控制器的服务器,要同时安装MegaRaid Storage Manager(MSM,方便远程监控)和MegaCli(命令行方式的管理)。平时使用MSM,关键时刻使用MegaCli。另外由于MegaCli安装位置在/opt,没有path路径且文件名大小写混杂还有数字(MegaCli或者MegaCli64),建议在/root下建文件夹bin,再在其中建符号链接:megacli -> /opt/MegaRAID/MegaCli/MegaCli64 这样,可以方便使用。

一些名词解释:

VD:Virtual Disk,虚拟磁盘。这是对于RAID控制器而言的,不要和LINUX本身的VD搞混。

PD:Physical Disk,物理磁盘。

WB:Write Back,缓存写,相对于Write Through 直通写。在RAID控制器具备CACHE内存时把需要写入磁盘的内容先缓冲,累积到一定程度后再写入磁盘,从而减少磁盘的写入压力。

MegaCli:MegaRaid的命令行控制工具。网上已经有大量的介绍,搜索即可。

本栏目相关
  •  2013-11-01 又一次RAID 5阵列故障记录
  •  2012-06-07 修改CentOS发行信息以绕过Dell服务器BIOS更新和DSET支持工具的操作系统检查
  •  2010-03-15 MegaCli安装及使用杂记
  •  2015-09-20 本站服务器RAID 5阵列双硬盘失效挽救记录
  •  2020-02-27 服务器热加硬盘、热转RAID模式,配合LINUX卷操作实现不重启服务器完成扩容
  •  2023-01-26 Windows服务器折腾安装MegaRAID存储管理器17.05版
  •  2022-02-24 如何安装使用 Broadcom RAID卡命令行管理工具 StorCLI(或称PercCLI)?
  •  2022-10-17 安装 MegaRAID 存储管理器集中监控 DAS 存储状态
  •  2023-02-01 安装MegaRAID存储管理器17.05.06版的好一番折腾(Linux篇)
  • 本站微信订阅号:

    微信订阅号二维码

    本页网址二维码:

    本栏目热门内容
  • Acrobat虚拟PDF打印机执行打印时挂起,解决办法竟然...
  • LINKSYS交换机登录WEB界面显示不正确的解决方法
  • 又一次RAID 5阵列故障记录
  • 解决VMware vSphere ESXi 5.0 Update 1 中虚机不能...
  • 修改CentOS发行信息以绕过Dell服务器BIOS更新和DSET...
  • 解决虚拟化运行的 Windows Server 2003 标准版出现...
  • Windows Server 2008 重命名域和域控制器
  • Intel Nehalem CPU Errata 导致 VMWare ESXi(vSpher...
  • 一次很精神的电脑组装过程记录(但不是自己的电脑)...
  • 解决MySQL Cluster 备份总是失败,提示文件已存在的...
  • MegaCli安装及使用杂记
  • 解决WSUS显示客户端不全的问题
  • 解决 VMWare vSphere 6 客户端无法修改用户密码
  • 解决Windows Server 2008 R2域控制器显示无法连接到...
  • 本站服务器RAID 5阵列双硬盘失效挽救记录
  • 网站数据库从MySQL 5.0升级到5.6的记录
  • 解决MariaDB使用Percona XtraBackup增量备份出错
  • DELL PowerEdge 820 报CPU3 INTERNAL ERROR 的解决...
  • Linux 下的分区调整工具GParted实战
  • 修改arpwatch使通知邮件主题显示IP地址
  • 程序员漫画:如何用8种不同的编程语言去解救公主
  • 解决Samba WINS服务的错误解释问题
  • 解决很好用的多合一即时通信软件pidgin的崩溃问题
  • 使用 GParted 进行虚拟机硬盘分区调整操作
  • 解决Squid代理HTTP时在浏览器出现Content Encoding ...
  • 用Delphi编写使用到ADO的DLL的一些问题
  • 网站简单改版
  • 索尼系列手提电脑备份失败,出现700错误的解决办法
  • Dell R900服务器 BMC firmware incompatible with C...
  • 更多...