LVM卷删除恢复

该文章内容提及的第二步有一定几率会出现事故的风险(恢复删除lv卷会覆盖新建的lv卷, 导致丢数据)。

LVM删除一些分区后数据仍然保留在磁盘内,只要没有被完全覆盖是可以恢复的。
大致上3个步骤完成:第一步查找出日志位置,第二步恢复分区,第三步激活分区。

以下内容的约定:

卷组名为vg0,DF*_img为卷。
恢复卷的对象是DF101425_img

第一步查找日志

vgcfgbackup -f /etc/lvm/backup/Manual-backup-vg0 vg0 #备份当前VG
vgcfgrestore -l /dev/vg0|grep -B2 -A1 lvremove

执行后可以看到类似以下的日志内容。
在日志内找到了DF101425_img卷然后对应的File是/etc/lvm/archive/vg0_03279-1491291498.vg

File:         /etc/lvm/archive/vg0_03275-1349445321.vg
 VG name:      vg0
 Description:  Created *before* executing 'lvcreate -L5G -s -n /dev/vg0/DF102118_snapshot /dev/vg0/DF102118_img'
 Backup Time:  Wed Oct 26 19:23:47 2016

 File:         /etc/lvm/archive/vg0_03276-1170939834.vg
 VG name:      vg0
 Description:  Created *before* executing 'lvremove -f /dev/vg0/DF102118_snapshot'
 Backup Time:  Wed Oct 26 23:34:08 2016

 File:         /etc/lvm/archive/vg0_03279-1491291498.vg
 VG name:      vg0
 Description:  Created *before* executing 'lvremove -f /dev/vg0/DF101425_img'
 Backup Time:  Sun Oct 30 14:05:33 2016

第二步对卷进行恢复

vgcfgrestore /dev/vg0 -f /etc/lvm/archive/vg0_03279-1491291498.vg

执行命令后会有回显信息  Restored volume group vg0

  第三步对卷做激活。

lvchange -a y /dev/vg0/DF101425_img

拿到备份数据后应立即检查数据是否正确,并立即将整个lv卷备份出来, 如果没有覆盖新的卷的问题则忽略下面的步骤。

 

最后

vgcfgrestore -f /etc/lvm/backup/Manual-backup-vg0 vg0

如果删除lv后又有新建lv卷, 应当备份好删除卷后立即导入之前备份的 vg 备份。

总之不要乱搞 lvm, 丢数据了会很头大。

添加新评论 »