如何清理未处理的孤立inode列表?


17

我试图挂载一个以前只读的可读写文件系统:

mount -o remount,rw /mountpoint

不幸的是,它不起作用:

mount: /mountpoint not mounted already, or bad option

dmesg 报告:

[2570543.520449] EXT4-fs (dm-0): Couldn't remount RDWR because of unprocessed orphan inode list.  Please umount/remount instead

A umount也不起作用:

umount /mountpoint
umount: /mountpoint: device is busy.
    (In some cases useful info about processes that use
     the device is found by lsof(8) or fuser(1))

不幸的是lsoffuser这两个都没有显示任何进程正在访问安装点下的内容。

所以-我如何清理这个未处理的孤儿列表,以便能够在不重新引导计算机的情况下再次挂载文件系统?


1
你有尝试过fuser -km /mountpoint吗?但是请注意,-k标志将杀死所有访问该目录的进程。
理查德·凯勒2012年

您能否提供更多有关dm-0组成的见解?
thinice

我有感觉,我知道最新情况,但是您能告诉我,文件系统最初是rw,是由于ata错误或其他原因重新安装了ro,现在又在尝试再次rw?
马修·伊夫

@Mlfe:文件系统以前ro是有意重新挂载的。这是LVM上的文件系统,其中包含每日备份快照,该快照将rw在备份操作期间和ro完成备份后设置为。
bmk'7

Answers:


6

您可以通过卸载和重新挂载文件系统来清理未处理的孤立inode列表。

linux-ext4邮件列表中的扩展讨论提供了有关此消息的含义及其出现原因的更多信息。简而言之,发生了两件事之一:您遇到了内核错误,或者更有可能是,在以前的几次以只读方式重新安装文件系统时发生了文件系统损坏。这可能是系统认为没有文件时仍在使用文件系统的原因。

如果已经一年了,但您仍然没有重新启动计算机,则只需放弃并安排维护窗口即可。


同时,我安排了一个维护时段并重新启动了计算机。这就解决了问题(我什么也没想到...)。我会接受你的回答。也许您是对的,但有一些文件系统损坏-尽管我无法证明这一点。
2012年

25

如果您使用的是ext2 / ext3 / ext4,则应该可以e2fsck用来清理孤立的inode:

e2fsck -f

对于reiserfs,可以使用reiserfsck它还清理孤立的inode。


不确定为什么要对此投票否决,也许可以为此次投票否决提供理由?运行e2fsck会清理孤立的inode,您会在控制台输出中看到clearing orphaned inode XXXXXXXX是inode编号的地方。您可以轻松运行e2fsck,而无需重新启动系统。运行e2fsck之后,您应该能够重新挂载该分区。
理查德·凯勒2012年

2
非常感谢。..我花了数小时来找出错误。进行'e2fsck -f / dev / sda1'修复了我的孤立节点以及其他一些问题。我只是对所有人说是,现在可以正常工作:)
whitehat

1
非常感谢!!。在未成功安装新的VirtualBox版本后,您的命令将修复了只读的VirtualBox VM光盘:sudo e2fsck -f / dev / sda1
nine9five

2
完美,在根分区上为我工作。接受的答案(重新引导)不能单独工作。我确实必须在e2fsck之后重新启动,所以看来您仍然需要维护窗口。
亚当斯

1
比被接受的答案更好的答案。这对于我的VPS来说效果很好。发现了很多错误并进行了修复,然后重新启动,一切都再次运行。拯救了我的一天。
Brain Foo Long

6

e2fsck -f <mount point> 将无法正常工作。

首先用

sudo mount -l

然后直接fsck驱动器。

以我为例

sudo e2fsck -f /dev/xvda2

当您用Google搜索问题并在stackoverflow上找到自己的解决方案时。我的生活到此结束。
Ganesh Krishnan

1

我建议先强制卸载分区,即使用-f选项,然后使用fsck运行文件系统检查。


1
不幸的是umount -f也没有成功。错误消息与纯文本相同umount
bmk

1

您可能应该尝试延迟卸载,即:

umount -l
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.