ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
raid 更换硬盘后 Ubuntu系统无法进入的解决方法
-
服务器是Ubuntu系统,安装在Intel的raid 10上。最近一个硬盘有坏道,尝试更换硬盘。首先在Ubuntu中下线有坏道的硬盘。然后关机安装上硬盘后显示如下画面
然后重启之后再也无法进入系统。尝试吧老硬盘换上去仍然没有效果。显示老硬盘状态为offline。
再次插入新硬盘状态变成degraded。经过各种搜索尝试最终找到原因。主板自带的raid 10 不是完整raid。其必须要在操作系统的协助下才能完成raid的功能。正常情况下如果服务器系统是windows,那么应该可以直接启动进入系统开始raid rebuild。板载的raid是intel的rst,但是这个功能不支持Linux。详细的可以参考 https://zhuanlan.zhihu.com/p/106623640。
我们采用的方法是在一块独立的硬盘上安装一个Windows Server 2016,然后装上对应版本的intel rst,注意版本一定要对应,可以根据主板信息到主板官网上去找。硬盘装上新盘。如果一切正常打开intel rst程序就能看到raid在rebuild。rst默认安装位置在
C:\Program Files (x86)\Intel\Intel(R) Rapid Storage Technology enterprise\IAStorUI.exe
。如此等待重建完成就可以了。
-
你遇到的问题确实是由于Intel RST(Rapid Storage Technology)与Linux系统的兼容性问题所引起的。在很多服务器和一些高端主板上,Intel RST提供了硬件级别的RAID功能,但这些功能往往依赖于特定的操作系统支持,在Linux下可能会遇到各种问题。
解决方案1:使用Windows进行RAID重建
正如你所述,一种解决方案是临时安装一个Windows系统来启动RAID重建过程。这是因为在Windows环境下,Intel提供了完整的驱动和支持工具,可以更方便地管理和修复RAID阵列。具体步骤如下:
- 准备一块额外的硬盘:用于安装临时的Windows操作系统。
- 安装Windows Server 2016:确保选择与主板兼容的版本,并安装对应的Intel RST驱动。
- 启动Intel RST管理工具:通过
IAStorUI.exe
来监控并启动RAID重建过程。 - 等待重建完成:一旦重建完成,理论上你可以移除Windows系统,重新尝试启动Ubuntu。
解决方案2:转换为Linux软件RAID
如果你不想依赖Windows,或者希望有一个更持久的解决方案,可以考虑将现有的RAID配置迁移到Linux的mdadm工具管理下的软件RAID。这需要一定的技术知识,并且要非常小心以避免数据丢失。以下是简化的步骤:
- 备份重要数据:在任何操作之前,请确保所有关键数据都已经安全备份。
- 安装mdadm:
sudo apt-get update sudo apt-get install mdadm
- 停止Intel RST RAID:这一步可能需要通过BIOS/UEFI设置或使用Live CD/USB环境下的特殊工具来完成。
- 创建新的mdadm RAID:
sudo mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sd{a,b,c,d}
- 迁移文件系统:将原有RAID上的数据迁移到新的mdadm管理的RAID设备上。
- 更新引导加载程序:确保GRUB或其他引导加载程序能够正确识别新的RAID配置。
- 测试新配置:验证一切正常后,逐步移除旧的RAID组件。
解决方案3:使用兼容模式(如果适用)
某些较新的主板允许你在BIOS/UEFI中切换Intel RST的工作模式。如果你的主板支持此选项,可以尝试将其从“RAID Mode”切换到“AHCI Mode”,这样Linux就能更好地识别磁盘,并且可以在不需要额外驱动的情况下使用。
总结
对于你的具体情况,因为已经成功使用了Windows进行了RAID重建,那么最简单的方法就是继续沿用这个方法。不过,长期来看,考虑到稳定性和兼容性,建议评估是否可以转向Linux原生支持的RAID解决方案,如mdadm。这样不仅可以摆脱对专有软件的依赖,还能获得更好的性能和灵活性。