我刚刚买了一台 QNAP TS-251,这是一款运行 Linux 和制造商工具的 NAS。其中一个设置选项是运行坏块扫描,但在 4 TB 驱动器上,这可能需要很长时间才能运行,在此期间我无法开始使用我的新 NAS。
那么,是否有一个实用程序可以在设备完全正常运行后在后台运行?显然,这样的实用程序比在新的空驱动器上运行的实用程序要花费更长的时间,因为它必须在不破坏实时数据的情况下完成工作。但与此同时,机器可以正常运行且可用。
这种实用程序还可用作每年几次的定期预防性维护工具,而不仅仅是作为使新设备尽快投入使用的一种方式。
- 一般来说,Linux 中是否存在这样的实用程序?
- 如果是,它可以在 QNAP NAS 上运行吗?
- 或者是否有用于此目的的 QNAP 专用实用程序?
答案1
因为你标记了坏块在您的问题中,我假设您对它有一定的了解。它可以作为用于检查 Ext2/3/4 文件系统的程序的一部分运行,e2fsck
如果 NAS 上的底层分区使用该文件系统:
e2fsck -c /dev/blockDeviceHere
答案2
不,恐怕这不是一个值得推荐的方法。
当进程可以获得对磁盘的独占访问权限时,应执行坏块搜索,因此一般来说,扫描时应卸载磁盘。这是因为即使以只读方式挂载,进程也可能导致内核崩溃或损坏文件系统。
请参阅此处的注释-f
:https://linux.die.net/man/8/badblocks
-F
通常,badblocks 会拒绝对已安装的设备进行读/写或非破坏性测试,因为即使以只读方式安装,这两种情况都可能导致系统崩溃和/或损坏文件系统。可以使用 -f 标志覆盖此设置,但几乎永远不应使用 --- 如果您认为自己比 badblocks 程序更聪明,那么您几乎肯定不是。只有在 /etc/mtab 文件不正确且设备确实未安装时,此选项才可能安全使用。