在 LVM 中添加磁盘的最佳实践是什么

在 LVM 中添加磁盘的最佳实践是什么

根据 Linux 手册页,您可以将原始磁盘以及分区添加到卷组中。

在其他文档(RedHat、CentOS 或 openSUSE)中,所有示例均指向 VG 而不是原始磁盘添加分区。什么是常见(最佳)做法?

答案1

RHEL6 LVM 管理指南

根据RHEL 6 逻辑卷管理指南如果您要将整个驱动器用作 LVM 卷组中的物理卷,建议您仍应对其进行分区:

摘自指南“RHEL6 Logical Volume Manager Administration LVM 管理员指南”

2.1.2.磁盘上的多个分区

LVM 允许您从磁盘分区创建物理卷。通常建议您创建覆盖整个磁盘的单个分区来标记为 LVM 物理卷,原因如下:

行政便利

如果每个真实磁盘仅出现一次,则更容易跟踪系统中的硬件。如果磁盘出现故障,情况尤其如此。此外,单个磁盘上的多个物理卷可能会导致启动时出现有关未知分区类型的内核警告。

LVM 指南

部分11.1.初始化LVM Howto的磁盘或磁盘分区规定如下:

摘自 LVM Howto

对于整个磁盘:

在磁盘上运行 pvcreate:

# pvcreate /dev/hdb

这会在磁盘的开头创建一个卷组描述符。

不建议

不建议使用整个磁盘作为 PV(而不是跨越整个磁盘的分区),因为它可能会产生管理问题。任何其他查看该磁盘的操作系统都无法识别 LVM 元数据并将该磁盘显示为空闲,因此它很可能会被覆盖。 LVM 本身可以很好地处理整个磁盘 PV。

如果您收到 LVM 无法初始化带有分区表的磁盘的错误,请首先确保您正在操作的磁盘是正确的。如果您非常确定是这样,请运行以下命令:

危险的

以下命令将破坏正在操作的磁盘上的分区表。请确保它是正确的磁盘。

# dd if=/dev/zero of=/dev/diskname bs=1k count=1
# blockdev --rereadpt /dev/diskname

结论

这些是我在确定是否应该在将 HDD 添加为物理卷之前格式化 HDD 上的单个分区时所信任的主要来源。正如其他答案所表明的那样(和评论),您只需添加不带分区的整个驱动器就不会错。

对我来说,我把它比作系好安全带开车。如果你从来没有发生过事故,那么安全带就没有任何作用,但如果我真的发生了事故,我肯定很高兴我系了它。

后续#1(针对@Joel 的评论)

我认为以上两个指南是两个很好的理由。它们都是官方指南,一份来自 RH,另一份是 LVM 团队整理的 Howto。

这是另一个原因。通过不对 HDD 进行分区,HDD 上不会显式设置 ID 来清楚地识别其使用方式。

 fdisk -l
 ...
/dev/sda6       318253056   956291071   319019008   8e  Linux LVM

作为系统管理员,与不使用 8e 相比,我和其他人更清楚如何使用此特定驱动器的意图。

我很欣赏你所说的@Joel,我也曾在一家财富 500 强公司工作过,我们在桌面/服务器物理/虚拟部署以及大型存储部署中部署了 100 个 Linux,所以我明白你的意思说。

答案2

最好有一些普遍认可的描述符(元数据),MBR 确实可以作为这样的描述符。甚至 GPT 也使用旧的基于 MBR 的分区表来指示其存在。

事实上,您会损失一些磁盘空间,但这是可以忽略不计的,同时了解磁盘上的内容(以及位置)的优势是不言而喻的。

答案3

在占用 100% 磁盘空间的分区上创建物理卷几乎从来都不是正确的做法。我说“几乎”只是因为我的态度是,仅仅因为我想不出做某事的理由,并不意味着没有理由去做这件事。也就是说,如果磁盘采用 LVM,我想不出任何理由将分区放在 100% 的空间上。

恢复部分刚性分区并不会带来任何明显的好处。如果这些是 SAN 支持的物理卷,并且您这样做了,则只有两种方法可以扩展卷组中的存储空间:

  1. 提供一个新的更大的 LUN,将其添加到卷组中,pvmove 删除您莫名其妙分区的 LUN,将其从卷组中删除,并告诉 SAN 人员取消它。这可能可行,并且可以在线完成(会影响性能,并假设 SAN 端的存储池中有足够的 SAN 空间来同时容纳这两个 LUN),但它是可行的。
  2. 唯一的其他方法是回到处理分区,这是人们喜欢设计良好的卷管理方案(如 btrfs、lvm、zfs 等)的部分原因。您可以编辑物理卷的分区表并希望partprobe让您读取新的大小,但根据我的个人经验,这只能起作用大约二分之一,并且它需要您卸载文件系统(即强制您去离线人们喜欢卷管理器的另一个原因)。

如果您使用整个磁盘,SAN 管理员可以为您扩展 LUN,您重新扫描 SCSI 总线,它会获取 LUN 的新大小,然后您执行pvresize扩展物理卷的操作。所有这些都无需使任何文件系统离线。

关闭 MBR 位后,您通常不会从一个系统获取 PV 并将其呈现给企业环境中的另一个系统。即使您这样做了,如果是 LVM,您也会希望您要向其提供 LUN 的操作系统支持 LVM。不然把它呈现给他们还有什么意义呢?如果是,那么您可以看到所有物理卷信息、卷组信息和逻辑卷(假设这是卷组中唯一的 PV)。所以它以这种方式自我记录。

基本上:将整个磁盘分区为 100% 就像要求给你送苹果派的服务员也给你送一把刀一样。当他这样做时,你把刀扔到一边,把脸埋进馅饼里。意思是:如果你只想一次性使用它,那么坚持使用一种工具将某些东西分成更小的部分是没有意义的。

答案4

根据我的经验,如果您正在测试或磁盘/存储不可用的小型环境,那么使用分区会很好。这非常适合上学或在车库工作。在现实世界中,使用可以根据需要扩展磁盘的虚拟服务器,如果让 LVM 管理原始/整个磁盘而不是分区,效果会更好。无需重新启动服务器即可轻松灵活地进行管理。你知道这样可以节省多少时间吗?乘以您可能需要管理的所有服务器!我多次遇到挑战,由于分区/切片的原因,您需要重新启动服务器,因为内核可能无法识别新表。当向 LVM 添加原始磁盘/虚拟磁盘并且需要扩展文件系统时,使用原始磁盘的 LVM 非常有用。通过运行一个简单的命令,例如“echo 1 >/sys/block/XXX/device/rescan”,其中 XXX 是您的磁盘(sdb、sdc、sdd 等),将重新扫描磁盘以获取额外空间,而无需重新启动,然后繁荣!您将能够动态扩展您的文件系统。在不重新启动 Linux 服务器的情况下扩展磁盘将花费您大约 5 分钟的时间。对于分区磁盘,此过程很复杂

相关内容