删除活动/非活动 LVM 快照的正确方法

use*_*247 5 backup lvm 12.04 snapshot system-installation

我创建了一个示例ruby​​ 脚本文件,用于从系统中删除额外的 LVM 快照。

为了删除 LVM 快照,我们使用lvremove命令。该命令运行良好,我们可以从系统中删除快照。

# sudo lvremove /dev/ops/dbbackup 
lvremove -- do you really want to remove "/dev/ops/dbbackup"? [y/n]: y
Run Code Online (Sandbox Code Playgroud)

有时,在删除快照时,我们会收到以下错误。

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.
Run Code Online (Sandbox Code Playgroud)

系统被冻结。我们无法发出任何命令或无法对其执行任何操作。

重新启动系统后,一切正常。我们可以执行所有操作,甚至可以删除该快照。

我搜索了它,发现这些线程 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659762https://bugs.debian.org/cgi-bin/bugreport.cgi?bug= 674682

该线程的解决方案是在收到错误后,但我必须避免此类错误。

我有一个问题,有没有更好的方法删除 LVM 快照?

这样我们就可以避免此类错误。

如果有人需要更多信息,请随时问我。

MGo*_*dby 3

如果尚未安装,请确保在删除快照 lv 之前未安装它。只需在 ruby​​ 脚本中添加一行额外的行即可在执行 lvremove 之前卸载快照 lv。向 lvremove 添加一个条件也可能是明智的,该条件要求不安装分区以便 lvremove 继续进行。

希望这有帮助,

MG