linux不重启在线更换故障硬盘(大数据服务器单盘raid0条件下)

文章目录

    • 前言
    • 操作


前言

一般的业务服务器硬盘都做了raid5或raid10等,出现硬盘故障,直接热插拔换新硬盘,自动rebuild就完事了,但是分布式存储却不同,一般是数据盘以多个单盘raid0的形式同时读写来提升存储性能,但出现硬盘故障就无法简单的热插拔替换,需要关机重启在bios中清缓存,删raid0组,加raid0组,对于无法停机的业务,我们可以借助megacli工具实现不重启在线更换硬盘

操作

  • 安装megacli
rpm -ivh http://rpmfind.net/linux/Mandriva/devel/cooker/x86_64/media/non-free/release/megacli-8.02.21-1-mdv2012.0.x86_64.rpm
  • 查看磁盘信息
[root@ceph01 ceph-cluster]# megacli -PDList -aALL

Adapter #0

Enclosure Device ID: 32
Slot Number: 0
Drive's position: DiskGroup: 7, Span: 0, Arm: 0
Enclosure position: 1
Device Id: 0
WWN: 5000C5006C366D48
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SAS

Raw Size: 279.396 GB [0x22ecb25c Sectors]
Non Coerced Size: 278.896 GB [0x22dcb25c Sectors]
Coerced Size: 278.875 GB [0x22dc0000 Sectors]
Sector Size:  0
Firmware state: Online, Spun Up

  • 拔出故障硬盘
  • 插入新硬盘
  • 清除raid缓存并新增raid组
#新插入的硬盘会有foreign信息,需要手动清除,-a0代表第一块raid卡
megacli -cfgforeign -scan -a0
megacli -cfgforeign -clear -a0
#旧硬盘的缓存需要手动清除,-L7代表Slot Number 7
megacli -GetPreservedCacheList -a0
megacli -DiscardPreservedCache  -L07 -a0
#将新硬盘添加到新raid0组,r0代表raid0,32代表Enclosure Device ID: 32
megacli -CfgLdAdd -r0 [32:7] WB Direct -a0

在线更换硬盘完成

你可能感兴趣的:(linux)