如何在 lvm 中对特定磁盘或分区进行操作?

如何在 lvm 中对特定磁盘或分区进行操作?

有1 500GB SSD和1 1TB HD,SSD已经是逻辑卷的一部分,HD使用fstab挂载。一切正常。

但是,出于好奇,如果我决定将第二个驱动器 (/dev/sda1) 扩展到逻辑卷,我是否仍然能够决定哪个驱动器中包含哪些内容以及如何进行?

我已经练习了一些,所以我熟悉pvcreate和vgextend(虚拟机),所以那部分还可以。但我无法将数据从一个特定驱动器移动到另一个驱动器,因为两者都位于同一卷组中。

感谢您的输入

答案1

但我无法将数据从一个特定驱动器移动到另一个驱动器,因为两者都位于同一卷组中。

有了pvmove,您就可以;即使逻辑卷已安装并正在使用。

例如,用于pvmove将数据从特定物理卷迁移出去可能是它最简单的用例。

如果单个卷组(简称 VG)中有两个或更多物理卷(简称 PV),并且其他 PV 上有足够的未分配空间,则可以将逻辑卷(简称 LV)迁移出去从第一个PV开始,用一个简单的

pvmove <device name of the first PV>

如果不指定目的地,pvmove将自动使用同一 VG 中的任何其他 PV 将 LV 的任何部分移出指定的 PV。如果需要,您可以选择指定同一 VG 的一个或多个目标 PV,然后它们将按照您指定的顺序使用:从第一个开始,一旦没有更多未分配的空间,就转到下一个one(s),直到源 PV 变空或没有空间可以移动更多范围。

如果我决定将第二个驱动器 (/dev/sda1) 扩展到逻辑卷,我是否仍然能够决定哪个驱动器中包含哪些内容以及如何进行?

然而,您的好奇心已经集中在一个有效的点上:如果您关心存储介质的差异,那么将不同的存储介质添加到单个卷组通常会适得其反。

LVM 的主要思想是允许您将任意数量的存储卷(分区或整个磁盘)合并到单个存储池(= 卷组)中,这样您就能够忽略各个存储卷的大小限制和其他差异。物理卷。然后,您可以将存储池用作单个大型逻辑卷,或将其分割成多个您需要的大小的逻辑卷。但这种假设是假设底层物理卷足够相似,因此您不关心差异。

如果您的 LVM 工具足够新,您可以使用该lvmdevices命令,那么您可以创建一个设备文件/etc/lvm/devices/,然后用于lvchange --devicesfile <name>将特定 LV 限制为指定设备文件中列出的设备。这可能就是您想要的:允许您将特定 LV 限制到特定存储,但以后能够轻松改变主意。

如果您的 LVM 工具没有该选项,您可以在使用lvcreatelvextend命令时指定您希望使用的 PV,并且可能指定lvchange --alloc clingLV 的分配策略以获得一些(不完美的)防止错误的保护。

如果您绝对希望将特定文件系统保留在特定类型的存储上,并且确定要以这种方式保留它们,则可以为 HDD 创建第二个单独的卷组。这将迫使您在创建 LV 时选择一个 VG,并且不允许您(轻松)将 LV 移动到错误的存储类型。

相关内容