megacli通过盘符定位物理盘_Linux中如何快速定位磁盘分区和插槽 | 聂扬帆博客

当收到一条磁盘告警时,我们应该怎么快速定位磁盘插槽和分区?这时可以使用MegaCli工具,具体使用方式参考《“五分钟学命令系列”之三十四《MegaCli命令》》。

0x01 背景

机器上有两块硬盘,当设备ID为16的磁盘状态为faild时

0x02  查询故障盘对应的插槽

通过MegaCli命令查询出磁盘的Enclosure Device ID,Raw Size,Slot Number,Device Id,Firmware state,DiskGroup$ /opt/MegaRAID/MegaCli/MegaCli64 -LdPdInfo -aALL |egrep 'Enclosure Device ID|Raw Size|Slot Number|Device Id|Firmware state|DiskGroup' | awk 'BEGIN{FS="\n";ORS=" ; "} {if($0~"Enclosure Device ID"&&NR>1){print "\n"$0} else {print $0}}' |awk '{print}' | sed -r 's/\[.*\]//;s/\s+/ /g' | sed -r 's/ Span: 0,/ /g'

Enclosure Device ID: 252 ; Slot Number: 0 ; Drive's position: DiskGroup: 0, Arm: 0 ; Device Id: 17; Raw Size: 447.130 GB ; Firmware state: Online, Spun Up ;

Enclosure Device ID: 252 ; Slot Number: 1 ; Drive's position: DiskGroup: 1, Arm: 0 ; Device Id: 16 ; Raw Size: 931.512 GB ; Firmware state: Faild ;

通过上述命令可以得出设备ID为16的故障磁盘位于插槽1(Slot Number: 1)

0x03  查询故障盘对应的分区

通过udevadm查询出分区的真实路径$ udevadm info -q path -n /dev/sda

/devices/pci0000:00/0000:00:02.0/0000:03:00.0/host0/target0:2:0/0:2:0:0/block/sda

$ udevadm info -q path -n /dev/sdb

/devices/pci0000:00/0000:00:02.0/0000:03:00.0/host0/target0:2:1/0:2:1:0/block/sdb

通过上述命令可以得到两个数据,0:2:0:0和0:2:1:0。这两个数据的第三位和第二步得到的Drive's position: DiskGroup做匹配得到,DiskGroup: 0对应0:2:0:0,DiskGroup: 1对应0:2:1:0

最后,我们得出结果Device ID为16的故障盘对应的插槽为1,对应的分区为sdb

PS:转发一个脚本,直接复制到机器运行,可以得到硬盘的所有信息,以表格的方式打印出来,简单明了。《megaclisas-status》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值