Uvědomuji si, že toto je stará otázka a původní plakát se domníval, že problémem je SAMBA, ale zažil jsem přesně stejný problém a myslím si, že velmi pravděpodobně problém nebyl SAMBA (ve skutečnosti ani SAMBU nemám), protože to nebylo Nezobrazuje se v lsof výstup, ale uživatel už byl v adresáři přípojného bodu RAID, když přešel na root nebo provedl sudo.
V mém případě byl problém v tom, že jsem spustil svůj root shell, když byl můj běžný uživatel v adresáři umístěném na připojeném /dev/md127 řídit.
example@unixlinux.online:/mnt/md127_content/something$ su -
example@unixlinux.online:~# umount /dev/md127
umount: /dev/md127: target is busy
Zde je výstup lsof v mém případě:
example@unixlinux.online:example@unixlinux.online:~# 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
I když lsof | grep md125 neukázal žádné procesy kromě [md127_raid1] , nemohl jsem odpojit /dev/md127 . A zatímco umount -l /dev/md127 skrývá /dev/md127 z výstupu mount , disk je zřejmě stále zaneprázdněn, a když je mdadm --stop /dev/md127 pokusu, zobrazí se stejná chyba:
mdadm: Cannot get exclusive access to /dev/md127:Perhaps a running process, mounted filesystem or active volume group?
ŘEŠENÍ je jednoduché:zkontrolujte, zda jsou přihlášeni nějací uživatelé, kteří jsou stále v adresáři na tomto disku. Zejména zkontrolujte, zda byl kořenový shell, který používáte, spuštěn, když byl aktuální adresář vašeho běžného uživatele na této jednotce. Přepněte na tento uživatelský shell (možná jen exit váš root by měl), přesunout se někam jinam a umount a mdadm --stop bude fungovat:
example@unixlinux.online:~# exit
example@unixlinux.online:/mnt/md127_content/something$ cd /
example@unixlinux.online:/$ su -
example@unixlinux.online:~# umount /dev/md127
example@unixlinux.online:~# mdadm --stop /dev/md127
mdadm: stopped /dev/md127
Pokud používáte LVM nad mdadm, někdy LVM neodstraní zařízení Mapovač zařízení při deaktivaci skupiny svazků. Můžete jej odstranit ručně.
- Ujistěte se, že ve výstupu
sudo vgdisplaynení nic . - Podívejte se do
/dev/mapper/. Kroměcontrolby mělo být zařízení Device Mapper pojmenované podle vaší skupiny svazků, např.VolGroupArray-name. - Spustit
sudo dmsetup remove VolGroupArray-name(nahrazeníVolGroupArray-names názvem zařízení Mapovač zařízení). - Nyní byste měli být schopni spustit
sudo mdadm --stop /dev/md0(nebo jakkoli názevmdadmzařízení je).
Potýkal jsem se s podobnými problémy, ale neměl jsem nájezdové zařízení žádným způsobem namontované. Zdá se, že ani zastavení SAMBY nepomohlo. lsof neukázal nic.
Vše vyústilo v:
# mdadm --stop /dev/md2
mdadm: Cannot get exclusive access to /dev/md2:Perhaps a running process, mounted filesystem or active volume group?
To, co mi to nakonec vyřešilo, bylo to, že jsem si vzpomněl, že se jedná o swapovací oddíl - takže jsem prostě musel swapoff /dev/md2 - to mi umožnilo mdadm --stop /dev/md2 úspěšně.