未処理の孤立したiノードリストをクリーンアップする方法は?


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フラグはそのディレクトリにアクセスするすべてのプロセスを強制終了します。
リチャードケラー

dm-0の構成要素についてもう少し洞察を提供できますか?
-thinice

私は何が起こっているのかを知っていますが、ファイルシステムは元々rwで、(エラーなどが原因で)再マウントされていましたか?
マシューイフェ

@Mlfe:ファイルシステムは以前roは目的によって再マウントされていました。これは、rwバックアップ操作中およびroバックアップ終了後に設定される毎日のバックアップスナップショットを保持するLVM上のファイルシステムです。
bmk

回答:


6

ファイルシステムをアンマウントして再マウントすることにより、未処理の孤立したiノードリストをクリーンアップします。

拡張された議論のlinux-ext4のメーリングリストからこのメッセージがあると、なぜそれが見えるかもしれないものについてのより多くの情報を持っています。要するに、カーネルバグに遭遇したか、ファイルシステムを読み取り専用で再マウントした前回のいずれかで、ファイルシステムの破損が発生した可能性が高いという2つのことが発生しました。おそらく、システムがファイルシステムを使用していないのにまだ使用しているとシステムが考える理由です。

1年が経過してもまだマシンをリブートしていない場合は、あきらめてメンテナンスウィンドウをスケジュールしてください。


その間、メンテナンスウィンドウをスケジュールし、マシンを再起動しました。これで問題は解決しました(他に何も期待していませんでした...)。あなたの答えを受け入れます。おそらく、ファイルシステムの破損があったことは間違いありませんが、それを証明することはできません。
bmk

24

ext2 / ext3 / ext4を使用e2fsckしている場合は、孤立したiノードをクリーンアップするために使用できるはずです。

e2fsck -f

reiserfsの場合、これを使用reiserfsckして、孤立したiノードもクリーンアップできます。


なぜこれがダウン投票されたのか定かではありませんが、おそらくダウン投票の理由を提供しますか?e2fsckを実行すると、孤立したiノードがクリーンアップされますclearing orphaned inode XXXX。XXXXはiノード番号としてコンソール出力に表示されます。システムを再起動せずにe2fsckを簡単に実行できます。e2fsckを実行した後、パーティションを再マウントできるはずです。
リチャードケラー

2
どうもありがとうございました。私はエラーを理解するのに何時間も費やします。「e2fsck -f / dev / sda1」を実行すると、他のいくつかの修正とともに、孤立ノードが修正されました。私はすべてに「はい」と言って、今はうまく動作します:)
ホワイトハット

1
どうもありがとう!!。あなたのコマンドは、新しいVirtualBoxバージョンのインストールが失敗した後、読み取り専用のVirtualBox VMディスクを修正しました:sudo e2fsck -f / dev / sda1
nine9five

2
パーフェクト、ルートパーティションで私のために働いた。受け入れられた回答(再起動)は単独では機能しませんでした。e2fsckの後に再起動する必要があったので、まだメンテナンスウィンドウが必要なようです。
AdamS

1
受け入れられたものよりも良い答え。それは私のVPSにとって完璧に機能しました。再起動してすべてが再び実行されるよりも、多くのエラーを見つけて修正しました。私の一日を救った。
ブレインフーロング

6

e2fsck -f <mount point> 動作しません。

最初にマウントポイントを見つけます

sudo mount -l

次に、ドライブを直接fsckします。

私の例

sudo e2fsck -f /dev/xvda2

問題をグーグルで検索して、stackoverflowで独自のソリューションを見つけたとき。私の人生はこれで完了です。
ガネーシュクリシュナン

1

まずパーティションを強制的にアンマウントすることをお勧めします。つまり、-fオプションを使用し、fsckを使用してファイルシステムチェックを実行します。


1
残念ながらumount -f、成功しませんでした。エラーメッセージは、プレーンの場合と同じumountです。
bmk

1

おそらく、レイジーアンマウントを試してください。

umount -l
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.