DiskScan 是一个 Unix/Linux 工具,用于扫描块设备并检查是否存在不可读的扇区,此外,它还使用读取延迟时间来评估接近失败的情况,因为读取有问题的扇区通常需要多次重试。这可用于评估磁盘的状态,并可能在即将发生故障之前决定更换磁盘。磁盘自检可能会也可能不会发现此类线索,具体取决于磁盘供应商的决策逻辑。
badblocks 旨在完成一项简单的任务,即查找媒体中的坏块。 diskscan 试图说明有关介质的更多信息,具体来说,它不仅试图说明坏块在哪里,还试图说明哪些块已经损坏但仍然可读,并且还提供有关读取每个块的延迟的信息,这应该有助于对磁盘介质进行总体评估。
从本质上讲,坏块会查找已经发生的致命问题,而磁盘扫描则用于查找即将出现的可以修复的问题。
此外,坏块在当今时代基本上已经过时了,因为磁盘本身会重新分配数据,并且不再需要在文件系统级别映射坏块。
该工具主要针对通过内核的 SCSI 接口工作的 SAS/SATA 驱动器。
目前无法使用此工具扫描 SD 卡和 NVMe 设备。
该项目使用 CMake,在 Debian/Ubuntu 上非常简单: apt-get install cmake make libtinfo-dev libncurses5-dev zlib1g-dev python-yaml
对于基于 RedHat/SuSe 的发行版,您需要先安装 ninja-build,然后: yum install compat-libtermcap libtermcap-devel cmake python-yaml zlib-devel
提供 Makefile 以避免学习 ninja 命令并执行非构建操作(安装等)
进行构建:
cmake . && make
进行安装
如果 /usr 不正确,您可以在构建包时控制 DESTDIR 和 PREFIX。
diskscan 根据 GPL 版本 3 或更高版本获得许可。