首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么要调整PV的大小而不是添加新的PV?

为什么要调整PV的大小而不是添加新的PV?
EN

Unix & Linux用户
提问于 2017-05-18 04:21:45
回答 2查看 1.6K关注 0票数 6

当您增加现有块设备的大小时(例如/dev/sdc从vmware获得20 eg,现在它已经增加到40 eg),您需要为LVM做一些工作才能使用这个空间。我看到的所有指南(123.)都建议删除现有的分区,并在末尾添加额外的空间重新创建它,然后运行pvresize。

与调整/dev/sdc2 1然后运行pvresize /dev/sdc1不同,您还可以创建/dev/sdc2 2并运行pvcreate /dev/sdc2并将其添加到VG中。

是否有技术或性能方面的原因,为什么调整大小比添加新分区更好,还是调整大小的方式总是这样?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2017-05-18 06:40:50

摘要:从纯技术的角度来看,这并没有多大的区别,但是调整大小更好。一旦您添加了实际的方面,添加一个新的分区是一个明显的赢家。

从严格的技术角度来看,新的PV有一些缺点:

  • 得到另一个LVM元数据副本,这需要一些磁盘空间。如果您经常执行LVM操作,这也会导致写入放大(因为元数据被镜像到所有PV)。
  • 可能会留下空的对齐空间。
  • 稍微增加LVM元数据(每拷贝)的数量,以存储有关新PV的信息。
  • 如果您创建了一个跨两个PV的LV,那么它并不是连续的(由于额外的元数据和为对齐留下的任何漏洞)。因此,例如,如果您使用这个LV来进行大的顺序读/写,那么现在里面有一个查找器。

从实际的角度来看,所有这些都与合理数量的PVs无关。元数据的额外副本首先重要,但是有一个LVM选项来保留更少的副本(VG --metadatacopies或PV --metadataignore)。

此外,继续从实际角度出发,删除和重新创建分区更有可能受到管理错误(错误等)的影响。而不是创建一个新的分区,因为后者有更好的工具。并且发生的任何管理错误对调整大小都可能具有更大的破坏性(因为您的数据位于调整大小的分区上,但是新分区上没有数据)。当您有多个层时,情况就更糟了;例如,LVM下面的mdraid。根据您的-e选项,当您调整分区大小时,超级块可以位于数组的末尾。

脑海中有一个例外:如果出于任何原因,您无法创建一个新分区。例如,您可能使用DOS分区表,并且已经使用了所有四个主分区(没有创建扩展分区)。那你就别无选择。

票数 6
EN

Unix & Linux用户

发布于 2020-01-15 19:03:59

按照您的建议,通过继续向同一个VG中添加更多的PVs以增加VM的存储,横向扩展存储将变得非常糟糕。

假设您需要在VM上增加10倍的空间--您要将一个新的PV添加到VG 10次吗?您的VM最终会有一个非常多的虚拟磁盘和PVs连接到它们上。

当您每次向VG中添加PV以使用额外的空间时,当您执行lvextendresize2fs时,会发生什么?您的LV和它们上的文件系统将跨越多个PV。如果您执行一个pvdisplay -m,您将看到您的LV使用来自不同PV的区段。

一个系统越复杂,它就越有可能失败,这是一些奇怪和意想不到的方式。

这并不是说“每个VM不超过一个PV (虚拟磁盘)”!为每个VG使用一个PV,即:vg_systemvg_data是一个整洁的组织,将数据从操作系统中抽象到一个单独的堆中。我只建议在您的VM中避免为相同的VG使用多个PV。

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

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

复制
相关文章

相似问题

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