El problema
No se puede desmontar un punto de montaje compartido de Windows mediante el comando de desmontaje. Este recurso compartido de Windows no está siendo utilizado por ningún proceso recientemente.
Al ejecutar el comando umount, se ve el siguiente error;
# umount: /mycloud: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
La solución
El error "umount:el dispositivo está ocupado" significa que el servidor está reteniendo el punto de montaje debido a algún motivo. Se ejecuta un comando lsof para encontrar algunos descriptores de archivos abiertos.
# 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
Este PID no se pudo eliminar incluso con el comando de eliminación.
# 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
Cuando está marcado, un proceso rsync que escribe en este punto de montaje todavía está en estado D debido a un bloqueo de E/S que ocurrió hace algún tiempo.
# 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/
Como este proceso está en estado de suspensión ininterrumpida, este proceso no se pudo eliminar. Esta es la razón por la que no puede desmontar el recurso compartido de Windows del servidor.
El estado D los procesos no se pueden eliminar con el comando kill, ya que son como entradas huérfanas en la lista de procesos sin un padre. Por lo tanto, se recomienda reiniciar el servidor para eliminar cualquier proceso de estado D.
Si no es posible reiniciar en este momento, como en el caso de los servidores de producción, espere hasta que el IO vuelva a estar disponible para que el proceso se despierte y se complete. Sin embargo, no se recomienda esperar más de un mes, ya que la carga del servidor podría aumentar gradualmente si hay más procesos de estado D en el servidor.