web-dev-qa-db-ja.com

「使用中の論理ボリューム」-論理ボリュームを削除できません

DebianStretchで実行されているXen4.8ハイパーバイザーで、使用されなくなったdomUの論理ボリュームを削除しようとしています。

DomUを停止し、スワップファイルの論理ボリュームを正常に削除しました。

ただし、メインディスクの論理ボリュームを削除しようとすると、次のエラーが発生します。

Logical volume xen3-vg/vmXX-disk in use.

他のdomU用にハイパーバイザーのディスク領域が必要なため、論理ボリュームのサイズを4MBに変更することに成功しました。

どの論理ボリュームを削除する必要があるかを明確にするために、論理ボリュームの名前を「xen3-vg/deleteme」に変更しました。

それにもかかわらず:

> lvremove -vf /dev/xen3-vg/deleteme

戻り値:

Logical volume xen3-vg/deleteme in use.

検索に関して、私は以下のすべてを試しましたが、役に立ちませんでした。

> lvdisplay

--- Logical volume ---
LV Path                /dev/xen3-vg/deleteme
LV Name                deleteme
VG Name                xen3-vg
LV UUID                iL2tB4-4tjc-0dlj-ibBX-nQup-oZsX-g81XXO
LV Write Access        read/write
LV Creation Host, time xen3, 2017-01-04 07:16:26 +0100
LV Status              available
# open                 1
LV Size                4.00 MiB
Current LE             1
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           254:7

> dmsetup info -c | grep deleteme

xen3--vg-deleteme   254   7 L--w    1    1      3 LVM-aAW4aSeLjqJPPWlF1s1WxAgzeXAjWmXiiL2tB44tjc0dljibBXnQupoZsXg81XXO

> lvchange -an -v /dev/xen3-vg/deleteme

Logical volume xen3-vg/deleteme in use.

> lvremove -vf /dev/xen3-vg/deleteme

Logical volume xen3-vg/deleteme in use.

> umount /dev/xen3-vg/deleteme

umount: /dev/xen3-vg/deleteme: not mounted

> lsof | grep "254,7"

[no output]

> lsof | grep deleteme

[no output]

> fuser /dev/xen3-vg/deleteme

[no output]

誰かがxen3-vg/deletemeを削除する方法についてアドバイスを提供できれば、私はとても幸せです。

ハイパーバイザーの再起動は(営業時間外に実行される)最後のオプションですが、再起動したくないです。

前もって感謝します。


ブランドン、あなたの提案に感謝します。

http://naveen161089.blogspot.com/2014/03/forcefully-remove-lvm.html の指示に従って、次のことを試しました。

> dmsetup ls

[..]
xen3--vg-deleteme   (254:7)
[..]

> dmsetup info -c xen3--vg-deleteme

Name              Maj Min Stat Open Targ Event  UUID                                                                
xen3--vg-deleteme 254   7 L--w    1    1      3 LVM-aAW4aSeLjqJPPWlF1s1WxAgzeXAjWmXiiL2tB44tjc0dljibBXnQupoZsXg81XXO

> dmsetup remove xen3--vg-deleteme

device-mapper: remove ioctl on xen3--vg-deleteme failed: Device or resource busy
Command failed

> lvremove -f /dev/xen3-vg/deleteme

Logical volume xen3-vg/deleteme in use.

私はすでに次の手順に従いました: 開いている論理ボリュームを削除できません 元の投稿に記載されています。

どちらのアプローチも問題を解決しませんでした。

誰かが他に何か提案がありますか?

1
Jonathan Maron

主な間違いは、マウントポイントではなくデバイスファイル "/ dev/xen3-vg/deleteme"でlsof/fuserを実行することだったと思います(例: "/ mnt/myDataMount ")。

(これは誤解を招く可能性があり、私もそれにつまずきました。しかし、「/ dev/sda3」でlsofを実行したい場合と同じです。これは機能しません。ただし、lsofを実行できます。/mount/somedrive)

簡単に行う手順:

  1. マウント内の「LVパス」をmount |grep deleteme#で検索します。ここで、「deleteme」はlv-nameを表します。この例示的な出力は、「/ my/mountpoint」のようなものです。
  2. lsof /my/mountpointどのプロセスがそれを使用しているかを調べる
  3. プロセスを強制終了する(kill -9 naggingprocess)か、サービスを停止します(service something stop
  4. (2.)をもう一度確認してください
  5. umount /dev/xen3-vg/deleteme
  6. lvremove /dev/xen3-vg/deleteme(またはlvremove -f
1
eli

同じ問題が発生し、このコマンドを使用して修正しました。試してみる。

kpartx -dv /dev/mapper/VG-XXX_rootimg
Then lvremove -f /dev/mapper/VG-XXX_rootimg
0
Hannan

最近のクリスマス休暇中に、Xen4.8ハイパーバイザーを再起動する機会がありました。

再起動が成功した後、問題のある論理ボリュームを問題なく削除することができました。

問題が何であるかを推測することしかできませんが、ハイパーバイザーは、明らかにdomUを削除したにもかかわらず、メモリ内の論理ボリュームへの参照を保持していたため、削除できなかったと思います。

0
Jonathan Maron