![意外移除 SAS 电缆](https://linux22.com/image/724308/%E6%84%8F%E5%A4%96%E7%A7%BB%E9%99%A4%20SAS%20%E7%94%B5%E7%BC%86.png)
在故障排除过程中,我们意外地从活动的 AVAGO MegaRAID 控制器上拔下了一根 SAS 电缆。重新连接 SAS 电缆后,RAID6 磁盘阵列中的所有磁盘均报告为,Frn-Bad
虚拟驱动器已消失。
现在,我们可以将所有驱动器更改为“未配置的良好”,然后创建一个新的虚拟驱动器,但 JBOD 上仍有一些(非必要的)数据。是否可以在不丢失数据的情况下重新创建磁盘配置,还是数据会不可挽回地丢失?
答案1
TL;DR:如果你不小心从服务器上移除了 SAS 电缆,则安装storcli
并运行
storecli /call show
注意正确的控制器和外壳以及 nrun
#!/bin/bash
# Use your values from above
CONTROLLER=
ENCLOSURE=
storcli /c$CONTROLLER /e$ENCLOSURE /sall set good
storcli /c$CONTROLLER /fall show
echo -n "Import all foreign drives? [y/n]"
read yno
case $yno in
[yY] | [yY][Ee][Ss] )
storcli /c$CONTROLLER /fall import
;;
*) echo "Skipping import"
;;
esac
当您断开 SAS 电缆时,控制器会发现所有驱动器都已损坏,因此可能处于不良状态。这就是您获得 的原因Bad
。此外,这些驱动器可能是新的,尚未包含在您的 RAID 设置中,这就是您获得 的Frn
原因Frn-Bad
。
为了解决这个问题,您首先需要将所有驱动器标记为UGood
(未知,但良好)。最简单的方法是使用storcli
(从 LSI 下载)。首先使用
storcli /call show
会/call
查找所有控制器,但您也可以使用/cX
特定控制器。所有Frn-Bad
驱动器将位于单个机箱中,例如
8:1 | drive information .... | Frn-Bad | ...
8:13 | drive information .... | Frn-Bad | ...
8:14 | drive information .... | Frn-Bad | ...
8:23 | drive information .... | Frn-Bad | ...
冒号前面的常见数字是机箱。storcli
再次调用并使用机箱编号来验证您手头上确实有正确的驱动器:
storcli /call /e8 /sall show
现在将所有这些驱动器设置为良好
storcli /call /e8 /sall set good
这会将驱动器标记为未知且良好。MEGARaid 控制器会将配置保存在硬盘上。您可以使用以下命令显示它
storcli /c0 /fall show
然后将其导入
storcli /c0 /fall import
导入驱动器应该只需不到一分钟的时间。
答案2
执行此检查可能会很有用:
https://www.servethehome.com/fixing-drive-labeled-foreign-lsi-avago-sas-controller/
不幸的是,我希望配置没有被完全删除。如果您能够扫描外部配置,您仍然应该能够启用 Raid 阵列。
但我无法保证这一点,因为您已经使用这些磁盘创建了一个新的虚拟驱动器。