Mir ist klar, dass dies eine alte Frage ist und der ursprüngliche Poster glaubte, dass SAMBA das Problem war, aber ich hatte genau dasselbe Problem und denke, dass das Problem sehr wahrscheinlich nicht SAMBA war (ich habe eigentlich nicht einmal SAMBA), da dies der Fall war nicht in lsof auftauchen ausgegeben, sondern der Benutzer befand sich bereits im RAID-Mount-Point-Verzeichnis, als er zu root wechselte oder ein sudo ausführte.
In meinem Fall bestand das Problem darin, dass ich meine Root-Shell gestartet habe, als sich mein normaler Benutzer in einem Verzeichnis befand, das sich auf diesem gemounteten /dev/md127 befand fahren.
[email protected]:/mnt/md127_content/something$ su -
[email protected]:~# umount /dev/md127
umount: /dev/md127: target is busy
Hier ist die Ausgabe von lsof in meinem Fall:
[email protected]:[email protected]:~# lsof | grep /dev/md127
md127_rai 145 root cwd DIR 253,0 4096 2 /
md127_rai 145 root rtd DIR 253,0 4096 2 /
md127_rai 145 root txt unknown /proc/145/exe
Obwohl lsof | grep md125 zeigte keine Prozesse außer [md127_raid1] , ich konnte /dev/md127 nicht unmounten . Und während umount -l /dev/md127 verbirgt /dev/md127 aus der Ausgabe von mount , das Laufwerk ist anscheinend noch beschäftigt, und wenn mdadm --stop /dev/md127 versucht wird, wird derselbe Fehler angezeigt:
mdadm: Cannot get exclusive access to /dev/md127:Perhaps a running process, mounted filesystem or active volume group?
LÖSUNG ist einfach:Überprüfen Sie, ob Benutzer angemeldet sind, die sich noch in einem Verzeichnis auf diesem Laufwerk befinden. Überprüfen Sie insbesondere, ob die von Ihnen verwendete Root-Shell gestartet wurde, als sich das aktuelle Verzeichnis Ihres regulären Benutzers auf diesem Laufwerk befand. Wechseln Sie zu dieser Benutzer-Shell (vielleicht nur exit Ihre Wurzel soll), woanders hingehen und umount und mdadm --stop funktioniert:
[email protected]:~# exit
[email protected]:/mnt/md127_content/something$ cd /
[email protected]:/$ su -
[email protected]:~# umount /dev/md127
[email protected]:~# mdadm --stop /dev/md127
mdadm: stopped /dev/md127
Wenn Sie LVM zusätzlich zu mdadm verwenden, löscht LVM manchmal die Device Mapper-Geräte nicht, wenn die Volumengruppe deaktiviert wird. Sie können es manuell löschen.
- Stellen Sie sicher, dass die Ausgabe von
sudo vgdisplaynichts enthält . - Schauen Sie in
/dev/mapper/nach . Abgesehen voncontrol-Datei sollte ein Device Mapper-Gerät vorhanden sein, das nach Ihrer Volume-Gruppe benannt ist, z.VolGroupArray-name. - Führen Sie
sudo dmsetup remove VolGroupArray-nameaus (Ersetzen vonVolGroupArray-namemit dem Namen des Device-Mapper-Geräts). - Sie sollten jetzt
sudo mdadm --stop /dev/md0ausführen können (oder wie auch immer der Name desmdadmlautet Gerät ist).
Ich hatte ähnliche Probleme, aber ich hatte das Raid-Gerät in keiner Weise montiert. Auch das Anhalten von SAMBA schien nicht zu helfen. lsof nichts angezeigt.
Alles führte einfach zu:
# mdadm --stop /dev/md2
mdadm: Cannot get exclusive access to /dev/md2:Perhaps a running process, mounted filesystem or active volume group?
Was es schließlich für mich behoben hat, war, mich daran zu erinnern, dass dies eine Swap-Partition war - also musste ich nur swapoff /dev/md2 - das erlaubte mir mdadm --stop /dev/md2 erfolgreich.