答案1
总结:从纯粹的技术角度来看,没有太大区别,但调整大小更好。一旦添加了实际方面,添加新分区显然是赢家。
从严格的技术角度来看,新型光伏发电有一些缺点:
- 您将获得 LVM 元数据的另一个副本,这会消耗一些磁盘空间。如果频繁进行LVM操作,这也会导致写放大(因为元数据被镜像到所有PV)
- 可能留有空白空间用于对齐
- 稍微增加 LVM 元数据(每个副本)的数量,以存储有关新 PV 的信息。
- 如果您创建一个跨越两个 PV 的 LV,则它不是连续的(由于额外的元数据和留下用于对齐的任何孔)。因此,例如,如果您使用该 LV 进行大顺序读/写,那么现在就在那里进行查找。
从实际角度来看,这些对于任何合理数量的 PV 来说都不重要。元数据的额外副本首先重要,但有一个 LVM 选项可以保留更少的副本(VG--metadatacopies
或 PV --metadataignore
)。
此外,继续从实际角度来看,删除和重新创建分区比创建新分区更有可能遭受管理错误(拼写错误等),因为后者有更好的工具。发生的任何管理错误都可能对调整大小造成更大的破坏(因为您的数据位于调整大小的分区上,但新分区上没有数据)。当你有多个层时,情况会更糟;例如,mdraid 低于 LVM。根据您的-e
选择,超级块可以位于数组的末尾,这在您调整分区大小时很有趣。
我想到了一个例外:如果由于某种原因您无法创建新分区。例如,也许您正在使用 DOS 分区表,并且您已经使用了所有四个主分区(没有创建扩展分区)。那么你就没有选择了。
答案2
正如您建议的那样,通过继续向同一个 VG 添加更多 PV 来增加 VM 的存储来横向扩展存储,这会变得很糟糕。
假设您需要将 VM 上的空间增加 10 倍 - 您是否要向 VG 添加新的 PV 10 倍?您的虚拟机最终将拥有无数的虚拟磁盘和附加的 PV。
lvextend
当你每次resize2fs
向 VG 添加一个 PV 以使用额外的空间时,会发生什么?您的 LV 及其上的文件系统将跨越多个 PV。如果执行 a,pvdisplay -m
您将看到 LV 使用不同 PV 的范围。
系统越复杂,就越有可能以某种奇怪和意想不到的方式失败。
那是不是说“每个 VM 不超过 1 个 PV(虚拟磁盘)“!使用一个PV对于每个 VG,即:vg_system
并且vg_data
将是一个整洁的组织,将数据抽象成与操作系统分开的一堆。我只建议避免使用多个 PV相同的VM 中的 VG。