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 vgdisplay
nichts 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-name
aus (Ersetzen vonVolGroupArray-name
mit dem Namen des Device-Mapper-Geräts). - Sie sollten jetzt
sudo mdadm --stop /dev/md0
ausführen können (oder wie auch immer der Name desmdadm
lautet 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.