ハングしたマウントプロセスを強制終了する

ハングしたマウントプロセスを強制終了する

仮想マシン ドライブの容量が不足していたため、VM をシャットダウンし、lvextend を使用してボリュームを拡張しました。パーティション (ext3) のサイズを変更した後、e2fsck を実行したところ、エラーが見つかり、修正されました。残念ながら、efsck をもう一度実行すると、修正しなければならないエラーがさらにありました。e2fsck を 3 回実行した後、手動でスペースをクリーンアップするためにマウントしてみることにしました。マウントを試みましたが、マウント プロセスがハングしました。マウント プロセスを "kill -9" しようとしましたが、終了しませんでした。親プロセスを終了しましたが、これも終了しませんでした。

不正なマウント プロセスを強制終了する方法について何かアイデアはありますか?

いくつかの証拠:

ps -l 13292
FS UID PID PPID C PRI NI アドレス SZ WCHAN TTY 時間 コマンド
4 R 0 13292 1 99 85 0 - 17964 - ? 11:27 /dev/mapper/xen7-123p3 /tmp/p3/ をマウントします
lsof -p 13292
コマンド PID ユーザー FD タイプ デバイス サイズ/オフ ノード名
マウント 13292 ルート cwd DIR 9,2 4096 25264129 /root
マウント 13292 ルート rtd DIR 9,2 4096 2 /
マウント 13292 ルート txt REG 9,2 61656 2916434 /bin/mount
マウント 13292 ルート メモリ REG 9,2 144776 31457282 /lib64/ld-2.5.so
マウント 13292 ルート メモリ REG 9,2 1718232 31457284 /lib64/libc-2.5.so
マウント 13292 ルート メモリ REG 9,2 23360 31457291 /lib64/libdl-2.5.so
マウント 13292 ルート メモリ REG 9,2 43808 31457783 /lib64/libblkid.so.1.0
マウント 13292 ルート メモリ REG 9,2 247496 31457331 /lib64/libsepol.so.1
マウント 13292 ルート メモリ REG 9,2 95464 31457337 /lib64/libselinux.so.1
マウント 13292 ルート メモリ REG 9,2 154640 31457491 /lib64/libdevmapper.so.1.02
マウント 13292 ルート メモリ REG 9,2 17936 31457472 /lib64/libuuid.so.1.2
マウント 13292 ルート メモリ REG 9,2 56438208 12684878 /usr/lib/locale/locale-archive
マウント 13292 root 0u CHR 136,11 0t0 13 /dev/pts/11 (削除済み)
マウント 13292 ルート 1u CHR 136,11 0t0 13 /dev/pts/11 (削除済み)
マウント 13292 root 2u CHR 136,11 0t0 13 /dev/pts/11 (削除済み)
アンマウント -f /tmp/p3/
umount2: 無効な引数
umount: /tmp/p3/: マウントされていません

答え1

あらゆる可能性を試した後、最終的に再起動することにしました。残念ながら、このマウント プロセスを解放できなかったため、「shutdown -r」はハングしました。今後の参考までに、このように IO プロセスがハングしたときに強制的に再起動するには、次の操作を実行します。

    エコー 1 > /proc/sys/kernel/sysrq
    エコー b > /proc/sysrq-trigger

答え2

umount -lf (lazy force) は機能するはずです。それでも機能しない場合は、マシンを再起動する以外に解決策はないと思います。

答え3

ジョン、チェックhttp://en.wikipedia.org/wiki/Magic_SysRq_keyB を sysrq-trigger にエコーする前に、データの損失を避けるために完全な REISUB を実行することをお勧めします。

関連情報