Answers:
pvcreate / dev / sdb是否将任何元数据写入/ dev / sdb?如果是这样写的是什么?
如果将-vv
标志传递给pvcreate
命令,它将使命令更加冗长,并且您将看到pvcreate在磁盘上创建了元数据区域。
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元数据。其中一部分如下所示:
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
假设我有一个配置有2个磁盘的计算机到一个逻辑卷中,是否可以将这些磁盘从该计算机中取出并放入另一台计算机中,并希望该逻辑卷可以在新计算机上工作?
是的你可以。
您可以将卷组迁移到另一台主机。尽管它不是完全即插即用的,但是执行此操作的过程非常简单。在线提供了数十种如何进行此操作的教程。
这个serverfault线程讨论了有关使用dd
命令将LVM分区移动到另一个主机的信息。
是否
pvcreate /dev/sdb
将任何元数据写入/dev/sdb
?如果是这样写的是什么?
是的,但是将块设备标记为LVM PV仅仅是一些标题和标识数据。创建卷组时会出现“实际”元数据。
vgcreate data /dev/sdb /dev/sdc
卷组的配置存储在哪里?
在属于卷组的每个物理卷上。默认情况下,在卷组中每个物理卷中的每个元数据区域中维护元数据的相同副本。LVM卷组元数据很小,并以ASCII形式存储。
LVM在逻辑盘区和物理盘区之间的映射存储在哪里?
这是上述卷组元数据的一部分。
LVM配置中是否有任何特定于计算机的配置?
不可以。通过使用在创建PV时分配的唯一标识符,可以找到并组装属于VG的PV。
假设我有一个配置有2个磁盘的计算机到一个逻辑卷中,是否可以将这些磁盘从该计算机中取出并放入另一台计算机中,并希望该逻辑卷可以在新计算机上工作?
是。如果组成VG的所有PV均存在,则该VG上的LV将起作用。
- 是否
pvcreate /dev/sdb
将任何元数据写入/dev/sdb
?如果是这样写的是什么?vgcreate data /dev/sdb /dev/sdc
卷组的配置存储在哪里?
pvcreate
为PV创建一个“标签”和一个“标题”,还为卷上的元数据分配空间(由该--[pv]metadata
选项指定)。标头是二进制数据结构,包括指向该PV上元数据区域的指针。
该vgcreate
命令将卷组当前状态的文本描述存储到先前在关联的PV上分配的元数据区域中(由--[vg]metadatacopies
选项等控制)。这些是vgcfgbackup
命令支持的描述,并且在大多数情况下是人们想要检查的元数据。
有关更模糊的PV标签/标题信息:可以在LVM Internals(http://mo.morsi.org/blog/node/392)中找到一个概述说明(其中包括指向可以解析标签的Ruby脚本的链接) / header,。lvm-parser.rb
)
pvdissect
在http://www.syslinux.org/wiki/index.php?title=Development/LVM_support的底部可以找到类似的Python模块。