GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Das Unmounten einer Windows-Freigabe schlägt unter Linux fehl

Das Problem

Bereitstellung eines Windows-Freigabe-Bereitstellungspunkts mit dem Befehl umount nicht möglich. Diese Windows-Freigabe wird in letzter Zeit von keinem Prozess verwendet.

Beim Ausführen des umount-Befehls wird folgender Fehler angezeigt:

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

Die Lösung

Der Fehler „umount:device is busy“ bedeutet, dass der Einhängepunkt aus irgendeinem Grund vom Server aufgehalten wird. Ein lsof-Befehl wird ausgeführt, um einige offene Dateideskriptoren zu finden.

# 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

Diese PID konnte auch mit dem Kill-Befehl nicht getötet werden.

# 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

Wenn diese Option aktiviert ist, befindet sich ein rsync-Prozess, der auf diesen Einhängepunkt schreibt, aufgrund einer vor einiger Zeit aufgetretenen E/A-Sperre immer noch im D-Zustand.

# 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/

Da sich dieser Prozess im unterbrechungsfreien Ruhezustand befindet, konnte dieser Prozess nicht beendet werden. Aus diesem Grund ist es nicht möglich, die Windows-Freigabe vom Server abzuhängen.

Der D-Zustand Prozesse konnten nicht mit dem Kill-Befehl beendet werden, da diese wie verwaiste Einträge in der Prozessliste ohne Eltern sind. Daher wird empfohlen, einen Serverneustart durchzuführen, um solche D-State-Prozesse zu beenden.

Wenn ein Neustart im Moment nicht möglich ist, wie bei Produktionsservern, warten Sie, bis das IO wieder verfügbar ist, damit der Prozess aufwacht und abgeschlossen wird. Es wird jedoch nicht empfohlen, länger als einen Monat zu warten, da die Serverlast allmählich ansteigen könnte, wenn es mehr solcher D-State-Prozesse auf dem Server gibt.


Linux
  1. Linux – Dateien zwischen Linux-Host und Windows-Gast teilen?

  2. Linux vs. Windows-Hosting

  3. CentOS/RHEL:Unmounten einer Windows-Freigabe schlägt fehl – ​​„Gerät ist ausgelastet“

  4. Mounten einer Windows-Freigabe im Windows-Subsystem für Linux

  5. exFAT vs. NTFS unter Linux

Die 5 besten Linux-Betriebssysteme zum Ersetzen von Windows XP

6 Linux-Distributionen zum Ersetzen von Windows 10 &7

Installieren Sie Dropbox, um Dateien zwischen Linux und Windows auszutauschen

So führen Sie Windows 95 unter Linux aus

So teilen Sie Steam-Spieldateien zwischen Linux und Windows

Linux vs. Windows-Sicherheit