我一直在debian系统的文件系统进入只读模式的麻烦。 简短的解决scheme是将其closures并重新打开,但仍保持切换到只读模式。 debian计算机是ESXi虚拟机pipe理程序中的虚拟机,卷导出到/ etc / exports中,以便其他虚拟机可以将其子文件夹挂载到其自己的/etc/fstabconfiguration中。
客户端/etc/fstabconfiguration:
# 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绿色西部数据。 我认为它最初是在它被首次集成到系统中时运行良好的。它的目的是存储clonezilla硬盘镜像(我不会经常出于显而易见的原因),并持有一堆ISO。 它还有一个git repo,承诺为了遗留机器的备份目的每晚。 驱动器并不是“高端”,但我仍然有点沮丧,因为我到目前为止只使用了该驱动器容量的2%左右,性能稍微好一些。 有没有办法可以“closures”到目前为止我写的所有行业,因为我已经明显使用了它们? 或者这是什么样的失败? 它在一个很好的通风底座振动和干扰有限。
以下是/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
您的硬盘驱动器报告了未被发现的读取错误。 除了更换驱动器(如果它仍在保修期内,有资格享受保修更换),您无能为力。
硬盘驱动器有错误的build议在另一个答案,让它取代。
如果您需要这些数据,则可能值得尝试备份。 取出磁盘并将其连接到不同的系统。 然后使用(dd的一个变种)复制。
你可以使用ddrescue :
要find如何使用它的其他有用的指南只是做一个快速的https://www.duckduckgo.comsearch。
或者,下面的dd命令在处理坏的磁盘时帮了我一些忙。 您可以仅在要保存的分区或整个磁盘上使用它:
dd conv=noerror if=/dev/bad_disk of=/path/to/diskimage.img bs=500M
使用conv = noerror来避免错误停止,添加到bs =参数的内存量应该是RAM的1/4到1/2。 为了加快速度。 默认值太低,会导致dd减慢很多,因为磁盘操作太多。 您可能需要对恢复的映像执行文件系统检查。 如果文件diskimage.img包含一个分区,则可以使用以下命令进行挂载:
mount -o loop diskimage.img /mnt/point