Linux NFSマウントディレクトリをアンマウントできない
現象
NFSマウントを解除しようとしたときに下記のようなエラーが起きた。
# umount /mnt/testumount.nfs: /mnt/test: device is busyumount.nfs: /mnt/test: device is busyumount.nfs: /mnt/test: device is busy# umount -f /mnt/testumount2: Device or resource busyumount.nfs: /mnt/test: device is busyumount2: Device or resource busyumount.nfs: /mnt/test: device is busyumount2: Device or resource busyumount.nfs: /mnt/test: device is busy |
調査
lsofコマンドで、開いているファイルのプロセスを特定できる。
PortやPID、プロセス名からファイルがオープンしている情報を表示するコマンド。
PortやPID、プロセス名からファイルがオープンしている情報を表示するコマンド。
# lsof|grep '/mnt/test'clamd 2690 root 28r DIR 0,21 4096 96 /mnt/test (192.168.1.2:******)clamd 2690 root 29r DIR 0,21 4096 388731 /mnt/test/a (192.168.1.2:******)clamd 2690 root 30r DIR 0,21 4096 388732 /mnt/test/a/20150226 (192.168.1.2:******)clamd 2690 root 31r DIR 0,21 4096 388748 /mnt/test/a/20150226/var (192.168.1.2:******)・・・ |
※また、fuserをつかっても同様なことが可能。
fuser:ファイルやソケットを使用しているプロセスを特定できる。
上記の場合だと下記のように出力される。
fuser:ファイルやソケットを使用しているプロセスを特定できる。
上記の場合だと下記のように出力される。
# fuser -va /mnt/test USER PID ACCESS COMMAND/mnt/test: root 2690 ...e. clamd |
解決
clamdをkillするか停止して、再度umountすればOK.
※参考にさせていただきました。ありがとうございます!