我在CentOS 5.5上运行Xen。我有一个大的卷组,我使用lvcreate创建逻辑卷。今天我让一位顾客取消了她的帐户,一小时后就改变了主意。不幸的是,我已经删除了LVM、她的Xen映像。(仅使用标准的lvremove )。从那时起,这个磁盘上就没有其他LVM活动了(没有添加或删除任何其他内容)。是否有可能“撤消”一个lvremove,或恢复逻辑卷?如果是这样的话,我会怎么做呢?
发布于 2011-01-17 15:43:08
LVM将它的元数据备份到/etc/lvm/backup和/etc/lvm/archive。在每个文件的顶部,它将告诉您生成文件时的时间/数据,因此很有可能会有旧元数据的副本,就像删除LV之前一样。我相信无论何时元数据的变化备份都是自动的。
以下可能是危险和破坏性的,所以要非常小心,如果可能的话,有一个完整的备份。
还原这些卷组元数据备份的命令是vgcfgrestore。确保使用带有vgcfgbackup标志的-f命令创建现有工作配置的当前副本,以便为输出指定一个不同的文件,这样就不会更改/etc/lvm/backup或/etc/lvm/归档文件夹中的任何文件。请确保将当前配置与您希望还原的配置区分开来,以验证您要应用的唯一更改是重新创建最近删除的LV。完全备份您的数据可能也不是一个坏主意。您可能还需要考虑联系您的Linux供应商获得支持/指导,如果您是在一个支持合同下,然后再继续,因为我从来没有这样做自己。
祝好运。
发布于 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:
lvcreate --extents EFROM-ETO --zero n --name customer007 YOUR-VG-NAME /dev/yourpv:PFROM-PTO发布于 2017-01-29 14:37:27
(如thermoman先前所回答)重新创建已删除的LVM卷的容易方式是使用lvcreate创建它,而不进行零化,并确保它在磁盘上处于相同的位置。(塞莫曼的回答中的命令无效。)
通过读取/etc/lvm/存档中的文件,检查删除前的已删除逻辑卷的大小和位置。卷的大小以extent_count的segment1表示(如果有几个区段,则为segment*/extent_count值之和)。位置位于物理卷别名之后的stripes部分(例如,pv0)。
例如,卷部分可能如下所示:
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.若要重新创建该卷问题,请执行以下操作:
lvcreate --extents 1024 --zero n --name example vgname /dev/somedisk:30720-31743https://serverfault.com/questions/223361
复制相似问题