首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何恢复用lvremove删除的逻辑卷

如何恢复用lvremove删除的逻辑卷
EN

Server Fault用户
提问于 2011-01-17 14:29:27
回答 4查看 35.5K关注 0票数 13

我在CentOS 5.5上运行Xen。我有一个大的卷组,我使用lvcreate创建逻辑卷。今天我让一位顾客取消了她的帐户,一小时后就改变了主意。不幸的是,我已经删除了LVM、她的Xen映像。(仅使用标准的lvremove )。从那时起,这个磁盘上就没有其他LVM活动了(没有添加或删除任何其他内容)。是否有可能“撤消”一个lvremove,或恢复逻辑卷?如果是这样的话,我会怎么做呢?

EN

回答 4

Server Fault用户

回答已采纳

发布于 2011-01-17 15:43:08

LVM将它的元数据备份到/etc/lvm/backup/etc/lvm/archive。在每个文件的顶部,它将告诉您生成文件时的时间/数据,因此很有可能会有旧元数据的副本,就像删除LV之前一样。我相信无论何时元数据的变化备份都是自动的。

以下可能是危险和破坏性的,所以要非常小心,如果可能的话,有一个完整的备份。

还原这些卷组元数据备份的命令是vgcfgrestore。确保使用带有vgcfgbackup标志的-f命令创建现有工作配置的当前副本,以便为输出指定一个不同的文件,这样就不会更改/etc/lvm/backup或/etc/lvm/归档文件夹中的任何文件。请确保将当前配置与您希望还原的配置区分开来,以验证您要应用的唯一更改是重新创建最近删除的LV。完全备份您的数据可能也不是一个坏主意。您可能还需要考虑联系您的Linux供应商获得支持/指导,如果您是在一个支持合同下,然后再继续,因为我从来没有这样做自己。

祝好运。

票数 14
EN

Server Fault用户

发布于 2013-03-02 16:16:23

从lvremove (假设您没有写入LV所在的区域)中恢复最简单的事情是:

只需在/etc/lvm/存档中找到元数据的备份,并计算出

a) LV居住的范围(EFROM,ETO)

b)您的LV居住在哪些PVs上,以及它所使用的PV上扩展了哪些PVs (PFROM,PTO)

在获得此信息之后,您将在完全相同的PV扩展上创建一个大小完全相同的新LV,而无需擦除LV的前8kB:

代码语言:javascript
复制
lvcreate --extents EFROM-ETO --zero n --name customer007 YOUR-VG-NAME /dev/yourpv:PFROM-PTO
票数 5
EN

Server Fault用户

发布于 2017-01-29 14:37:27

(如thermoman先前所回答)重新创建已删除的LVM卷的容易方式是使用lvcreate创建它,而不进行零化,并确保它在磁盘上处于相同的位置。(塞莫曼的回答中的命令无效。)

通过读取/etc/lvm/存档中的文件,检查删除前的已删除逻辑卷的大小和位置。卷的大小以extent_countsegment1表示(如果有几个区段,则为segment*/extent_count值之和)。位置位于物理卷别名之后的stripes部分(例如,pv0)。

例如,卷部分可能如下所示:

代码语言:javascript
复制
    physical_volumes {
            pv0 {
                    device = "/dev/somedisk" # Hint only
                    ...
            }
    }

    logical_volumes {
            ...
            example {
                    ...
                    segment_count = 1

                    segment1 {
                            start_extent = 0
                            extent_count = 1024     # 4 Gigabytes

                            type = "striped"
                            stripe_count = 1        # linear

                            stripes = [
                                    "pv0", 30720
                            ]
                    }
            }
            ...
    }

这个example卷的大小是1024,它位于从区段30720开始的/dev/somedisk上。

计算最后一个范围为start + size -1 = 30720 +1024-1= 31743.若要重新创建该卷问题,请执行以下操作:

代码语言:javascript
复制
lvcreate --extents 1024 --zero n --name example vgname /dev/somedisk:30720-31743
票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/223361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档