我有一个有6个磁盘的服务器,其中5个在RAID5arrays中。 我今天下class回家,发现房东已经穿过房子,权力已经重新设定了。 现在,我的服务器拒绝启动正确。
在启动过程中,我被警告说raidarrays已经被降级,并且问我是否要启动它。 无论是说是或否,我都加载到initramfs中。 从那里,我发现数组中的2个磁盘被标记为已删除,但是我可以通过mdadm重新添加这些磁盘,并报告它们正常,整个arrays处于活动同步状态,并且处于活动状态但未启动。
我已经检查了,操作系统的驱动器是好的。 我可以挂载它并浏览它,但我无法弄清楚如何让它加载。 即使如此,我不知道为什么我的5个驱动器中的2个同时被从arrays中删除。 我不太可能在同一天发生2次故障,dmesg中也没有出现故障的驱动信息。
有什么build议么? 在那里我有很多不可替代的东西,我认为是安全的,因为RAIDarrays。
更新:如下所述,我能够使用组装RAIDarrays
mdadm --assemble /dev/md0
然后,我重新添加删除的驱动器
mdadm /dev/md0 --re-add /dev/sda1 mdadm /dev/md0 --re-add /dev/sdb1
然后,我可以启动该数组,然后将其挂载到initramfs中的文件夹中
mdadm -R /dev/md0 mount /mnt/raid
但是,一旦我重新启动机器的RAIDarrays显示降级和服务器启动到initramfs。 我试过在RAIDarrays中导航,一切似乎都在那里,完全可以访问。 我已经检查和UUID绝对是在我的操作系统磁盘显示的。
更新2:好吧,不知道这里发生了什么事。 我试图通过键入“退出”,这使我从initramfs中启动到操作系统。 内核第一次惊慌,说它不能安装驱动器(可能是因为我把它装入initramfs?)。 然后,我重新启动服务器,一旦initramfs加载,键入退出,一切都回来了。 我所有的文件都完好无损。 我正在对硬盘进行检查。 对于下次重新启动之前我应该做的事情有任何build议,以确保这不再发生?
所以,如果你可以装载它,我假设5个磁盘中至less有4个是正常的,请尝试运行:
mdadm --assemble --force /dev/md0
如果md0是你的RAIDarrays。 我从来没有使用过这个命令,但根据手册页:
Assemble Assemble the parts of a previously created array into an active array. Components can be explicitly given or can be searched for. mdadm checks that the components do form a bona fide array, and can, on request, fiddle superblock information so as to assemble a faulty array.