Lor*_*ein 52 kvm lvm virtualization
创建 VM 映像(例如 KVM 映像)时,是否应将 LVM 用于分区?如果您想在主机中挂载 qcow2 映像(如果映像具有 LVM 分区),这似乎会增加复杂性。
另一方面,LVM 分区的优势在 VM 映像上似乎没有那么重要,因为与物理系统相比,使 VM 脱机并调整分区大小要容易得多。
Dan*_*tts 26
“这取决于。”
如果您在自己控制的环境中(vmware 或 kvm 或其他),并且可以自己决定磁盘性能 QoS,那么我建议您不要在 VM 中使用 LVM。它不会为您带来很多在虚拟机管理程序级别无法获得的灵活性。
请记住,管理程序已经在有效地执行这些任务。如果您希望能够任意调整文件系统的大小(一个好主意),只需为每个文件系统创建一个单独的虚拟磁盘。
当你走这条路时,你可能会想到一件事。您甚至不一定需要以这种方式在虚拟磁盘上放置分区。例如,您可以创建一个虚拟磁盘/home;它/dev/vdc在你的虚拟机里面。创建文件系统时,只需执行类似操作mke2fs -j /dev/vdc而不是指定分区。
这是一个好主意,但是...大多数工具(以及跟随您的其他管理员)都希望看到每个磁盘上的分区。我建议只在磁盘上放置一个分区并完成它。不过,这确实意味着在调整文件系统大小时又多了一步。并且不要忘记正确对齐您的分区 - 从 1MB 开始第一个分区是一个很好的经验法则。
所有这一切 - 在管理程序级别执行所有这些操作意味着您可能必须重新启动 VM 以调整分区大小。使用 LVM 将允许您热添加虚拟磁盘(假设您的虚拟机管理程序/操作系统组合允许这样做),并且无需重新启动即可扩展文件系统。这绝对是一个加分项。
同时,如果您使用的是云提供商,则更加微妙。
我不太了解 Azure、GCP 或任何较小的参与者,因此我无法提供帮助。
使用 AWS,您可以按照我上面的建议进行操作,通常会很好。您可以(现在)即时增加 EBS 卷(虚拟磁盘)的大小,并调整分区大小等。
但是,在一般情况下,将所有内容放在一个大的 EBS 卷上并使用 LVM(或者,我想,普通分区)可能是有意义的。亚马逊为您提供了每个卷的 IOPS 限制。默认情况下,此限制随着卷的大小而缩放。例如,对于gp2卷,您将获得每 GiB 3 IOPS(最低 100 IOPS)。请参阅https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
对于大多数工作负载,您希望所有可用的 IOPS 可用于任何文件系统,具体取决于当前的需要。因此,制作一个大 EBS 卷、将所有 IOPS 放在一个存储桶中并对其进行分区/LVM 是有意义的。
例子:
3 个具有独立文件系统/交换区的磁盘,每个磁盘的大小为 100GB。每个获得 300 IOPS。每个磁盘上的性能限制为 300 IOPS。
1 个磁盘,大小为 300GB。磁盘上的 LVM 分区每个 100GB。磁盘获得 900 IOPS。任何分区都可以使用全部 900 IOPS。
我实际上喜欢使用 LV,因为它们不容易从 virt-server 访问。因此,这些文件不容易被偶然破坏/移动。
LV 的其他重要特性:
iostat)为了降低复杂性,我使用 LV 作为磁盘(而不是作为分区)。缺点是我只能轻松地调整“磁盘”的最后一个分区的大小 - 但我的标准虚拟机磁盘布局考虑到了这一点(因此最后一个分区包含重要的应用程序数据)。