昨天,我遇到了一个令人困惑的问题。在启动过程中,系统抱怨超级块上次挂载时间在未来,并要求我 fsck。我用了几个月的Debian Squeeze,第一次遇到这个问题。我想知道这是否是 UTC 的问题。
我用谷歌搜索但没有发现任何对我有指导意义的东西。
我正在运行一个完全更新的 Ubuntu 9.04“Jaunty”i686 服务器。我在 LVM 组中有一个名为/dev/mapper/vg0-bigthree.
如果我启动到单用户模式并确保该卷已卸载,则每次尝试运行 xfs_check 时仍会得到以下信息:
$ sudo xfs_check /dev/mapper/vg0-bigthree
xfs_check: /dev/mapper/vg0-bigthree contains a mounted and writable filesystem
fatal error -- couldn't initialize XFS library
Run Code Online (Sandbox Code Playgroud)
只是为了彻底,我开始尝试运行
$ sudo fsck.xfs /dev/mapper/vg0-bigthree
If you wish to check the consistency of an XFS filesystem or
repair a damaged filesystem, see xfs_check(8) and xfs_repair(8).
Run Code Online (Sandbox Code Playgroud)
在转向 xfs_check 之前。
此外,我可以确认在卷的设备或安装点的输出mount或输出中没有发生/etc/mtab。
我有一个 CentOS 机器,每次重新启动时都会在“检查根文件系统”时挂起大约 8 小时。
有什么办法可以跳过那个检查吗?
我最近在爱尔兰遇到了 AWS 问题,丢失了一个卷,需要尝试恢复。
我已将问题卷附加到 /dev/sdf -
我对此完全陌生,不完全确定发生了什么,但这看起来不太有希望>>
> sudo fsck /dev/sdf
来自 util-linux-ng 2.17.2 的 fsck
e2fsck 1.41.12(2010 年 5 月 17 日)
fsck.ext4:超级块无效,正在尝试备份块...
fsck.ext4:尝试打开 /dev/sdf 时超级块中的错误幻数
无法读取超级块或未描述正确的 ext2
文件系统。如果设备有效并且确实包含 ext2
文件系统(而不是交换或 ufs 或其他东西),然后是超级块
已损坏,您可以尝试使用备用超级块运行 e2fsck:
e2fsck -b 8193
运行 fdisk -l /dev/sdf... 时我收到>>
sudo fdisk -l /dev/sdf 磁盘 /dev/sdf:8589 MB,8589934592 字节 255 个磁头,63 个扇区/磁道,1044 个柱面 单位 = 16065 * 512 = 8225280 字节的柱面 扇区大小(逻辑/物理):512 字节/512 字节 I/O 大小(最小/最佳):512 字节/512 字节 磁盘标识符:0x00000000 磁盘 /dev/sdf 不包含有效的分区表
更多信息运行后:
> 须藤 mke2fs -n …
最近我们在运行嵌入式 Linux 系统的 ext3 格式的闪存卡上遇到了一个问题(坏块)。启动时,启动了根文件系统检查,但它似乎挂起,因为它比平时花费的时间要长得多。后来我将卡插入另一台 PC 并检测到坏块。我现在想知道如果我等待的时间足够长,初始根文件系统检查是否也会发现修复的块。为了找到它,我检查了 tune2fs 和 e2fsck 手册页,但找不到我的问题的答案:
我可以影响使用这些自动根文件系统检查执行的检查/修复吗?如果是,我该如何配置它?
如果无法配置:究竟检查或修复了什么,默认设置是什么,自动检查使用哪些标志?
我在托管设施中运行 Ubuntu 8.04 机器的机器上遇到文件系统问题。曾经的目录现在看起来像这样:
b--xr-SrwT 52 825452087 876163170 56, 97 2021-10-10 05:43 58
Run Code Online (Sandbox Code Playgroud)
这是缓存数据,所以我不介意数据丢失,我只想修复文件系统。问题是,这是根文件系统,所以我不能卸载它来运行 fsck。
所以我的问题是:如何在根文件系统上运行 fsck 而不必一直开车到托管中心?
基本问题:
fsck 需要多长时间才能修复具有多重声明块的 100GB(1700 万块)文件?
问题的长版本:
UPS 故障后,我遇到了一台 Ubuntu 10.04 服务器,该服务器在初始启动时陷入 fsck 状态。这是正常的,通常购买大约半小时通过同意提示修复各种问题就足以让服务器恢复。
不过今天不行。今天,我看到一个巨大的数字列表在控制台矩阵式上滚动了好几分钟。基本上是一行又一行:
Multiply-claimed blocks in inode xxxxxxxxx
不管怎样,经过几分钟的滚动,它终于平静下来,我得到了:
Pass 1C: Scanning directories for inodes with multiply-claimed blocks
其次是...
Pass 1D: Reconciling multiply-claimed blocks
..和..
(There are 32 inodes containing multiply-claimed blocks.)
这听起来并没有那么糟糕,但随后它开始检查一些文件,如下所示:
File /path/to/a/file
has 1 multiply-claimed block(s) shared with 1 file(s):
/path/to/another/file
Clone multiply-claimed blocks? yes
这个问题已经为我解答了,这个过程还在继续。然而,这花了非常非常长的时间。即使只是一个 2MB 的文件,也花了好几个小时。
之后,出现了类似的对话,但这次是针对一个100GB 的虚拟机映像文件,报告为超过 1700 万个多重声明的块,与 0 个文件共享。
那是两天前的事了,现在仍在运行。
那么,回到我最初的问题,这需要多长时间?这是一个失败的原因吗?是否有其他方法可以解决这个问题?我真正不明白的是为什么 100GB 文件被报告为与 0 个文件共享,如果我正确理解多重声明块的含义,这是一个矛盾。
该mountall将手册页说:“这是一个临时的工具,直到的init(8)本身”可以做到这一点,基本上是这样。为什么不直接使用 mount -a?两者之间有区别吗,如果有,我应该使用哪个?
因此,我的硬盘驱动器运行缓慢,在检查我的系统日志后,我发现了所有这些错误。一些谷歌搜索使我尝试在驱动器上运行 e2fsck -c -c。所以,它现在已经进行了大约 2 天,并且似乎接近完成。但是,它是这样说的:
e2fsck 1.42 (29-Nov-2011)
Checking for bad blocks (non-destructive read-write test)
Testing with random pattern: 92.64% done, 43:38:19 elapsed. (97/0/0 errors)
Run Code Online (Sandbox Code Playgroud)
这很酷。但是,97/0/0 意味着什么?我预计会丢失多少数据?(这是一个 3TB 的硬盘)(我想我可以等……以这种速度,我想是 3 个半小时,但我不确定它是否会告诉我 97 的含义,所以我想我想问。)
谢谢!
我们一直在部署无风扇 PC 进行研究。其中一些存在 HD 问题,因为它们的操作系统从 SD 卡运行。我看到我需要fsck一两个文件夹的情况。
我试过使用,shutdown -rF now但它似乎并没有做到这一点。系统日志中有注释说东西已修复,但似乎没有。此外,系统日志中的事件顺序听起来像是在 fsck 完成时操作系统已经完全启动(安装了 IE fs)。肯定不是什么好事。
关于解决此问题而无需拨打服务电话和更换设备的其他方法的任何建议?
操作系统:debian 6.x
注意:我确实看到了这个。给了我关闭命令的概念,但它似乎没有正常工作(或者我没有正确使用它)。