TL;DR 摘要:将 md 扇区号转换为/dev/mdX设备内的偏移量,以及如何使用xfs_db. 扇区号来自sh->sectorin linux/drivers/md/raid5.c:handle_parity_checks5()。
我不知道 MD 内部结构,所以我不知道如何处理printk我添加的日志记录的输出。
组件设备的偏移(用于dd或十六进制编辑器/查看器)也很有趣。
我想我应该在 Linux-raid 邮件列表上问这个问题。是仅限订阅者,还是可以不订阅就发帖?
我的桌面(没有 LVM)直接在 4 个磁盘的 MD RAID5 上安装了 xfs。最近的mismatch_cnt清理检测到非零值(实际上是 8,因为 md 一次在 4kiB 页面上运行)。
这是 RAID5,而不是 RAID1/RAID10 ,其中mismatch_cnt!= 0 在正常操作期间可能发生。(此 wiki 页面底部的其他链接可能对某些人有用。)
我可以只是盲目地repair,但是除了失去选择重建方式的任何机会之外,我不知道要检查哪个文件可能损坏。 Frostschutz 对类似问题的回答是我找到的唯一建议,用于追踪文件系统中的差异。它既麻烦又缓慢,我宁愿使用更好的方法先将其缩小到几个文件。
奇怪的是,md 的检查功能没有报告发现错误的位置。 我加入了printk在MD / raid5.c记录sh->sector在if该增量分支mddev->resync_mismatches中handle_parity_checks5()(小片在github上发布,最初基于4.5 RC4从kernel.org。)对于这个是确定用于一般用途,它可能会需要避免在修复中大量不匹配的日志(可能只在新值 …
我想更换一个处于故障前状态的硬盘驱动器(一些重新分配的扇区),它用于具有 3 个磁盘的 raid5 阵列(带有 的软件 raid mdadm)。
是否可以将新硬盘设置为热备用并初始化从故障到备用驱动器的接管?
一些方法建议添加驱动器,然后设置驱动器故障命令。据我所知,在这种状态下,raid5 降级,驱动器故障最终会......
那么是否有可能将数据实时(或重建raid)从故障驱动器“复制”到备用驱动器(不去除其奇偶校验功能),并且在复制或重建过程完成后,移除故障驱动器。