第 11 章 控制 LVM 分配
默认情况下,卷组使用 normal
分配策略。这会根据常识性规则分配物理扩展,如不在同一个物理卷上放置并行条带。您可以使用 vgcreate
命令的 --alloc
参数指定不同的分配策略(contiguous
、anywhere
或 cling
)。通常,只在特殊情况下需要指定非通常或非标准扩展分配时,才需要不同于 normal
的分配策略。
11.1. 从指定设备分配扩展
您可以使用命令行末尾的 device 参数以及 lvcreate
和 lvconvert
命令来限制从特定的设备分配。您可以为每个设备指定实际的扩展范围,以提供更多控制。命令通过使用指定的物理卷(PV)作为参数,来只为新逻辑卷(LV)分配扩展。它使用每个 PV 的可用扩展,直到它们耗尽,然后使用列出的下一个 PV 中的扩展。如果所有列出的 PV 上没有足够的空间用于请求的 LV 大小,则命令失败。请注意,命令只从指定的 PV 分配。RAID LV 对单独的 raid 镜像或单独的条带使用顺序 PV 。如果 PV 对于整个 raid 镜像不够大,则生成的设备使用不是完全可预测的。
流程
创建卷组(VG):
# vgcreate <vg_name> <PV> ...
其中:
-
<vg_name>
是 VG 的名称。 -
<PV>
是 PV。
-
您可以分配 PV 来创建不同的卷类型,如 linear 或 raid :
分配扩展以创建线性卷:
# lvcreate -n <lv_name> -L <lv_size> <vg_name> [ <PV> ... ]
其中:
-
<lv_name>
是 LV 的名称。 -
<lv_size>
是 LV 的大小。默认单位是 MB。 -
<vg_name>
是 VG 的名称。 [ <PV …> ]
是 PV。您可以在命令行上指定其中一个 PV、所有 PV 或 none :
如果您指定一个 PV,则会从其中为那个 LV 分配扩展。
注意如果 PV 对于整个 LV 没有足够的空闲扩展,则
lvcreate
失败。- 如果您指定了两个 PV,则将从其中一个 PV 或两者的组合为那个 LV 分配扩展。
如果没有指定任何 PV,则将从 VG 中的一个 PV 或者 VG 中所有 PV 的组合分配扩展。
注意在这些情况下,LVM 可能无法使用所有命名的 PV 或可用的 PV。如果第一个 PV 对于整个 LV 有足够的空闲扩展,则可能不会使用其他 PV。但是,如果第一个 PV 没有一组空闲扩展的分配大小,则 LV 可能会从第一个 PV 中分配一部分,从第二个 PV 中分配一部分。
例 11.1. 从一个 PV 中分配扩展
在这个示例中,
lv1
扩展将从sda
分配。# lvcreate -n lv1 -L1G vg /dev/sda
例 11.2. 从两个 PV 中分配扩展
在这个示例中,
lv2
扩展将从sda
或sdb
或两者的组合中分配。# lvcreate -n lv2 L1G vg /dev/sda /dev/sdb
例 11.3. 分配扩展,而不指定 PV
在本例中,
lv3
扩展将从 VG 中的一个 PV 或 VG 中所有 PV 的组合中分配。# lvcreate -n lv3 -L1G vg
或者
-
分配扩展以创建 raid 卷:
# lvcreate --type <segment_type> -m <mirror_images> -n <lv_name> -L <lv_size> <vg_name> [ <PV> ... ]
其中:
-
<segment_type>
是指定的片段类型(如raid5
、mirror
、snapshot
)。 -
<mirror_images>
使用创建一个带有指定的镜像数的raid1
或镜像 LV。例如,-m 1
会产生一个带有两个镜像的raid1
LV。 -
<lv_name>
是 LV 的名称。 -
<lv_size>
是 LV 的大小。默认单位是 MB。 -
<vg_name>
是 VG 的名称。 <[PV …]>
是 PV。第一个 raid 镜像将从第一个 PV 中分配,第二个 raid 镜像将从第二个 PV 中分配,以此类推。
例 11.4. 从两个 PV 中分配 raid 镜像
在这个示例中,
lv4
第一个 raid 镜像将从sda
中分配,第二个镜像将从sdb
中分配。# lvcreate --type raid1 -m 1 -n lv4 -L1G vg /dev/sda /dev/sdb
例 11.5. 从三个 PV 中分配 raid 镜像
在本例中,
lv5
第一个 raid 镜像将从sda
中分配,第二个镜像将从sdb
中分配,第三个镜像将从sdc
中分配。# lvcreate --type raid1 -m 2 -n lv5 -L1G vg /dev/sda /dev/sdb /dev/sdc
-
其他资源
-
系统中
lvcreate (8)
,lvconvert (8)
, 和lvmraid (7)
man page