我做了什么
- 使用 Debian buster 的图形安装程序在一个硬盘上创建以下分区。
primary partition /boot
primary partition (for lvm)
- 创建一个卷组G。
- 在卷组G中创建逻辑卷X。
- 在卷组G中创建逻辑卷Y。
- 在卷组G中创建逻辑卷Z。
X、Y、Z 不是逻辑卷的实际名称。
惊喜
当我使用安装程序的菜单创建逻辑卷时,安装程序将列出我创建的逻辑卷。
不知何故,列表中 X、Y 和 Z 的顺序被打乱。我希望首先看到 X,然后是 Y,然后是 Z。但在列表中,我可能会看到另一种排序(例如 Y、X、Z)。
我的期望
我希望 X、Y 和 Z(在硬盘上)的物理位置的顺序与我创建它们的顺序相同:
Order of creation: X, Y, Z
Expected order of physical location on hard drive:
+---+---+---+
| X | Y | Z |
+---+---+---+
There is no gap between X and Y and no gap between Y and Z.
问题
我会得到我想要的吗?
答案1
逻辑卷不是分区,它们的顺序并不重要。事实上,LV 没有什么“秩序”。您可以在卷组中拥有多个物理卷,并在多个 PV 上分配 LV,甚至可以在一个 PV 上将 LV 分配到多个“段”中 — 例如,您可以获得类似x1 | y1 | x2 | y2
在磁盘上写入的内容。 (这通常不会发生,但可以像这样创建 LV。这就是为什么它们被称为逻辑的卷,您并不真正关心它们的物理分配。)
LVM 工具,例如lvs
按字母顺序打印逻辑卷:
$ sudo lvs test
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
a test -wi-a----- 12,00m
b test -wi-a----- 12,00m
如果你想查看 LV 真正分配在哪里,你可以使用pvdisplay -m
--- Physical Segments ---
Physical extent 0 to 2:
Logical volume /dev/test/b
Logical extents 0 to 2
Physical extent 3 to 5:
Logical volume /dev/test/a
Logical extents 0 to 2
Physical extent 6 to 24:
FREE
在此示例中,您可以看到 LVb
分配在前三个物理盘区上,并且a
是“第二个”。
我不确定 Debian 安装程序内部是如何工作的,但是如果您出于某种原因想要确保某些 LV 以特定方式分配(可能在特定 PV 上),您可以首先手动创建它们并告诉安装程序重用现有的LV。在创建 LV 时,您可以选择特定的 PV 和范围范围lvcreate
(请参阅lvcreate 手册页)但如果你不想做一些特别的事情,你不需要关心这个。只要相信 LVM,它就会以某种逻辑方式分配 LV。