我一直遇到 debian 系统的文件系统进入只读模式的问题。简单的解决方案是将其关闭并重新打开,但它一直切换到只读模式。debian 机器是 ESXi 虚拟机管理程序上的 VM,卷在 /etc/exports 中导出,以便其他 VM 可以在自己的/etc/fstab
配置中挂载其子文件夹。
客户端/etc/fstab
配置:
# Remember NFS isn't secured over the network.. it probably wouldn't matter but is still considered non-secure
storage-host-vm:/storage/drv_a/workpro_backups_samba /mnt/workpro_backups_samba nfs rw,sync,hard,intr 0 0
storage-host-vm:/storage/drv_b/temporary /mnt/temporary nfs rw,sync,hard,intr 0 0
storage-host-vm:/storage/drv_a/staff_pc_file_backups /mnt/staff_pc_file_backups nfs rw,sync,hard,intr 0 0
我刚刚运行fsck
并给出了以下输出
$ sudo fsck /storage/drv_a
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
/dev/sdd1 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdd1: 264980/134217728 files (0.2% non-contiguous), 18092864/536870655 blocks
那么我是不是刚刚解决了这个侥幸问题?还是我应该买一个新的硬盘,然后决定数据迁移策略,因为硬盘快要坏了?或者我导出的是
硬盘位于 2TB 5400RPM 绿色 Western Digital 上。我认为它最初集成到系统中时一定运行良好……它的用途是存储 clonezilla HDD 映像(出于显而易见的原因,我不经常制作这些映像;)并保存大量 ISO。它还有一个 git repo,每晚提交一次,用于旧机器的备份目的。该驱动器绝不是“高端”的,但我仍然有点沮丧,因为到目前为止我只使用了该驱动器容量的 2%,并且希望性能略好一些。有没有办法“关闭”我到目前为止写入的所有扇区,因为我显然已经用完了它们?或者这是什么样的故障?它位于通风良好的底盘中,振动和干扰有限。
以下是/var/log/messages
[105762.692329] EXT4-fs warning (device sdd1): ext4_clear_journal_err:4365: Filesystem error recorded from previous mount: IO failure
[105762.692334] EXT4-fs warning (device sdd1): ext4_clear_journal_err:4366: Marking fs in need of filesystem check.
[105762.695164] EXT4-fs (sdd1): warning: mounting fs with errors, running e2fsck is recommended
[105762.793436] EXT4-fs (sdd1): recovery complete
[119886.884295] sd 0:0:3:0: [sdd] Unhandled error code
[119886.884299] sd 0:0:3:0: [sdd] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[119886.884304] sd 0:0:3:0: [sdd] CDB: Read(10): 28 00 72 8c 40 e0 00 00 90 00
[119886.884340] sd 0:0:3:0: [sdd] Unhandled sense code
[119886.884342] sd 0:0:3:0: [sdd] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[119886.884345] sd 0:0:3:0: [sdd] Sense Key : Medium Error [current]
[119886.884349] sd 0:0:3:0: [sdd] Add. Sense: Unrecovered read error - auto reallocate failed
[119886.884354] sd 0:0:3:0: [sdd] CDB: Read(10): 28 00 72 8c 3f e0 00 01 00 00
[119890.019089] sd 0:0:3:0: [sdd] Unhandled sense code
[119890.019096] sd 0:0:3:0: [sdd] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[119890.019102] sd 0:0:3:0: [sdd] Sense Key : Medium Error [current]
[119890.019108] sd 0:0:3:0: [sdd] Add. Sense: Unrecovered read error - auto reallocate failed
答案1
正如另一个答案中所说,硬盘有错误,请更换它。
如果您需要数据,尝试备份可能是值得的。取出磁盘并将其连接到不同的系统。然后使用 dd 的变体进行复制。
你可以使用救援:
要查找有关如何使用它的其他有用指南,只需快速https://www.duckduckgo.com搜索。
或者以下日在处理坏磁盘时,这个命令确实帮了我好几次忙。您可以只在要保存的分区上使用它,也可以在整个磁盘上使用它:
dd conv=noerror if=/dev/bad_disk of=/path/to/diskimage.img bs=500M
使用conv=无错误为了避免因错误而停止,需要添加到bs=参数应该约为 RAM 的 1/4 到 1/2。为了加快速度。默认值太低,会导致日由于执行了太多磁盘操作,速度会大大降低。您可能需要对恢复的映像执行文件系统检查。如果文件磁盘映像文件包含一个分区,您可以使用以下命令挂载它:
mount -o loop diskimage.img /mnt/point