在登录到 EC2 (Ubuntu) 实例时,我看到
*** /dev/xvda1 should be checked for errors ***
Run Code Online (Sandbox Code Playgroud)
我不能,fsck /dev/xvda1因为它已安装,而sudo umount /dev/xvda1失败,因为它正在使用中。 lsof显示
jbd2/xvda 172 root cwd DIR 202,1 4096 2 /
jbd2/xvda 172 root rtd DIR 202,1 4096 2 /
jbd2/xvda 172 root txt unknown /proc/172/exe
Run Code Online (Sandbox Code Playgroud)
并且kill -SIGKILL 172无效。
该怎么办?
我在一个非常大的(1TB+)ext3 磁盘上运行 e2fsk
e2fsck -v /dev/sda1
Run Code Online (Sandbox Code Playgroud)
来自使用 PXE 启动的 RIPLinux。
我得到
e2fsck 1.41.6 (30-May-2009)
/dev/sda1 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Run Code Online (Sandbox Code Playgroud)
然后是很长的停顿……
我如何了解活动?
理想情况下,完成项目的计数与总数和某种 ETA。
最近,由于一致性问题,我看到远程数据中心机器的根文件系统被重新挂载为只读。
重新启动时,显示此错误:
UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY (i.e., without -a or -p options)
Run Code Online (Sandbox Code Playgroud)
按照建议运行 fsck 并使用 手动接受更正后Y,错误已更正,系统现在正常。
现在,我认为如果将 fsck 配置为自动运行和修复所有内容会很有趣,因为在某些情况下(例如这种情况)唯一的选择是亲自前往远程数据中心并将控制台连接到受影响的机器。
我的问题是:为什么 fsck 默认要求人工干预?此类程序执行的更正如何以及何时不安全?在哪些情况下,系统管理员可能希望将建议的更正搁置一段时间(以执行其他一些操作)或完全中止它?
我是一个长期用户,也是第一次提交问题。我花了一整天时间在这个网站和许多其他网站上搜索解决方案,但我必须求助于请求帮助来解决我的情况。
历史:我们的 HP Proliant、Centos 5.9 服务器昨天在没有正确关机程序的情况下关机。从那时起,/home 分区一直处于我们无法 fsck、挂载或卸载它的状态。umount 表示它没有挂载,而 mount/fsck 表示它正忙或已经挂载。这最初导致服务器无法启动。我们最终从 /etc/fstab 中删除了磁盘/分区,以便启动不会失败。
# mount -t ext3 /dev/cciss/c0d0p1 /home
mount: /dev/cciss/c0d0p1 already mounted or /home busy
# fsck /dev/cciss/c0d0p1
fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
fsck.ext3: Device or resource busy while trying to open /dev/cciss/c0d0p1
Filesystem mounted or opened exclusively by another program?
Run Code Online (Sandbox Code Playgroud)
如您所见,磁盘没有以任何方式挂载。
df输出:
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/cciss/c0d1p3 198381228 24920704 163220696 14% /
/dev/cciss/c0d1p2 267818128 191652 253802544 1% /logs
/dev/cciss/c0d1p1 194442 33575 150828 …Run Code Online (Sandbox Code Playgroud) 我最近有一个 XFS 文件系统由于电源故障而损坏。(CentOS 7 系统)。系统无法正常启动。
我从救援 cd 启动并尝试xfs_repair,它告诉我挂载分区以处理日志。
我安装了分区,并进行了ls验证,是的,它似乎在那里。我卸载了分区并xfs_repair再次尝试并得到相同的消息。
在这种情况下我该怎么办?我的救援 CD(系统救援 CD,版本 4.7.1)有问题吗?我应该使用其他一些程序吗?
我最终只是从备份中恢复系统(在这种情况下它既快速又简单),但我想知道将来要做什么。
……我怎么知道?
假设我要重新启动服务器。我想最大程度地减少停机时间,因此考虑将重新启动包装在一个别名中,该别名说“等一下,您将在启动时遇到 fsck”。
下一个问题.. 最好的说法是“我们下次再来吧?” 设置最后检查日期?
我知道 tune2fs 可以设置一堆参数,但我如何获得它们?
11 月中旬,我从托管公司租用的 VPS 停止响应。当我联系支持人员时,他们解释说数据中心断电导致强制重启和 fsck。最后,我问为什么要花这么长时间,并被告知卷的大小是 30 TB。我上次收到更新是在 2 月份,他们没有回复我最近的询问。
我知道 fsck 对于某些文件系统可能会非常慢,但是 fsck 是否有可能在 30 TB 卷上花费 6 个月,或者我应该假设这家托管公司在对我撒谎,以便我继续支付账单月?
为了为我的文件系统创建一个连续的空间来增长,我在 sda1 处创建了一个新的 EFI 系统分区,以便我可以从 sda5 处的当前分区迁移它。除了警告说:
内核:FAT-fs (sda1):卷未正确卸载。某些数据可能已损坏。请运行 fsck。
当我第一次创建 EFI 分区时,我没有注意到已经存在两天的警告。我卸载了文件系统并按如下方式执行了文件系统检查:
# umount /dev/sda1
# fsck -V /dev/sda1
fsck from util-linux 2.24
[/sbin/fsck.vfat (1) -- /boot/efi] fsck.vfat /dev/sda1
fsck.fat 3.0.24 (2013-11-23)
0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
Leaving filesystem unchanged.
/dev/sda1: 14 files, 2435/51145 clusters
Run Code Online (Sandbox Code Playgroud)
我认为去除脏位可以解决这个问题。但它没有。实际应该怎么做?
我的 Ubuntu 11.04 机器对 root、swap 和 home 使用 LUKS 加密。例程 fsck -n 揭示了我需要修复的一组错误。fsck 需要卸载分区。在 luks 之前,我会简单地从 U 盘启动并从那里修复运行 fsck。对 LUKS 加密分区执行此操作的步骤是什么?
我照顾着一个只有 512 MB 内存的旧 Debian linux 机器(运行 etch),但连接了很多外部存储。一个 ext3 文件系统的大小为 2.7 TB,fsck 无法检查它,因为它内存不足,出现这样的错误:
分配目录块数组时出错:内存分配失败 e2fsck:中止
我已经添加了一个 4 GB 的交换分区,但它仍然没有完成,但这是一个 32 位内核,所以我不认为添加更多会有所帮助。
除了启动到 64 位内核之外,还有其他方法可以让 fsck 完成它的检查吗?
fsck ×10
linux ×6
ext3 ×3
mount ×2
amazon-ec2 ×1
centos ×1
centos7 ×1
corruption ×1
debian ×1
fat32 ×1
filesystems ×1
hard-drive ×1
luks ×1
memory ×1
partition ×1
ubuntu ×1
xfs ×1