Der Befehl multipathd -k ist eine interaktive Schnittstelle zum multipathd-Daemon. Durch Eingabe dieses Befehls wird eine interaktive Multipath-Konsole aufgerufen. Nachdem Sie diesen Befehl eingegeben haben, können Sie help eingeben, um eine Liste der verfügbaren Befehle zu erhalten, Sie können einen interaktiven Befehl eingeben oder Sie können STRG-D zum Beenden eingeben.
Die interaktive multipathd-Konsole kann verwendet werden, um Probleme zu beheben, die Sie möglicherweise mit Ihrem System haben.
Das Problem
Mit der Schnittstelle multipathd -k können Sie einen bestimmten Pfad zur Multipath-Map hinzufügen/entfernen. Der Versuch, eine Gerätezuordnung zu entfernen, schlägt mit folgendem Fehler fehl:
# 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
Die Lösung
Die Karte-in-Verwendung-Nachricht gibt an, dass die Gerätekarte immer noch von einem bestimmten Prozess oder einer Speicherschicht verwendet wird, z. LVM, RAID usw.
1. Verwenden Sie den Mount-Befehl, um sicherzustellen, dass das Gerät nicht noch gemountet ist. Zum Beispiel:
# mount
2. Verwenden Sie den Befehl dmsetup, um die aktuelle Geräte-/Zuordnungszuordnung zu identifizieren:
# dmsetup table | grep [DEVICE NAME]
Stellen Sie sicher, dass kein anderes zugeordnetes Gerät das Gerät verwendet.
3. Identifizieren Sie den Kernel-Gerätenamen (dm-X) in /dev/mapper/:
# ls -l /dev/mapper | grep [DEVICE NAME] [DEVICE NAME] -> dm-X
4. Verwenden Sie den Befehl lsof, um festzustellen, welcher Prozess möglicherweise das Gerät verwendet.
# lsof | grep dm-x # lsof | grep [DEVICE NAME]
Wenn die obige Ausgabe auf einen oder mehrere Prozesse hinweist, die das Gerät verwenden, beenden Sie die Anwendung oder das Programm. Sollte dies fehlschlagen, ziehen Sie in Betracht, den Prozess zu beenden.
# kill -9 [PID]
5. Wenn das Problem weiterhin besteht, verwenden Sie den folgenden Befehl, um die Warteschlange für das problematische Multipath-Gerät zu deaktivieren.
# multipathd disablequeueing map mpath1Hinweis :Es kann Fälle geben, in denen ein Prozess auf unbestimmte Zeit im Kernel-Stack hängen bleibt (z. B. nicht unterbrechbarer D-Zustand). In diesem Fall ist ein Neustart des Systems möglicherweise die einzig mögliche Methode, um das Problem zu beheben.