您可以从 LVM 容器的可用空间创建 LVM 区域。如果容器中至少有一个可用空间范围,您可以创建一个新区域。
以下选项可用于创建 LVM 区域
新区域的名称。
要分配给新区域的盘区数量。新区域必须至少有一个盘区,且不超过容器中可用的总空闲盘区数或 65534(以较小者为准)。如果您使用盘区选项,则会自动计算 size 选项的适当值。默认情况下,新区域使用容器中的所有可用盘区。
新区域的大小。此大小必须是容器 PE 大小的倍数。如果您使用大小选项,则会自动计算 extents 选项的适当值。默认情况下,新区域使用容器中的所有可用空间。
如果容器占用两个或多个对象,并且每个对象都有未分配的盘区,则新区域可以跨多个对象进行条带化。这类似于 RAID-0 条带化,并提高了跨多个对象的 I/O 吞吐量。此选项指定新区域应跨多少个对象进行条带化。默认情况下,新区域不进行条带化,此值设置为 1。
条带化的粒度。默认值为 16 KB。仅当条带选项大于 1 时才使用此选项。
此选项指定新区域必须在单个对象上分配,并且该对象上的盘区必须是物理上连续的。默认情况下,此项设置为 false,允许区域跨越对象。如果条带选项大于 1 时才使用此选项。
新区域应映射到的对象名称列表。默认情况下,此列表为空,这意味着所有可用对象都将用于为新区域分配空间。
如果容器中有未使用的盘区,您可以扩展现有的 LVM 区域。如果区域是条带化的,则只能通过使用其条带化对象上的可用空间来扩展它。如果区域是使用 contiguous 选项创建的,则只有在当前已分配空间之后有物理上连续的空间时,才能扩展它。
以下选项可用于扩展 LVM 区域
要添加到区域的盘区数量。如果您指定此选项,则会自动计算 add_size 选项的适当值。默认情况下,区域将扩展以使用容器中的所有可用空闲盘区。
要添加到区域的空间量。如果您指定此选项,则会自动计算 add_extents 选项的适当值。默认情况下,区域将扩展以使用容器中的所有可用空间。
用于分配额外空间的对象名称列表。默认情况下,此列表为空,这意味着所有可用对象都将用于为区域分配新空间。
您可以通过从区域末尾删除盘区来缩小现有的 LVM 区域。区域必须至少有一个盘区,因此区域不能缩小为零。
缩小 LVM 区域时,可以使用以下选项。由于区域始终通过从区域末尾删除空间来缩小,因此在此命令中无法指定对象列表。
要从区域中移除的盘区数量。如果您指定此选项,则会自动计算移除大小选项的适当值。默认情况下,从区域中移除一个盘区。
要缩小区域的空间量。如果您指定此选项,则会自动计算移除盘区选项的适当值。
LVM 插件允许您更改 LVM 区域的逻辑到物理映射,并在过程中移动必要的数据。如果需要从容器中删除 PV,此功能最有用。目前有两个用于移动区域的 LVM 插件功能:move_pv 和 move_extent。
当需要从容器中删除 PV 时,必须将该 PV 上分配给区域的所有 PE 移动到其他 PV。 move_pv 命令允许您将 PE 移动到其他 PV。 move_pv 针对 LVM 容器,所需的 PV 用作选定的对象。以下选项可用
默认情况下,容器中所有剩余的 PV 都用于查找可用的盘区以移动 PE。您可以使用此选项指定 PV 的子集。
当目标 PV 包含条带化区域时,有三种选择来处理移动属于这些区域的盘区
不必费心维护真正的条带化。此选项允许将盘区移动到区域已用于其他条带的 PV。这意味着性能将不如真正的条带化那样最佳,但在执行移动操作时允许最大的灵活性。此选择是 maintain_stripes 选项的默认值。
确保移动的盘区不会最终出现在条带化区域已使用的任何 PV 上。但是,这不能确保所有移动的盘区都最终出现在同一个 PV 上。例如,具有三个条带的区域最终可能会映射到四个或更多 PV。
确保所有移动的盘区最终都出现在同一个 PV 上,从而确保使用与条带化区域最初使用的 PV 数量相同的 PV 进行真正的条带化。这是限制最多的选择,并且可能会阻止 move_pv 操作继续进行(取决于容器的特定配置)。
如果目标 PV 没有条带化区域,则 maintain_stripes 选项将被忽略。
除了从一个 PV 移动所有盘区之外,LVM 插件还提供了移动单个盘区的功能。这允许对盘区的分配进行细粒度调整。此命令的目标是拥有要移动的盘区的区域。 move_extent 命令有三个必需的选项
要移动的逻辑盘区号。LE 编号从 0 开始。
要将盘区移动到的目标对象。
目标对象上的目标物理盘区。PE 编号也从 0 开始。
为了确定源 LE 和目标 PE,查看有关相关区域和容器的扩展信息通常很有帮助。以下是可用于收集此信息的命令行选项
要查看区域中 LE 的映射,请输入此命令
query:ei,<region_name>,Extents |
要查看容器中 PV 的列表,请输入此命令
query:ei,<container_name>,Current_PVs |
要查看所需目标 PV 的当前 PE 映射,请输入此命令
query:ei,<container_name>,PEMapPV# |
# 是容器中目标 PV 的编号。
通过在所需区域和容器的上下文弹出菜单中使用“显示详细信息”项,也可以在 GUI 和文本模式 UI 中轻松获得此信息。
您可以重命名现有的 LVM 区域。在 EVMS GUI 和文本模式 UI 中,这是使用 modify properties 命令完成的,该命令可通过“操作”菜单或上下文相关弹出菜单获得。在 EVMS CLI 中,这是使用 set 命令完成的。
如果重命名的 LVM 区域上有兼容性卷,则该兼容性卷的名称也将更改。为了使其正常工作,必须在更改名称之前卸载该卷。另外,请务必更新您的/etc/fstab文件(如果列出了该卷),否则下次系统启动时将无法正确挂载该卷。
如果重命名的 LVM 区域具有 EVMS 卷或构建在其上的另一个存储对象,则区域的名称更改对于上层将是透明的。在这种情况下,可以在卷已挂载的情况下完成重命名。