【NAS】磁盘坏道概念的发展及勘误
  UTVxDVUTignS 2023年11月01日 83 0

硬盘坏道概念新知

现在一般很少提到硬盘坏道这个概念,硬盘无非坏了或者没坏两个状态。玩NAS一段时间,就会遇到其中的中间状态——“坏道”。本文仅就机械硬盘的“坏道”进行分析。
目前遇到过几次文件系统损坏挂载不上。因为好玩,尝试了多种文件系统。

  1. ext4的硬盘断电坏了,挂载提示needs cleaning,用fsck修复后文件全部到了lost+found文件夹内,里面是原来根目录的几个文件夹,文件夹名丢了,好在里面文件结构都是好的。
  2. btrfs的硬盘复制文件时系统卡死,文件系统崩了无法修复,通过只读挂载挂上了,正在操作的那个目录坏了提示IO错误无法访问。买来新硬盘准备备份,再试了一下直接挂载,他又好了,很神奇。

处理这些问题期间查了很多英文资料,结合学习FatFs的一点经验,突然发现中文互联网上对于坏道的认知和我小学时看到的基本相同,但和我现在看各种英文资料有冲突。

翻译问题

百度百科把坏道翻译成"bad track",的确比较符合我们对机械硬盘记录信息的想象。但坏道这个概念在英文里应该是"bad sector"(坏扇),"bad track"在wiki里是搜不到的。

物理坏道

【百度百科】物理坏道:是盘片磁介质失效(可能是划伤或者生产工艺粗糙的原因),不可读写,无法修复,只能弃之不用。

百度百科对物理坏道我觉得符合认识,一部分是因为生产过程中不可避免的瑕疵,一部分是使用中机械硬盘产生的损伤。

逻辑坏道

【百度百科】逻辑坏道:坏道可能是软件操作或者使用不当造成的扇区首位的扇区地址标志等逻辑出错,这类问题可以通过专业修复软件修复

对于NOR Flash芯片,就是你给它一个地址,它给你这个地址上的数据。机械硬盘和固态硬盘通过主控实现一样的功能。在此之上有文件系统如FatFs负责抽象出文件和目录,具体数据怎么放在一连串的地址上由文件系统安排。
如果给一个地址给存储器,它写不进或读不出,那这里就是就是物理坏道了。在没有文件系统的情况下,就不存在逻辑坏道这个概念。

【百度百科】硬盘逻辑坏道可以修复,而物理坏道不可修复。实际情况是,坏道并不分为逻辑坏道和物理坏道,倒是分为按逻辑地址记录的坏扇区和按物理地址记录的坏扇区。

百度百科对“逻辑坏道”的定义很模糊,同一页里就有不同的定义。我现在认知的“逻辑坏道”就是“文件系统错误”的意思。为了追溯“逻辑坏道”的概念,我搜索了早期的资料。

系统自带扫描硬盘解决逻辑坏道是确定的。现在Windows里还留有的“扫描硬盘”就是“检查驱动器中的文件系统错误”。

现在来看无法格式化硬盘显然是硬件问题,更可能是因为软件不同没能对硬件故障做出反应。在这几十年中硬盘技术进步极大,S.M.A.R.T.的使用也使我们能够更通过标准的参数了解硬盘的硬件健康情况,这些在后面会提到。

深远的影响

“逻辑坏道”这个错误概念影响之深远,已经反向输入回英文了。在维基百科上看对"bad sector"的定义的时候看到了

Bad sectors can be "soft" (logical) or "hard" (hardware, physical), depending on what is making the sector inaccessible.

我还以为是我错了,就是有“逻辑坏道”这么别扭的概念。再一看参考文献是一个数据恢复公司的网站18年的文章,作者名字只有一个“zhang”😑……维基百科确实不能全信,还得自己看参考文献

屏蔽坏道

DiskGenius

百度搜索坏道很多文章会看到使用Deskgenius屏蔽坏道。原理是扫描硬盘,屏蔽超时的区域。这里是读超时还是写超时还是读写超时不得而知。

badblocks

软件如其名,是Linux平台扫描“坏块”的命令。在他的manual里写不建议直接单独使用,建议在使用fsck或mkfs中间加参数调用。badblocks使用-w-n参数(一个会破坏数据,一个可以对有数据的硬盘使用)来扫描坏道,实际起修复作用的是硬盘自带的SMART(Self-Monitoring, Analysis and Reporting Technology)。badblocks -w本质是对硬盘从头到尾写入一遍,无法写入的地方就会被SMART自动映射。

所以修复坏道并不需要像网上什么手动分区屏蔽,SMART会自动识别坏道并映射,然后SMART信息的"Reallocated Sector Count"就会+1。ext4还会自动处理坏道,然而比较先进的Btrfs却没有设计处理坏道的功能了,这种部分功能由SMART负责。

总结

  1. 物理坏道无法修复。
  2. “逻辑坏道”的概念基本就是文件系统错误,可以用Windows自带的工具修复(Linux用fsck)。
  3. SMART会自动映射坏道区域到保留的区域来达到屏蔽的效果,一般不用手动屏蔽。
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  qcTZA6NUsJFb   2024年05月04日   85   0   0 Windows
  uYSwh3nnN5IT   2024年03月03日   112   0   0 Windows
  jMxGzq3drxo8   2024年03月12日   150   0   0 Windows
  dwB0rnCueyjo   2024年02月19日   105   0   0 Windows
UTVxDVUTignS