web-dev-qa-db-ja.com

開いている論理ボリュームを削除できません

論理ボリュームを削除しようとすると、メッセージが表示されます

#lvremove /dev/my-volumes/volume-1 
Can't remove open logical volume "volume-1"

#lvchange -an -v /dev/my-volumes/volume-1 
Using logical volume(s) on command line
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
Deactivating logical volume "volume-1"
Found volume group "my-volumes"
LV my-volumes/volume-1 in use: not deactivating

#lvremove -vf /dev/my-volumes/volume-1 
Using logical volume(s) on command line
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
Can't remove open logical volume "volume-1"

#lvs
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
LV              VG           Attr   LSize   Origin Snap%  Move Log Copy%  Convert
volume-1        my-volumes   -wi-ao  50.00g  

このボリュームを強制的に削除するにはどうすればよいですか?

ありがとう、エベレット

22
Everett Toews

論理ボリュームには何が含まれていますか?それはファイルシステムですか(誤ってパーティションを作成しました)?マウントされているのでしょうか?その場合:

umount /dev/my-volumes/volume-1

アクティブなスナップショットはありますか?

編集:lvchange -an -v /dev/my-volumes/volume-1lvremove -vf /dev/my-volumes/volume-1を試してください。

編集2:「lvs」を投稿してください。

編集3:他の問題のあるボリュームでこれを試してください。これは最もクリーンなオプションではありませんが、 このサイト によると、機能する可能性があり、とにかく再起動するよりも問題が少ないです。

dmsetup remove my--volumes-volume--number
lvremove /dev/my-volumes/volume-number
13
Eduardo Ivanec

論理ボリュームをアンマウントまたはlvremoveできない場合は、LVを保持しているプロセスがないことを確認してください

削除しようとしている論理ボリュームのメジャー/マイナー番号を見つけます。eg:vol0

# dmsetup info -c | grep vol0

ボリュームが「オープン」かどうかを示す5番目の列と、それぞれメジャーIDとマイナーIDである2番目と3番目の列に注意してください。

上記で検出されたメジャーIDとマイナーIDを検索して、このボリュームに関連付けられているプロセスを見つけます。

# lsof | grep "major,minor"

ボリュームにまだアクセスしているプロセスをシャットダウンまたは強制終了して、アンマウントと削除を続行します。

次にlvremoveを試してください

11
pruthvi

おそらくietまたはtgtを実行しています(どちらがiscsi_helper値は/etc/nova/nova.confにあり、デフォルトはietです)、サービスには開いているファイルハンドルがあります。あなたはこのようなことをすることでどれをチェックすることができます(私の場合はtgtです)

# fuser /dev/nova-volumes/volume-00000001
/dev/dm-5:           19155

# lsof | grep /dev/dm-5
tgtd      19155            root   12u      BLK              252,5         0t0    2531554 /dev/dm-5

Ietの場合は、次のようにしてサービスを停止します。

service iscsitarget stop

Tgtの場合は、次のようにしてサービスを停止します。

service tgt stop

これで、ボリュームを削除できるようになります。

5
Lorin Hochstein

同様の状況になりましたが、mount -o bindを使用していたため、LVの削除がブロックされました。

以下の記事は大いに役立ち、メジャー/マイナー番号のLVでlsofを使用すると、開いたLVを保持しているプロセス(私の場合はsmbd)が示されました。

単にcat/proc/mounts | grep LV_nameは私に結論を導きました、なぜlvremoveまたはdmsetupがアンマウントされたLVを取り除くために拒否を削除するのか。

http://kb.eclipseinc.com/kb/why-cant-i-remove-a-linux-logical-volume/

5
janfai

ファイルシステムを使用するLXCコンテナーを、その構成を介してシャットダウンします:lxc.mount.entry

2
Tonny

ISCSIデバイスの3つのPVに由来するLVでこの問題が発生しました(マルチパスを使用)。

解決策はありませんが、単純なreboot! (fstabでコメントアウトなので、再度マウントされません)

多分それは誰かを助ける。

1
davidak

lvmを削除できない場合は、次の手順に従ってください。

  1. パーティションをアンマウントします。

    #umount/dev/sda8

    (例:パーティションを/dev/sda8にマウントしました)

  2. lvmを次のように削除してみてください:

    #lvremove/dev/vgname/lvname

ca n't open open logical volume in linux」のようなエラーが発生した場合は、以下のコマンドでLVMを非アクティブにしてから削除してください:

 # lvchange -an  /dev/vgname/lvname

 # lvremove /dev/vgname/lvname

問題が発生した場合はお知らせください。

1
Pankaj Patel

私の場合、コンテナで cAdvisor を実行していたため、起動時にマウントされていたブロックデバイスを削除できないようです。私の修正は:

  1. LVMボリュームをアンマウントします
  2. CAdvisorコンテナーを再起動します(docker restart $CONTAINER_ID
  3. もう一度削除を試みます
1
RobM

LVをDMデバイスからリンク解除できます:

フューザー-kuc/dev/my-sample-volumes/volume-sample-1

/ dev/dm-21:2400ce(ルート)2739ce(ルート)4793ce(ルート)

ls -l/dev/my-sample-volumes/volume-sample-1

lrwxrwxrwx 1ルートルート8 Aug 15 02:53/dev/my-sample-volumes/volume-sample-1-> ../dm-21

/ dev/my-sample-volumes/volume-sample-1のリンクを解除します

lvremove/dev/my-sample-volumes/volume-sample-1

0
dayzero

同様の問題がありました。削除しようとしたlvは、VMブロックデバイス、ボリュームグループを保持しています。このボリュームグループはlvm.confでフィルタリングされましたが、一部の開発マッパーアイテムが以前に作成されました。

デバイスによって保持されていたかを理解するには、そのマイナー番号(253、??)を見てくださいll /dev/<vg>/<lv>../dm-??を指す必要があります

次に、ls -la /sys/dev/block/253:??/holdersは、vgのリンク(ex -> ../../dm-xx)をデバイスに(pvとして)リレーします。

dmsetup remove /dev/dm-xxでそれらを削除します(これらのdmが使用されていないことを確認してください)次に、どこかに「pv」ではない/ dev //を削除する必要があります

0

これもRHELのnfslockサービスによってロックされている可能性があります。そのサービスを停止するだけで問題ありません。

0