確認せずに論理ボリュームを削除する

確認せずに論理ボリュームを削除する

論理ボリュームを削除するための自動化されたスクリプトを作成していますが、これを行う方法を100%確信できません。-fフラグを使用する必要があるように見えますが、lvremove文書があまりにも混乱していて快適に感じることはできません。

-f|--強制...

さまざまな検査、検証、保護を上書きします。注意して使用してください。

「さまざまな確認、検証、保護」とは何ですか?私にとっては、ボリュームの削除を確認する以外に何も避けているようです。

ベストアンサー1

最大のリスクは、まだ使用中のボリュームを削除することです。つまり、dmsetup infoゼロでないとマークされている場合Open count

# dmsetup info SSD-root | grep Open
Open count:        1

ただし、この場合、ジョブはlvremove直接拒否されます。

# lvremove SSD/root
  Logical volume SSD/root contains a filesystem in use.

--forceそれでも削除を拒否しても(自宅で試してはいけません)。

# lvremove --force --yes --verbose SSD/root
    Device dm-33 (253:33) appears to be mounted on /.
  Logical volume SSD/root contains a filesystem in use.

これはインストールされていない場合でも機能し、そうでない場合は使用している場合でも機能します。

# lvcreate -n test -L100M SSD
# losetup --find --show /dev/SSD/test
# time lvremove SSD/test
  Logical volume SSD/test is in use.
real    0m4.816s
user    0m0.008s
sys 0m0.005s

実際、これは非常に遅いです(このlvremove呼び出しは5秒かかります!)。なぜなら、マウントポイントをどこでも検索しますが、見つからず、開いている数を再確認するからです。それで、「まあ、これはインストールされていませんが、なぜまだ開いているのでしょうか?」と同じです。

--forceしたがって、通常のボリュームでは、ここで使用することが実際に危険な状況を強制しないことはかなり安全であると思います。マンページでは、例のセクションで強制使用を提案します。ただし、スナップショット、キャッシュ、その他の特殊ボリュームに何が起こるかをテストしていません。

おすすめ記事