GNU/Linux >> Tutoriels Linux >  >> Cent OS

CentOS/RHEL :Le démontage d'un partage Windows échoue - "le périphérique est occupé"

Le problème

Impossible de démonter un point de montage de partage Windows à l'aide de la commande umount. Ce partage Windows n'est utilisé par aucun processus récemment. Lors de l'exécution de la commande umount, l'erreur suivante s'affiche :

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

La solution

L'erreur "démonter :l'appareil est occupé ' signifie que le point de montage est retenu par le serveur pour une raison quelconque. Une commande lsof est exécutée pour trouver des descripteurs de fichiers ouverts.

# 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

Ce PID n'a pas pu être tué même avec la commande 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

Un processus rsync qui écrit sur ce point de montage est toujours à l'état D en raison d'un bloc d'E/S qui s'est produit il y a quelque temps.

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

Comme ce processus est dans un état de veille ininterruptible, ce processus n'a pas pu être tué. C'est la raison pour laquelle il n'est pas en mesure de démonter le partage Windows du serveur.

L'état D les processus n'ont pas pu être tués à l'aide de la commande kill car ils ressemblent à des entrées orphelines dans la liste des processus sans parent. Il est donc recommandé de redémarrer le serveur pour tuer de tels processus d'état D.

Si un redémarrage n'est pas possible pour le moment comme dans le cas des serveurs de production, attendez que l'IO redevienne disponible pour que le processus se réveille et se termine. Cependant, il n'est pas recommandé d'attendre plus d'un mois car la charge du serveur peut augmenter progressivement s'il y a plus de processus à l'état D sur le serveur.


Cent OS
  1. Comment installer et configurer Device Mapper Multipath dans CentOS/RHEL 6,7

  2. Comment supprimer un disque ASM sur un périphérique multichemin dans CentOS/RHEL

  3. Comment supprimer un périphérique multichemin mort sans redémarrage dans CentOS/RHEL

  4. Le système de fichiers de partage CIFS n'est pas monté après le redémarrage sur CentOS/RHEL 7

  5. CentOS / RHEL :Comment trouver l'UUID d'un périphérique ou d'un système de fichiers

Vérifier l'adresse IP CentOS/RHEL

Comment installer Fedora/RHEL/CentOS via kickstart sur un appareil LUKS existant

Comment intégrer RHEL 7 ou CentOS 7 avec Windows Active Directory

Comment connecter une machine Windows avec RDP à partir de la console CentOS 7 / RHEL 7

Le démontage d'un partage Windows échoue sous Linux

monter le partage Windows distant à partir de centos