umountできないときに確認すること

AWSのEC2のAmazonLinuxのサーバで、ディスクのumountができなかったときの解決方法をメモします。

mountとumountのコマンド

こんな感じで、調査用の読み取り専用でマウントしました。

mount -r /dev/mount /mnt/mount

調査完了後、このディスクを下記のコマンドでアマウントしました。

umount /dev/mount

すると、以下のエラーが発生してアマウントできませんでした。

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

umountできないときの解決方法

umountコマンドでbusyが出ていたので、何らかのプロセスがディスクを掴んでいて解除できない、ということになります。
そんなときは、どんなプロセスが掴んでいるかを確認しましょう。

# fuser -muv /dev/mount
USER PID ACCESS COMMAND
/dev/md127: root kernel mount (root)/mnt/mount
root 17694 ..c.. (root)bash

この例の場合、プロセス番号「17694」が掴んでいるということになります。
対象プロセスを停止するか、killしてしまえばumountができるようになります。

ちなみに、このときの私は自分のターミナルでマウントされたディレクトリにcdしていた、という自作自演でした・・・

コメント

タイトルとURLをコピーしました