Debian

Debian 圖形安裝程序是否打亂了卷組中邏輯卷的順序?

  • March 18, 2021

我做了什麼

  • 使用 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.

問題

我會得到我想要的嗎?

邏輯卷不是分區,它們的順序並不重要。實際上,沒有什麼比 LV 的“訂單”更重要的了。您可以在卷組中擁有多個物理卷,並將 LV 分配在多個 PV 上,即使只有一個 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。

引用自:https://unix.stackexchange.com/questions/639804