GNU/Linux >> Linux Esercitazione >  >> Linux

Come forzare mdadm a fermare l'array RAID5?

Mi rendo conto che questa è una vecchia domanda e il poster originale credeva che SAMBA fosse il problema, ma ho riscontrato lo stesso identico problema e penso che molto probabilmente il problema non fosse SAMBA (in realtà non ho nemmeno SAMBA), dal momento che non non compare nel lsof output, ma piuttosto l'utente si trovava già nella directory del punto di montaggio RAID quando è passato a root o ha eseguito un sudo.

Nel mio caso, il problema è stato che ho avviato la mia shell di root quando il mio utente normale si trovava in una directory situata su quel /dev/md127 montato guidare.

[email protected]:/mnt/md127_content/something$ su -
[email protected]:~# umount /dev/md127
umount: /dev/md127: target is busy

Ecco l'output di lsof nel mio caso:

[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

Anche se lsof | grep md125 non ha mostrato alcun processo tranne [md127_raid1] , non sono riuscito a smontare /dev/md127 . E mentre umount -l /dev/md127 nasconde /dev/md127 dall'output di mount , l'unità è apparentemente ancora occupata e quando mdadm --stop /dev/md127 viene tentato, viene visualizzato lo stesso errore:

mdadm: Cannot get exclusive access to /dev/md127:Perhaps a running process, mounted filesystem or active volume group?

SOLUZIONE è semplice:controlla se ci sono utenti loggati che sono ancora in una directory su quell'unità. In particolare, controlla se la shell di root che stai utilizzando è stata avviata quando la directory corrente del tuo utente normale era su quell'unità. Passa a quella shell utenti (forse solo exit la tua radice deve), spostati da qualche altra parte e umount e mdadm --stop funzionerà:

[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

Se stai utilizzando LVM su mdadm, a volte LVM non eliminerà i dispositivi Device Mapper durante la disattivazione del gruppo di volumi. Puoi eliminarlo manualmente.

  1. Assicurati che non ci sia nulla nell'output di sudo vgdisplay .
  2. Cerca in /dev/mapper/ . A parte il control dovrebbe esserci un dispositivo Device Mapper che prende il nome dal gruppo di volumi, ad es. VolGroupArray-name .
  3. Esegui sudo dmsetup remove VolGroupArray-name (sostituendo VolGroupArray-name con il nome del dispositivo Device Mapper).
  4. Ora dovresti essere in grado di eseguire sudo mdadm --stop /dev/md0 (o qualunque sia il nome del mdadm dispositivo è).

Stavo riscontrando problemi simili ma non avevo montato il dispositivo raid in alcun modo. Nemmeno fermare SAMBA sembrava aiutare. lsof non ha mostrato nulla.

Tutto si è appena tradotto in:

# mdadm --stop /dev/md2
mdadm: Cannot get exclusive access to /dev/md2:Perhaps a running process, mounted filesystem or active volume group?

Ciò che alla fine mi ha risolto è stato ricordare che si trattava di una partizione di swap, quindi ho dovuto solo swapoff /dev/md2 - questo mi ha permesso di mdadm --stop /dev/md2 con successo.


Linux
  1. Come sostituire un disco rigido guasto nel software RAID Linux

  2. Come generare una password casuale in Linux usando /dev/random

  3. Come silenziare completamente un Cronjob in /dev/null/?

  4. Come mappare il dispositivo /dev/sdX e /dev/mapper/mpathY dal dispositivo /dev/dm-Z

  5. Come si scambia /dev/sda con /dev/sdb?

CentOS / RHEL:come rimuovere uno specchio con mdadm

Come codificare in base64 /dev/random o /dev/urandom?

Come Linux usa /dev/tty e /dev/tty0

echo o print /dev/stdin /dev/stdout /dev/stderr

Perché sono necessari < o > per usare /dev/tcp

mdadm mdadm:impossibile aprire /dev/sda1:dispositivo o risorsa occupata