GNU/Linux >> Znalost Linux >  >> Cent OS

CentOS/RHEL:Odpojení sdílené složky Windows se nezdaří – „zařízení je zaneprázdněno“

Problém

Nelze odpojit přípojný bod sdílení Windows pomocí příkazu umount. Tuto sdílenou složku Windows v poslední době nepoužívají žádné procesy. Při provádění příkazu umount se zobrazí následující chyba;

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

Řešení

Chyba „umount:device is busy “ znamená, že přípojný bod je z nějakého důvodu zdržen serverem. Provede se příkaz lsof k nalezení některých otevřených deskriptorů souborů.

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

Toto PID nebylo možné zabít ani pomocí příkazu kill.

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

Proces rsync, který zapisuje do tohoto přípojného bodu, je stále ve stavu D kvůli IO bloku, ke kterému došlo před nějakou dobou.

# 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/ /data01/primdb/rman/

Protože je tento proces ve stavu nepřerušitelného spánku, nebylo možné jej ukončit. To je důvod, proč není možné odpojit sdílenou složku Windows ze serveru.

Stav D procesy nelze zabít pomocí příkazu kill, protože se jedná o osiřelé položky v seznamu procesů bez rodiče. Doporučuje se tedy provést restart serveru pro zabití všech takových procesů ve stavu D.

Pokud není restart v tuto chvíli možný jako v případě produkčních serverů, počkejte, až bude IO opět k dispozici, aby se proces probudil a dokončil. Nedoporučuje se však čekat déle než měsíc, protože zatížení serveru může postupně stoupat, pokud je na serveru více takových procesů ve stavu D.


Cent OS
  1. Jak nainstalovat VirtualBox 4.1 na CentOS 5 / RHEL 5

  2. Jak nastavit vlastní názvy zařízení pomocí udev v CentOS/RHEL 7

  3. Jak nainstalovat a nakonfigurovat Device Mapper Multipath v CentOS/RHEL 6,7

  1. Jak odstranit ASM disk na vícecestném zařízení v CentOS/RHEL

  2. Jak odstranit mrtvé zařízení Mulitpath bez restartu v CentOS/RHEL

  3. CentOS / RHEL :Jak odstranit šifrované zařízení LUKS

  1. Nainstalujte VirtualBox 4.2 na CentOS 6 / RHEL 6

  2. Jak změnit název zařízení NIC v CentOS / RHEL 6

  3. Odpojení sdílené složky Windows v systému Linux se nezdaří