请参见当 raid (5) 中一个或多个驱动器出现坏扇区时会发生什么情况?。我有几个 .jpg 文件(以及更重要的数据)。一些 .jpg 文件已损坏。我能看出来,因为它们无法用查看器“geeqie”查看。我目前正在 2015 年 1 月购买的关键 CT512MX1 ssd 上使用 btrfs。
- (问题 1)除了“fsck”,您还可以对 btrfs 进行哪些维护?
- (问题 2)要实现此目的,raid 1 中的固态硬盘有哪些软件/硬件要求?”例如,它必须能够读取 SSD 的 SMART 数据吗?
这是一个过于复杂的讨论: https://linux-btrfs.vger.kernel.narkive.com/BQK0Pz9w/how-does-btrfs-handle-bad-blocks-in-raid1
答案1
是的,问题 1 的答案是:用于btrfs scrub
检测和修复损坏的文件:请参阅
https://wiki.archlinux.org/title/Identify_damaged_files
具体来说
“与其他文件系统类型不同,btrfs 原生支持报告损坏的文件。在清理分区时,btrfs 会读取所有数据和元数据块并验证校验和。如果 RAID 配置中有正确的副本,它会自动修复损坏的块。btrfs 还会通过系统日志报告任何不可读的扇区以及受影响的文件。”
答案2
您说“我目前正在一个关键的 CT512MX1 固态硬盘上使用 btrfs”。单个驱动器不能被视为 RAID1。那么 btrfs 会为您带来很多优势,但在冗余方面却没有优势。如果无法读取某个扇区,则文件会丢失(更准确地说,无法完全读取)。btrfs 的唯一优势是它存储每个块的校验和,并且更愿意引发 I/O 错误,而不是为某些扇区发送不正确的值:您无法读取文件,而不是您的应用程序因文件损坏而中断。