Red Hat Training
A Red Hat training course is available for RHEL 8
第 14 章 控制 LVM 分配
默认情况下,卷组根据常识分配物理扩展,比如不会将平行条带放在同一个物理卷中。这是正常的
分配策略。您可以使用 vgcreate
命令的 --alloc
参数指定 contiguous
、anywhere
或 cling
的分配策略。通常,只有在需要指定异常或非标准扩展分配时,才需要 正常的
分配策略。
14.1. LVM 分配策略
当 LVM 操作需要为一个或多个逻辑卷分配物理扩展时,分配过程如下:
- 为考虑考虑,生成卷组中未分配的物理扩展的完整集合。如果您在命令行末尾提供任意物理扩展范围,则只考虑指定物理卷中的未分配物理扩展。
-
每个分配策略依次尝试,从最严格的策略(
contiguous
)开始,并以使用--alloc
选项指定的分配策略结束,或者设置为特定逻辑卷或卷组的默认设置。对于每个策略,使用需要填充的空逻辑卷空间的最小数值逻辑扩展进行工作,并尽量根据分配策略实施的限制分配空间。如果需要更多空间,LVM 会进入下一个策略。
分配策略的限制如下:
连续
分配策略要求任何逻辑扩展的物理位置不是逻辑卷的第一个逻辑扩展,与之前逻辑扩展的物理位置相邻。当逻辑卷是条带的或镜像时,
连续的
分配限制将独立应用于每个需要空间的条状或镜像镜像(leg)。清楚的
分配策略
要求将用于任何逻辑扩展的物理卷添加到已在该逻辑卷前面使用的现有逻辑卷中。如果两个物理卷中都定义了配置参数allocation/cling_tag_list
,则两个物理卷将被视为匹配。这允许对有类似属性(比如其物理位置)的物理卷组进行标记并视为分配的目的。当逻辑卷是条带的或镜像时,对需要空间的每个条状或者镜像(leg)应用
cling
分配限制。正常
分配策略不会选择与已经分配给并行逻辑卷(即,不同条带或镜像镜像/分支)相同的物理卷共享同一物理卷的物理范围。当与逻辑卷同时分配镜像日志来保存镜像数据时,
正常的
分配策略首先会尝试为日志和数据选择不同的物理卷。如果无法实现,并且allocation/mirror_logs_require_separate_pvs
配置参数被设置为 0,那么它将允许日志与部分数据共享物理卷。同样,在分配精简池元数据时,
normal
的分配策略将遵循与基于allocation/thin_pool_metadata_require_separate_pvs
配置参数的值相同的考虑。-
如果有足够的可用扩展来满足分配请求,但
普通
分配策略不使用它们,则任何位置
分配策略将使用它们,即使这样会将两个条带放在同一个物理卷上来降低性能。
可使用 vgchange
命令更改分配策略。
请注意,将来的更新可能会根据定义的分配策略在布局中进行代码更改。例如:如果您在命令行中提供两个空物理卷,它们有相同数量的可用物理扩展可用于分配,LVM 当前会以它们列出的顺序处理它们,但不保证在将来的版本中这个行为不会有变化。如果为特定逻辑卷获取特定的布局非常重要,那么您应该通过一系列 lvcreate
和 lvconvert
步骤来构建它,以便应用到每个步骤的分配策略不自行决定布局。
要查看分配过程目前在任何特定情况下的工作方式,您可以读取 debug 日志输出,例如,将 -vvvv
选项添加到命令中。