web-dev-qa-db-ja.com

lvremoveはLVが開いていると主張しています

頻繁に私は後に気づきます

$ Sudo lvcreate vg -L 10G

直後に続く

$ Sudo lvremove vg/<created volume>

エラーメッセージが表示される

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

ながら

$ Sudo lvs

そのボリュームのために私を示しています

  lvol2         vg   -wi-a-  10,00g
  • だから、os -フラグのaの後ろ。ボリュームが本当に開いている場合は、oが必要です。

しばらくすると、削除が機能します。

なぜそうなのですか?どうすればすぐに機能させることができますか?

編集:以下は有用なものにつながりませんでした:

$ Sudo rm /dev/mapper/vg-lvol24 
$ Sudo lvremove /dev/vg/lvol24
  Can't remove open logical volume "lvol24"
$ Sudo lvs vg/lvol24
  LV     VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  lvol24 vg   -wi-a- 10,00g                                      
$ Sudo lvremove /dev/vg/lvol24
  Can't remove open logical volume "lvol24"
7
glglgl

Lvmとudevの連携に問題があるようです。

lvremoveでは、使用可能なすべてのブロックデバイスに対してudev変更イベントがあります。それらの処理は除去プロセスを妨害するようであり、除去は失敗します。

解決策は、削除するLVをlvchange -an <given LV>で非アクティブ化することです。この場合、関連付けられているdmデバイスが削除されるため、「削除」イベントはほんの少ししか作成されません。

現在無効になっているLVをlvremoveした場合、まだ多くのudev変更イベントがありますが、削除されるLVには影響しません(それがdmに存在しないため)。問題なく。

5
glglgl

したがって、NFS、古くなったbashプロセス、およびudevの誤動作、つまりブロックデバイスで開かれたパーティション以外にも、別の可能性があります。

kpartx -d /dev/vg1/lv1

次に、lvdisplayの出力で#openが0に低下することを確認できます。

6
PAStheLoD

/ dev/mapper /からシンボリックリンクを削除して、そのLVへのすべてのマッピングを削除すると、削除できます。

2
Stone

何かがまだディスクを使用しているかどうかを確認するためのいくつかの便利なコマンド:

cat /proc/mounts
dmsetup ls --tree
lsof <device>
1
user1338062

OpenStackのインストールで同様の問題が発生しました。 lsofは何も表示しませんでしたが、dmsetup ls --treeは依存関係/ターゲットを表示しました。 lvchange -an <given LV>も機能しませんでした。 /dev/dm-*デバイスへのシンボリックリンクも削除されませんでした

私の場合、OpenStackサービスをシャットダウンしたところ、扱いにくいボリュームをlvremoveできました。

これは実験的な設定であり、他の問題を回避するために強制的に再起動したために、最初に問題が発生した可能性があります。

1
Graham Klyne

このエラーも受け取りました。幸いなことに、私は最初の構築段階にあり、失うデータはありませんでした。論理ボリュームがこの30分以内に作成されたばかりであることに注意してください。

論理ボリュームの削除を許可するために、以下を実行しました。

  1. (fdisk内)この論理ボリューム用に作成したテーブルパーティションを削除します。
  2. (fdisk内)書き込みを実行しました-テーブルパーティションが存在しないことを確認した後
  3. パーツプローブ
  4. multipath -F(未使用のマルチパスデバイスをフラッシュします)
  5. サービスmultipathd停止
  6. サービスmultipathdの開始
  7. サーバーを再起動します
  8. サーバーが復旧したときのlvscan
  9. lvremove
0
Linux7726

最近これに遭遇しました。デバイスXYZがXYZにマップされたluksボリュームであること、および基礎となるlvmが実際にluksマップによって使用されていたことを完全に忘れていました。

0
petermolnar