LVM是否需要分区表?


18

看来我能够成功地在原始块设备上执行pvcreate,而无需执行创建分区表的步骤。然后,我可以创建一个卷组,逻辑卷,最后是一个文件系统,将其装入并通过dd测试。

它似乎可以工作,但是我需要进行健全性检查。这是一个坏主意吗?

如何在原始块设备的顶部创建GPT或MBR分区表?

如何使用parted显示正在使用的分区表类型?我试着做:

分开,选择/ dev / sdb,打印,我得到:

错误:/ dev / sdb:无法识别的磁盘标签

但是该驱动器目前正在使用中,我可以对其进行读写。在没有分区表的原始块设备上执行LVM时,这是预期的输出吗?有什么想法吗?

谢谢!

Answers:


29

即使LVM本身并不关心拥有真正的分区,创建它的一个原因还是要告知分区程序“那里有东西”。噩梦般的场景是新的系统管理员,它诊断服务器上的启动问题,启动分区程序,查看未分区的磁盘并得出驱动器已损坏的结论。

我认为创建LVM分区没有任何不利之处。你呢?


1
方案+1。在现实生活中很有可能。
Hennes

1
+1具有洞察力。
亚历山大·扬森

谢谢回复!对于分区表,我当然没有任何不利之处。我只是想通过健全性检查来确认。因此,正确的层顺序是:块设备,分区表,卷组,逻辑卷,文件系统,这是正确的吗?
猫裤子

8
缺点:如果扩展块设备并且未使用分区表,则可以立即使用pvresize扩展物理卷。如果使用了分区表,则必须删除该分区并首先以较大的大小重新创建它。
sciurus 2014年

1
谨慎行事固然很好,但抛开问题却无济于事。不需要此分区,并且拥有分区也有不利之处。
bryn

16

虽然您可以仅使用原始块设备创建pv,但通常我会尽量避免使用它,因为它可能会导致混淆该块设备的用途。如果LVM缺少配置文件,它也可能会破坏LVM可以使用的一些自动发现例程。

这是一个使用parted创建一个GPT的示例,该GPT的1个分区是整个驱动器,并将分区标志设置为lvm。mkpart要求您指定文件系统,但它不会创建文件系统。似乎是一个长期存在的错误。另外,起始偏移量为1M,以确保获得正确的对齐。

parted /dev/sdb
mklabel GPT
mkpart primary ext2 1M 100%
set 1 lvm on

3
“ mkpart要求您指定文件系统,但它不会创建文件系统。” 谢谢你提到这一点,那是建立理智的巨大!:)
猫裤子

1
不再如此。mkpart primary 1M 100%工作并且文件系统字段留为空白。
2015年

1
@ 3dinfluence lvm现在会自动对齐,多年以后,我看不到真正的用例来为lvm专用的数据磁盘使用分区
c4f4t0r

5

如果直接在KVM guest虚拟机内的虚拟存储设备上创建PV,则您会注意到来自guest虚拟机的逻辑卷在管理程序上可见。如果您在多个guest虚拟机上使用相同的逻辑卷和卷组名称,则可能会造成混乱。您可能还会在管理程序上收到一些警告,指出它找不到设备。

例如,我在测试管理程序上重新创建了此问题:

[root@testhost ~]# vgs
  Couldn't find device with uuid dCaylp-1kvL-syiF-A2bW-NTPP-Ehlb-gtfxZz.
  VG          #PV #LV #SN Attr   VSize   VFree  
  vg_main       2   2   0 wz-pn-  19.25g 768.00m
  vg_main       2   2   0 wz-pn-  19.25g 768.00m
  vg_testhost   1   8   0 wz--n- 237.98g 120.15g

在这里,您可以看到2个具有相同名称的卷组,这两个组都是来自来宾的,它们不应真正出现在虚拟机监控程序上。

因此,我建议您先使用parted或fdisk在此处创建KVM分区(如3dinfluence上一个回答所示),然后再创建PV并将其添加到卷组中。这样,来宾逻辑卷对虚拟机管理程序保持隐藏。


1
如果filter在/etc/lvm/lvm.conf中使用它来过滤掉VM直接使用的所有块设备,则可以避免这种情况。
Mircea Vutcovici

磁盘始终始终存在于主机上-分区只是不映射。kpartx -a会为你做的。系统管理程序可以访问所有来宾磁盘,但是不应激活卷组。
布莱恩



3

即使过去使用PV的MS-DOS磁盘标签或GPT磁盘标签,现在我还是更喜欢直接在主块设备上使用LVM。除非您有非常特殊的用例(例如带有引导扇区和引导分区的磁盘),否则没有理由使用两个disklabel。

直接使用LVM的优点是:

  • 简单-您无需使用2套工具
  • 灵活性-您可以使用pvmove将数据从一个磁盘卷移动到另一个磁盘卷而无需停机,可以使用快照和精简配置
  • 您无需运行partprobe或kpartx即可告诉内核您已创建/调整大小/删除了卷。和partprobe / kpartx可能会失败,如果分区正在使用,则可能需要重新启动
  • 与在MS-DOS或GPT磁盘之上使用LVM相比,性能可能更好

2
不知道为什么每个人都想要该分区-但是在这里回答的方向是“为什么不”。这个答案更好-如果要使用整个磁盘,则不需要分区。拥有分区也可能使调整磁盘大小/扩展磁盘的工作更加痛苦。
bryn

许多Unix系统管理员将这种逻辑带到linux上,我记得在公共和私有环境下工作的veritas卷管理器,在Linux中没有任何意义
c4f4t0r
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.