我被分配了一个任务来测试和评估硬件RAID下的Coffeelake使用英特尔RST溢价与英特尔光学系统加速选项在RAID1配置-在Linux下。
我使用Ubuntu19.04,它默认安装dmraid (还尝试了其他几个需要额外安装dmraid的Linux版本)。过去我经常使用企业磁盘阵列,从用户的角度看,我无法理解上面解释的DUT的价值。
安装系统正确启动后,带有选项dmraid的-s和-r报告良好/同步状态。我关闭了,删除了其中一个磁盘(假设它失败了),然后尝试只从一个磁盘开始。它不启动,进入紧急外壳。
好的,我关闭并返回删除的磁盘返回。在我类似企业的理解中,RAID系统必须使用日志更新不同的信息,并且媒体在此操作之后必须保持同步。
但这种事不会发生。我在后台看到了重建--很可能是完全重建,dmsetup status达到了最终值,不再发生任何事情。它仍然写着XXXX/XXXX,dmraid仍然说nosync。没有看到磁盘活动。如果我关闭机器,然后再次启动,完全重建从零开始,达到相同的阶段,并被困在那里。
我是dmraid的新手,尝试了一些-R选项,在某个时候,dmraid -s说“不一致”或类似的东西,重新构建已经重新开始,但是仍然停留在最后的XXXX/XXXX状态,卷仍然不一致。
转到机器的设置,删除RAID卷,重新创建它,逻辑上所有的信息都丢失了(因此它不是从失败的RAID卷中恢复的方法)。
告诉我在这里我有什么错误的假设,以及为什么系统无法正确地处理一个磁盘的无意义,当磁盘返回到集合中时,会变得非常疯狂。
我现在正在完全擦除其中一个磁盘,以查看dmraid是否会自动找到它并将其附加到集合中,并执行RAID卷的重建以使其就绪并保持同步。
更新:在完全擦除其中一个磁盘,并将其安装到系统中后,BIOS/setup称此磁盘为非RAID,原始磁盘为“降级”,并选择“重新构建”。选择此选项后,安装程序显示“重新生成”,但没有看到磁盘活动。然后我启动了Ubuntu,它进入了紧急外壳,它的容量似乎还没有准备好,显然正在后台执行重建--得到了dmsetup status的确认--但我仍然不能正确地使用系统。
此重建完成后,卷状态仍停留在非同步状态。init 5挂起,在重新启动RAID卷仍然不可用和新的重建已经启动之后。
因此,这种类型的"RAID“无法承受磁盘故障。
更新1:配置在Windows10下工作得很好。当系统关闭时,从R1集中删除一个磁盘会使系统从另一个磁盘启动。Windows有GUI来检查状态并包含磁盘/初始化重建。当重新生成完成时,驱动程序将系统RST更新到适当的状态,并且在下一个触发事件时不会错误地重新启动。在R1配置中,SATA3磁盘的顺序读取性能为1.1GB/s (Ubuntu显示为528 in /S)。
发布于 2019-11-29 11:53:38
原则上,您应该能够从不完整的RAID集启动(毕竟,如果磁盘在关闭后不旋转,这比操作期间磁盘失败的可能性要大得多),但在默认设置中,由于某种原因似乎需要操作员的许可(即强制组装数组,然后继续引导)。
此外,原则上,仅仅是试图组装数组,而不是实际进行,不应该增加RAID超级块中的事件计数器,这就是系统决定磁盘是否可以同步的方式。如果该数组与缺少的磁盘组装在一起,则该磁盘将错过写入,因此当然需要随后进行重新构建,覆盖磁盘。
因此,我怀疑数组是在降级状态下组装的,但是一些引导代码决定“降级”不够好,并将您抛到紧急shell中。此时,已经作出了需要重建的决定。
重建将给您留下一个一致的状态,但是设备管理器可能需要一些命令才能在这里完成,就像LVM中的背景pvmove一样。
完全擦除的磁盘只有在它们被识别为热部件时才会被添加。在保守的设置中,我需要操作符操作将磁盘指定为热备用磁盘。如果有插槽,您可以在磁盘故障前添加备件,这允许在出现故障时立即切换,但我会谨慎地避免将故障后出现的第一个磁盘作为备用磁盘,至少无需询问操作员。
发布于 2021-07-23 20:27:34
如果在重建完成后,但仍报告不同步状态,请尝试:
# dmraid -a n
# dmraid -a yhttps://serverfault.com/questions/993753
复制相似问题