web-dev-qa-db-ja.com

アクティブ/非アクティブLVMスナップショットを削除する適切な方法

システムから余分なLVMスナップショットを削除するためのサンプル Rubyスクリプトファイル を作成しました。

LVMスナップショットを削除するには、lvremoveコマンドを使用します。このコマンドは正常に機能しており、システムからスナップショットを削除できます。

# Sudo lvremove /dev/ops/dbbackup 
lvremove -- do you really want to remove "/dev/ops/dbbackup"? [y/n]: y

スナップショットを削除しているときに、次のエラーが発生することがあります。

Unable to deactivate open rootfs_12.10_20140812_00-cow (252:8)  
Failed to resume rootfs_12.10_20140812_00.  
libdevmapper exiting with 7 device(s) still suspended.

システムがフリーズします。コマンドを実行することも、アクションを実行することもできません。

システムを再起動した後、正常に機能しています。そのスナップショットを削除することもできますが、すべての操作を実行できます。

私はそれについて検索し、これらのスレッドを見つけました https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659762 および https://bugs.debian.org /cgi-bin/bugreport.cgi?bug=674682

このスレッドからの解決策はエラーを取得した後ですが、このタイプのエラーを回避する必要があります。

LVMスナップショットを削除するより良い方法はありますか?

そのため、このタイプのエラーを回避できます。

さらに情報が必要な場合は、お気軽にお問い合わせください。

4
user2622247

スナップショットlvがまだマウントされていない場合、削除する前にそれを確認してください。 Rubyスクリプトに余分な行を追加して、lvremoveを実行する前にスナップショットlvをアンマウントします。 lvremoveを続行するために、パーティションをマウントしないことを必要とする条件をlvremoveに追加することも賢明です。

これがお役に立てば幸いです、

MG

2
MGodby