論理ボリュームを削除しようとすると、メッセージが表示されます
#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
このボリュームを強制的に削除するにはどうすればよいですか?
ありがとう、エベレット
論理ボリュームには何が含まれていますか?それはファイルシステムですか(誤ってパーティションを作成しました)?マウントされているのでしょうか?その場合:
umount /dev/my-volumes/volume-1
アクティブなスナップショットはありますか?
編集:lvchange -an -v /dev/my-volumes/volume-1
とlvremove -vf /dev/my-volumes/volume-1
を試してください。
編集2:「lvs」を投稿してください。
編集3:他の問題のあるボリュームでこれを試してください。これは最もクリーンなオプションではありませんが、 このサイト によると、機能する可能性があり、とにかく再起動するよりも問題が少ないです。
dmsetup remove my--volumes-volume--number
lvremove /dev/my-volumes/volume-number
論理ボリュームをアンマウントまたはlvremoveできない場合は、LVを保持しているプロセスがないことを確認してください
削除しようとしている論理ボリュームのメジャー/マイナー番号を見つけます。eg:vol0
# dmsetup info -c | grep vol0
ボリュームが「オープン」かどうかを示す5番目の列と、それぞれメジャーIDとマイナーIDである2番目と3番目の列に注意してください。
上記で検出されたメジャーIDとマイナーIDを検索して、このボリュームに関連付けられているプロセスを見つけます。
# lsof | grep "major,minor"
ボリュームにまだアクセスしているプロセスをシャットダウンまたは強制終了して、アンマウントと削除を続行します。
次にlvremoveを試してください
おそらく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
これで、ボリュームを削除できるようになります。
同様の状況になりましたが、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/
ファイルシステムを使用するLXCコンテナーを、その構成を介してシャットダウンします:lxc.mount.entry
ISCSIデバイスの3つのPVに由来するLVでこの問題が発生しました(マルチパスを使用)。
解決策はありませんが、単純なreboot! (fstabでコメントアウトなので、再度マウントされません)
多分それは誰かを助ける。
lvm
を削除できない場合は、次の手順に従ってください。
パーティションをアンマウントします。
#umount/dev/sda8
(例:パーティションを/dev/sda8
にマウントしました)
lvm
を次のように削除してみてください:
#lvremove/dev/vgname/lvname
「ca n't open open logical volume in linux」のようなエラーが発生した場合は、以下のコマンドでLVMを非アクティブにしてから削除してください:
# lvchange -an /dev/vgname/lvname
# lvremove /dev/vgname/lvname
問題が発生した場合はお知らせください。
私の場合、コンテナで cAdvisor を実行していたため、起動時にマウントされていたブロックデバイスを削除できないようです。私の修正は:
docker restart $CONTAINER_ID
)LVをDMデバイスからリンク解除できます:
/ dev/dm-21:2400ce(ルート)2739ce(ルート)4793ce(ルート)
lrwxrwxrwx 1ルートルート8 Aug 15 02:53/dev/my-sample-volumes/volume-sample-1-> ../dm-21
同様の問題がありました。削除しようとした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 //を削除する必要があります
これもRHELのnfslockサービスによってロックされている可能性があります。そのサービスを停止するだけで問題ありません。