Il comando multipathd -k è un'interfaccia interattiva per il demone multipathd. Immettendo questo comando viene visualizzata una console multipath interattiva. Dopo aver inserito questo comando, puoi accedere alla guida per ottenere un elenco di comandi disponibili, puoi inserire un comando interattivo o puoi inserire CTRL-D per uscire.
La console interattiva multipathd può essere utilizzata per risolvere i problemi che potresti riscontrare con il tuo sistema.
Il problema
Usando l'interfaccia multipathd -k puoi aggiungere/rimuovere un particolare percorso dalla mappa multipath. Il tentativo di rimuovere una mappa del dispositivo non riesce con il seguente errore:
# multipath -f mpath1 Jan 1 09:00:00 | mpath1: map in use
# dmsetup remove -f mpath1 device-mapper: remove ioctl on mpath1 failed: Device or resource busy
La soluzione
Il messaggio della mappa in uso indica che la mappa del dispositivo è ancora in uso da un processo specifico o da un livello di archiviazione, ad es. LVM, RAID, ecc.
1. Utilizzare il comando mount per verificare che il dispositivo non sia ancora montato. Ad esempio:
# mount
2. Utilizzare il comando dmsetup per identificare la mappatura/dispositivo corrente:
# dmsetup table | grep [DEVICE NAME]
Assicurati che nessun altro dispositivo mappato stia utilizzando il dispositivo.
3. Identificare il nome del dispositivo del kernel (dm-X) in /dev/mapper/:
# ls -l /dev/mapper | grep [DEVICE NAME] [DEVICE NAME] -> dm-X
4. Utilizzare il comando lsof per determinare quale processo potrebbe utilizzare il dispositivo.
# lsof | grep dm-x # lsof | grep [DEVICE NAME]
Se l'output sopra indica uno o più processi che utilizzano il dispositivo, chiudere l'applicazione o il programma. In caso contrario, considera la possibilità di interrompere il processo.
# kill -9 [PID]
5. Se il problema persiste, utilizza il comando seguente per disabilitare l'accodamento per il dispositivo multipath problematico.
# multipathd disablequeueing map mpath1Nota :possono verificarsi casi in cui un processo rimane bloccato a tempo indeterminato (ad es. stato D non interrompibile) all'interno dello stack del kernel. In questo caso, il riavvio del sistema potrebbe essere l'unico metodo possibile per risolvere il problema.