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.
[email protected]:/mnt/md127_content/something$ su -
[email protected]:~# umount /dev/md127
umount: /dev/md127: target is busy
Zde je výstup lsof
v mém případě:
[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
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:
[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
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 vgdisplay
není nic . - Podívejte se do
/dev/mapper/
. Kroměcontrol
by mělo být zařízení Device Mapper pojmenované podle vaší skupiny svazků, např.VolGroupArray-name
. - Spustit
sudo dmsetup remove VolGroupArray-name
(nahrazeníVolGroupArray-name
s názvem zařízení Mapovač zařízení). - Nyní byste měli být schopni spustit
sudo mdadm --stop /dev/md0
(nebo jakkoli názevmdadm
zaří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ě.