GNU/Linux >> Linux の 問題 >  >> Linux

Linux で Windows 共有のアンマウントが失敗する

問題

umount コマンドを使用して Windows 共有マウント ポイントをアンマウントできません。この Windows 共有は最近どのプロセスでも使用されていません。

umount コマンドを実行すると、次のエラーが表示されます。

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

解決策

「umount:device is busy」というエラーは、マウント ポイントが何らかの理由でサーバーによって停止されていることを意味します。開いているファイル記述子を見つけるために、lsof コマンドが実行されます。

# lsof /mycloud/
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 39176 oracle cwd DIR 0,25 0 54427649 /mycloud/primdb/rman
rsync 39176 oracle 1r REG 0,25 6678585344 54428135 /mycloud/primdb/rman/.RMDBPRD_LVL0_20170910_s145161_p1.WxJoHy (deleted)
rsync 39176 oracle 3u REG 0,25 5449449472 54428147 /mycloud/primdb/rman/.RMDBPRD_LVL0_20170910_s145161_p1.uqhidN

kill コマンドを使用しても、この PID を強制終了できませんでした。

# kill -9 39176
# lsof /mycloud/
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 39176 oracle cwd DIR 0,25 0 54427649 /mycloud/primdb/rman
rsync 39176 oracle 1r REG 0,25 6678585344 54428135 /mycloud/primdb/rman/.RMDBPRD_LVL0_20170910_s145161_p1.WxJoHy (deleted)
rsync 39176 oracle 3u REG 0,25 5449449472 54428147 /mycloud/primdb/rman/.RMDBPRD_LVL0_20170910_s145161_p1.uqhidN

チェックすると、このマウント ポイントに書き込む rsync プロセスは、しばらく前に発生した IO ブロックのために、まだ D 状態にあります。

# ps aux |grep rsync
root 30103 0.0 0.0 103304 804 pts/0 S+ 10:24 0:00 grep rsync
oracle 39176 0.0 0.0 110956 96 ? D Sep10 17:48 rsync -av --delete /eva/primdb/rman/ /mycloud/primdb/rman/

このプロセスは中断できないスリープ状態にあるため、このプロセスを強制終了できませんでした。これが、サーバーから Windows 共有をアンマウントできない理由です。

D 状態 プロセスは、親のないプロセス リスト内の孤立したエントリのようなものであるため、kill コマンドを使用して強制終了できませんでした。そのため、そのような D 状態のプロセスを強制終了するためにサーバーを再起動することをお勧めします。

本番サーバーの場合のように、現時点で再起動できない場合は、IO が再び使用可能になるまで待機して、プロセスが起動して完了するようにします。ただし、サーバーにこのような D 状態のプロセスが増えると、サーバーの負荷が徐々に上昇する可能性があるため、1 か月以上待つことはお勧めしません。


Linux
  1. CentOS/RHEL :Windows 共有のアンマウントに失敗 – 「デバイスがビジーです」

  2. Windows PC からリモート Linux サーバーに rsync を使用する方法は?

  3. Linux ボックスから Windows とインターネットを共有するにはどうすればよいですか?

  1. LinuxにリモートWindows共有をマウントする方法

  2. WINDOWS10をLINUXに変更する10の理由

  3. Linux – LinuxホストとWindowsゲスト間でファイルを共有しますか?

  1. LinuxとWindowsホスティング

  2. Windows Subsystem for Linux での Windows 共有のマウント

  3. Linux での exFAT と NTFS の比較