LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

Esto es algo que siempre me pasa y nunca me acuerdo de cómo solucionarlo. Hoy he recibido una alerta de uno de mis servidores, MySQL se había parado y no podía reiniciarse. Al entrar a la máquina para hacerlo manualmente, en efecto, me decía que no podía, que los archivos eran de sólo lectura  . Después de hacer alguna comprobación más me doy cuenta de que la unidad entera se había quedado en algún estado extraño de sólo lectura a pesar de que el mount indicaba lo contrario.

[javier@servidor ~]# df -h
.ficheros     Tamaño Usados  Disp Uso% Montado en
devtmpfs         1,9G      0  1,9G   0% /dev
tmpfs            1,9G    80M  1,8G   5% /dev/shm
tmpfs            1,9G   1,5M  1,9G   1% /run
tmpfs            1,9G      0  1,9G   0% /sys/fs/cgroup
/dev/sda3         70G    24G   42G  37% /
tmpfs            1,9G    24K  1,9G   1% /tmp
/dev/sda2        385G   363G  2,6G 100% /home
/dev/sda1        674M   195M  431M  32% /boot
tmpfs            384M   168K  384M   1% /run/user/1004
encfs            385G   363G  2,6G 100% /home/javier/bin/sbin
encfs            385G   363G  2,6G 100% /home/javier/dwhelper/dwhelper
/dev/sdb2        472G   334G  115G  75% /run/media/javier/LINUXPART

Decido entonces desmontar la unidad y volver a montarla, pero…

[javier@servidor ~]# umount /mnt/unidad umount
/mnt/unidad: device is busy

Y aquí viene el problema. Había parado, en teoría, todos los servicios que utilizaban esa unidad, pero aún así me daba este error. Podría haber forzado el umount con:

umount -l /dev/hdX

Pero prefiero saber qué es lo que está ocupando la unidad antes de forzarlo, cuestión de precaución sólo. Necesitamos saber, entonces, qué procesos están haciendo uso de la unidad que queremos desmontar, y esto es lo importante de este artículo.

[javier@servidor ~]# fuser -vm /dev/hdb1
                     USER        PID ACCESS COMMAND /dev/hdb1:           named       456 ..c.. named                      mysql       587 F.c.. mysqld                      apache     1113 F.... httpd                      root       1925 ..c.. screen                      root       1926 ..c.. bash                      apache     8009 F.... httpd                      apache     9267 F.... httpd

Con este sencillo comando de fuser ya sabemos quién accede a la unidad en cuestión. En mi caso era un script de bash que estaba abierto y un rsync. Los paré (los puedes detener con kill) y ya pude desmontar la unidad correctamente. Al volver a montarla todo comenzó a funcionar correctamente.

Si algún proceso está usando el sistema de archivo se le mata y ya está. (Bajo tu responsabilidad)

kill -9 1113

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías