我在 Freenas 9.1 上运行了一个 4 盘 RAIDZ 配置。早些时候我注意到其中一个驱动器已脱机。我运行了 smartctl,所有磁盘都通过了 SMART。几天前,当 Windows 客户端正在写入时,机器断电了(我还没有 UPS)。我认为这可能损坏了数据,因此通过命令行将驱动器重新联机。驱动器保持在线状态,没有发生任何意外。
因此,我决定运行清理程序来检查错误。在计算机自行将驱动器脱机之前,清理程序能够达到池大小的约 50%。未报告任何 CKSUM 错误。SmartCTL 仍显示所有驱动器均已通过。Zpool Status 报告驱动器已被管理员脱机 - 显然我自己没有将驱动器脱机,因此我认为 FreeNAS 可能出于某种原因这样做。
驱动器看起来不错,没有 CheckSum 错误。为什么 freenas 会将其脱机?我是否应该检查光盘上的任何其他统计数据以检查它是否是真正的故障?
答案1
有可能光盘尝试读取某个扇区,但未在 TLER(时间受限错误恢复)窗口内(可以是几秒到几分钟)获得结果。它不会尝试更长时间(并可能锁定整个阵列),而是告诉控制器放弃它(或者控制器认为它已死并放弃它,以先发生者为准)。这会导致状态OFFLINE
。
为了解决这个问题,您可以修改磁盘和控制器的超时时间,然后进行另一次清理(这可能需要更长时间并暂时锁定系统)以检测并修复任何无法读取的扇区;或者您可以移除磁盘并在另一个系统上执行相同的过程,然后将其取回;或者您可以直接移除并替换它。