Soy un usuario desde hace mucho tiempo y soy el que envía preguntas por primera vez. He pasado un día completo buscando una solución en este y muchos otros sitios, pero debo recurrir a solicitar asistencia para resolver mi situación.
Historia: Nuestro servidor HP Proliant, Centos 5.9 se apagó ayer sin los procedimientos de apagado adecuados. A partir de ese momento, la partición / home ha estado en un estado en el que no podemos fsck, montarla o desmontarla. umount indica que no está montado, pero mount / fsck indica que está ocupado o ya está montado. Originalmente, esto provocó que el servidor no se iniciara. Finalmente, eliminamos el disco / partición de / etc / fstab para que el arranque no fallara.
# mount -t ext3 /dev/cciss/c0d0p1 /home
mount: /dev/cciss/c0d0p1 already mounted or /home busy
# fsck /dev/cciss/c0d0p1
fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
fsck.ext3: Device or resource busy while trying to open /dev/cciss/c0d0p1
Filesystem mounted or opened exclusively by another program?
Como puede ver, el disco no está montado de ninguna manera.
salida df:
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/cciss/c0d1p3 198381228 24920704 163220696 14% /
/dev/cciss/c0d1p2 267818128 191652 253802544 1% /logs
/dev/cciss/c0d1p1 194442 33575 150828 19% /boot
tmpfs 49495044 0 49495044 0% /dev/shm
salida de montaje:
# mount
/dev/cciss/c0d1p3 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/cciss/c0d1p2 on /logs type ext3 (rw)
/dev/cciss/c0d1p1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/ etc / fstab
# cat /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/logs /logs ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SW-cciss/c0d1p5 swap swap defaults 0 0
/ etc / mtab
# cat /etc/mtab
/dev/cciss/c0d1p3 / ext3 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
/dev/cciss/c0d1p2 /logs ext3 rw 0 0
/dev/cciss/c0d1p1 /boot ext3 rw 0 0
tmpfs /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
/ proc / monturas
# cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / ext3 rw,data=ordered 0 0
/dev /dev tmpfs rw 0 0
/proc /proc proc rw 0 0
/sys /sys sysfs rw 0 0
/proc/bus/usb /proc/bus/usb usbfs rw 0 0
devpts /dev/pts devpts rw 0 0
/dev/cciss/c0d1p2 /logs ext3 rw,data=ordered 0 0
/dev/cciss/c0d1p1 /boot ext3 rw,data=ordered 0 0
tmpfs /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
/etc/auto.misc /misc autofs rw,fd=7,pgrp=9694,timeout=300,minproto=5,maxproto=5,indirect 0 0
-hosts /net autofs rw,fd=13,pgrp=9694,timeout=300,minproto=5,maxproto=5,indirect 0 0
lsof
# lsof /dev/cciss/c0d0p1
#
fusor
# fuser /dev/cciss/c0d0p1
#
fdisk -l
# fdisk -l /dev/cciss/c0d0
Disk /dev/cciss/c0d0: 1800.2 GB, 1800280694784 bytes
255 heads, 63 sectors/track, 218871 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/cciss/c0d0p1 * 1 218871 1758081276 83 Linux
Según otras recomendaciones en la web, hemos utilizado el Terminal Remoto ILO3 para arrancar desde un LiveCD de Centos. Cuando hicimos esto, pudimos montar / desmontar, fsck, la partición sin ningún error o problema. (es decir: el disco en sí está bien).
También usamos "debugfs" para realizar un borrado de inodo para el Journal Inode <8>. fsck luego reconstruyó el diario sin error. Nuevamente, pudimos montar / desmontar el disco sin ningún problema cuando arrancamos en el LiveCD.
Cuando volvimos a la partición de arranque normal, volvimos al mismo lugar, incapaz de montar o fsck debido a que el sistema operativo cree que la partición está ocupada.
Estoy buscando entender qué más dentro de Linux podría estar indicando que este disco está en uso. ¿Qué otras utilidades se pueden usar para encontrar esto y borrarlo?
Cualquier ayuda es muy apreciada.
Información adicional, según lo solicitado :
lsof y fuser on / home, junto con mostrar / home contenidos y permisos de directorio.
# lsof /home
# fuser /home
# ls -la /home
total 16
drwxr-xr-x 2 root root 4096 Mar 15 2013 .
drwxr-xr-x 27 root root 4096 Nov 19 08:31 ..
# ls -l / | grep home
drwxr-xr-x 2 root root 4096 Mar 15 2013 home
#
El montaje -o remontado falla, ya que esta partición no se ha montado desde el arranque más reciente. (Esta era una partición funcional desde que se instaló el servidor, y solo mostró este problema después del reinicio completo ayer).
# mount -o remount -t ext3 /dev/cciss/c0d0p1 /home
mount: /home not mounted already, or bad option
Podría volver a agregar esta partición a / etc / fstab y reiniciar si es necesario.
2013/11/19 11:12 am CST
salida de dmsetup:
# dmsetup table
mpath0: 0 3516173232 multipath 1 queue_if_no_path 0 1 1 round-robin 0 1 1 104:0 1000
mpath0p1: 0 3516162552 linear 253:0 63
# dmsetup info
Name: mpath0
State: ACTIVE
Read Ahead: 256
Tables present: LIVE
Open count: 1
Event number: 1
Major, minor: 253, 0
Number of targets: 1
UUID: mpath-3600508b1001cb6e6453d25c4052abca5
Name: mpath0p1
State: ACTIVE
Read Ahead: 256
Tables present: LIVE
Open count: 0
Event number: 0
Major, minor: 253, 1
Number of targets: 1
UUID: part1-mpath-3600508b1001cb6e6453d25c4052abca5
lsof -n
# lsof -n | grep /home
#
Solución final:
# multipath -ll
mpath0 (3600508b1001cb6e6453d25c4052abca5) dm-0 HP,LOGICAL VOLUME
[size=1.6T][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=1][active]
\_ #:#:#:# cciss!c0d0 104:0 [active][ready]
# multipath -F
# multipath -ll
#
# mount -t ext3 /dev/cciss/c0d0p1 /home
# cat /proc/mounts | grep home
/dev/cciss/c0d0p1 /home ext3 rw,data=ordered 0 0
mount -o remount /home
? Además, comprobaría si / home está realmente vacío cuando el sistema de archivos no está montado (eso no debería ser un problema, pero ¿quién sabe?) Y buscaría cualquier mensaje aplicable en los registros del sistema, incluidosdmesg
.lsof -n | grep /home
? AFAIK lsof / home busca un proceso con / home abierto, pero no informa el uso de subdirectorios.Respuestas:
Probablemente esté en uso por el mapeador de dispositivos.
Verifique su tabla de mapeador de dispositivos usando
dmsetup table
. Si está allí, borre la asignación condmsetup remove <name>
.Si no, busque errores
dmesg
también.¡Ah ah! multipath ha reclamado el disco. Puedes ver corriendo
multipath -ll
.Ejecutar:
multipath -F
para eliminar todos los mapas no utilizados, nomultipath -ll
debería generar nada.O simplemente use en
/dev/mapper/mpath0p1
lugar de/dev/cciss/c0d0p1
.fuente
# dmsetup table mpath0: 0 3516173232 multipath 1 queue_if_no_path 0 1 1 round-robin 0 1 1 104:0 1000 mpath0p1: 0 3516162552 linear 253:0 63
En relación con el proceso de solución de problemas, cuando intente lsof o fusor, no solo verifique la partición relevante, verifique directamente en el disco. Esto rápidamente lo habría dirigido a la solución correcta:
Malo:
Bueno:
Malo:
Bueno:
fuente
Acabo de encontrar esto después de clonar un SAN LUN existente en un nuevo servidor. Mi solución fue:
mount -o remount,rw /dev/sda1
(donde sda1 es lo que sea que esté teniendo problemas)/etc/blkid/blkid.tab
El servidor se inició después.
fuente
Hablando de mis propias experiencias. Compruebe también su fstab, para asegurarse de que está intentando montar el dispositivo como su volumen lógico y no el alias que le dio o está usando off / etc / multipath / bindings.
fuente