首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LVM将其配置存储在何处?

LVM将其配置存储在何处?
EN

Unix & Linux用户
提问于 2015-02-16 03:19:33
回答 3查看 18.8K关注 0票数 27

我试图了解LVM如何/在何处存储其配置数据。

  • pvcreate /dev/sdb是否向/dev/sdb写入任何元数据?如果是的话,写的是什么?
  • vgcreate data /dev/sdb /dev/sdc在哪里存储卷组的配置?
  • LVM在哪里存储逻辑区段和物理区段之间的映射?
  • 在LVM配置中是否有任何特定于机器的配置?
  • 假设我有两个磁盘配置成一个逻辑卷的机器,我可以把这些磁盘从机器中取出,放到另一台机器中,并期望逻辑卷在新机器中工作吗?
EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2015-02-16 05:26:54

pvcreate /dev/sdb是否向/dev/sdb写入任何元数据?如果是的话,写的是什么?

如果将-vv标志传递给pvcreate命令,它会使命令更加冗长,您将看到pvcreate在磁盘上创建了一个元数据区域。

代码语言:javascript
复制
 Writing physical volume data to disk "/dev/sdc1"
        lvmcache: /dev/sdc1: now in VG #orphans_lvm2 (#orphans_lvm2) with 0 mdas
        Creating metadata area on /dev/sdc1 at sector 8 size 2040 sectors
        Opened /dev/sdc1 RW O_DIRECT
        /dev/sdc1: block size is 1024 bytes
        /dev/sdc1: physical block size is 512 bytes
        /dev/sdc1: Preparing PV label header xxx.xxxxx.xxxxxxxxxxxxxxx

      /dev/sdc1: Writing label to sector 1 with stored offset 32.

什么是写入元数据区域?

我不知道有一个命令可以用来查看元数据,但是命令vgcfgbackup可以用来备份元数据,并且可以打开一个由此创建的用于查看元数据的备份文件。

vgcfgbackup -f /path/of/your/choice/file <your_vg_name>

上面的命令创建的/path/of/your/choice/file将包含PV、VG和LVM元数据。其中一节如下所示:

代码语言:javascript
复制
physical_volumes {

                pv0 {
                        id = "abCDe-TuvwX-DEfgh-daEb-Xys-6Efcgh-LkmNo"
                        device = "/dev/sdc1"    # Hint only

                        status = ["ALLOCATABLE"]
                        flags = []
                        dev_size = 10477194     # 4.99592 Gigabytes
                        pe_start = 2048
                        pe_count = 1278 # 4.99219 Gigabytes
                }
        }

我建议您查看目录/etc/lvm的内容和命令lvm dumpconfig的输出。

假设我有两个磁盘配置成一个逻辑卷的机器,我可以把这些磁盘从机器中取出,放到另一台机器中,并期望逻辑卷在新机器中工作吗?

可以,停那儿吧。

您可以将卷组迁移到另一个主机。虽然不完全是即插即用,但这样做的过程是相当直截了当.有几十个教程可以在网上找到如何做到这一点。

这个服务器故障线程讨论如何使用dd命令将LVM分区移动到另一个主机。

票数 16
EN

Unix & Linux用户

发布于 2015-02-16 03:34:05

pvcreate /dev/sdb是否向/dev/sdb写入任何元数据?如果是的话,写的是什么?

是的,但它不过是一些标头和标识数据,将块设备标记为LVM PV。“真正的”元数据是在创建卷组时出现的。

vgcreate data /dev/sdb /dev/sdc在哪里存储卷组的配置?

在作为卷组一部分的每个物理卷上。默认情况下,在卷组中的每个物理卷中的每个元数据区域中都维护相同的元数据副本。LVM卷组元数据很小,存储为ASCII.

LVM在哪里存储逻辑区段和物理区段之间的映射?

这是上述卷组元数据的一部分。

在LVM配置中是否有任何特定于机器的配置?

不是的。PVs是VG的一部分,通过使用PV创建时分配的唯一标识符来发现和组装。

假设我有两个磁盘配置成一个逻辑卷的机器,我可以把这些磁盘从机器中取出,放到另一台机器中,并期望逻辑卷在新机器中工作吗?

是。如果组成VG的所有PV都存在,那么VG上的LVs就会工作。

票数 24
EN

Unix & Linux用户

发布于 2017-02-26 00:37:43

  • pvcreate /dev/sdb是否向/dev/sdb写入任何元数据?如果是的话,写的是什么?
  • vgcreate data /dev/sdb /dev/sdc在哪里存储卷组的配置?

pvcreate为PV创建"label“和"header”,并为卷上的元数据分配空间(如--[pv]metadata选项所指定)。报头是一个二进制数据结构,它包含指向该PV上的元数据区域(S)的指针。

vgcreate命令将卷组当前状态的文本描述存储到先前在相关PV上分配的元数据区域(如--[vg]metadatacopies选项控制的那样)。这些是由vgcfgbackup命令备份的描述,在大多数情况下都是人们感兴趣的元数据。

对于更晦涩的PV标签/标题信息,可以在LVM内部的http://mo.morsi.org/blog/node/392中找到一个概述描述(它包括一个链接到一个可以解析标签/标题lvm-parser.rb的Ruby )。

类似的Python模块pvdissect也出现在http://www.syslinux.org/wiki/index.php?title=Development/LVM_支持的底部。

票数 5
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/185057

复制
相关文章

相似问题

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