第 11 章 控制 LVM 分配
默认情况下,卷组使用 正常的 分配策略,这样可避免将并行条带放在同一个物理卷中。您可以使用 vgcreate 和 the- alloc 选项将其更改为 连续的、anywhere 或 cling。只有在特殊扩展分配情况下,才需要其他策略。
11.1. 从指定设备分配扩展 复制链接链接已复制到粘贴板!
使用带有 lvcreate 和 lvconvert 的 device 参数来限制对特定物理卷(PV)的分配。您可以指定扩展范围来更好地控制。分配只使用列出的 PV,如果空间不足,命令会失败。
RAID LV 将连续 PV 用于单独的 RAID 镜像或条带。如果 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 中分配一部分。
在这个示例中,
lv1扩展将从sda分配:# lvcreate -n lv1 -L1G vg /dev/sda在这个示例中,
lv2扩展将从sda或sdb分配,或两者组合中分配:# lvcreate -n lv2 -L1G vg /dev/sda /dev/sdb在这个示例中,
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会产生一个带有两个镜像的raid1LV。 -
<lv_name>是 LV 的名称。 -
<lv_size>是 LV 的大小。默认单位是 MB。 -
<vg_name>是 VG 的名称。 <[PV …]>是 PV。第一个 raid 镜像将从第一个 PV 中分配,第二个 raid 镜像将从第二个 PV 中分配,以此类推。
在这个示例中,
lv4第一个 raid 镜像将从sda中分配,第二个镜像将从sdb中分配:# lvcreate --type raid1 -m 1 -n lv4 -L1G vg /dev/sda /dev/sdb在这个示例中,
lv5第一个 raid 镜像将从sda中分配,第二个镜像将从sdb中分配,第三个镜像将从sdc中分配:# lvcreate --type raid1 -m 2 -n lv5 -L1G vg /dev/sda /dev/sdb /dev/sdc
-