multipathd -k コマンドは、multipathd デーモンへの対話型インターフェースです。このコマンドを入力すると、インタラクティブなマルチパス コンソールが表示されます。このコマンドを入力した後、help を入力して使用可能なコマンドのリストを取得したり、対話型コマンドを入力したり、CTRL-D を入力して終了したりできます。
multipathd インタラクティブ コンソールは、システムで発生している可能性のある問題のトラブルシューティングに使用できます。
問題
multipathd -k インターフェイスを使用すると、マルチパス マップから特定のパスを追加/削除できます。デバイス マップを削除しようとすると、次のエラーで失敗します:
# 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
解決策
使用中のマップ メッセージは、デバイス マップがまだ特定のプロセスまたはストレージ レイヤーによって使用されていることを示します。 LVM、RAID など
1. mount コマンドを使用して、デバイスがまだマウントされていないことを確認します。例:
# mount
2. dmsetup コマンドを使用して、現在のデバイス/マップ マッピングを特定します。
# dmsetup table | grep [DEVICE NAME]
マップされた他のデバイスがそのデバイスを使用していないことを確認してください。
3. /dev/mapper/ でカーネル デバイス名 (dm-X) を特定します。
# ls -l /dev/mapper | grep [DEVICE NAME] [DEVICE NAME] -> dm-X
4. lsof コマンドを使用して、デバイスを使用している可能性のあるプロセスを特定します。
# lsof | grep dm-x # lsof | grep [DEVICE NAME]
上記の出力がデバイスを使用しているプロセスを示している場合は、アプリケーションまたはプログラムをシャットダウンします。失敗した場合は、プロセスを強制終了することを検討してください。
# kill -9 [PID]
5. 問題が解決しない場合は、以下のコマンドを使用して、問題のあるマルチパス デバイスのキューイングを無効にします。
# multipathd disablequeueing map mpath1注意 :プロセスがカーネル スタック内で無期限にスタックしたままになる場合があります (例:中断できない D 状態)。この場合、システムを再起動することが問題に対処できる唯一の方法である可能性があります。