Debian
在 Debian Buster 上使用 LUKS2 時如何增加 LVM
我在配備 250 GB SSD 的 ThinkPad T420 上執行 Debian Buster。由於我需要更多磁碟空間,我使用 Clonezilla 將我目前的 Debian 安裝從內部 250 GB SSD 複製到通過 USB 到 SATA 適配器連接的新 500 GB SSD。之後我用 500 GB SSD 替換了 250 GB SSD,並使用 GParted live 來增加擴展分區 (/dev/sda2) 和 LVM2 PV 分區 (/dev/sda5) 的大小。一切正常,系統重新啟動並執行。不幸的是,我還不能使用新空間,因為根 LVM 也必須調整大小:
user@debianbook:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465,8G 0 disk ├─sda1 8:1 0 243M 0 part /boot ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 465,5G 0 part └─sda5_crypt 254:0 0 465,5G 0 crypt ├─user--deb--vg-root 254:1 0 204,3G 0 lvm / └─user--deb--vg-swap_1 254:2 0 7,9G 0 lvm [SWAP]
增加 /dev/sda5 上的根 LVM 需要哪些步驟?
就像俄羅斯娃娃:磁碟 -> MBR 分區方案 -> 擴展分區容器 -> 邏輯分區 -> LUKS -> PV -> VG -> LV-> 文件系統。所以根文件系統不只是在
/dev/sda5
.你已經做了什麼:
- 擴大磁碟
- 擴大擴展分區容器 (
/dev/sda2
)- 擴大分區 (
/dev/sda5
)還剩下什麼:
- LUKS:沒有特殊處理。元數據在開始,因此 LUKS 不受影響。LUKS(實際上是設備映射器後端)已經應對了大小的變化。只是如果額外的空間沒有在 LUKS 內部歸零(這對於 SSD 的耐用性來說不是一個好主意),額外的未使用數據將在那裡顯示為隨機數據。
- PV:(用 總結
pvs
)當 PV 可用的潛在空間增加時,必須告知 PV 以實際使用它。要佔用整個可用空間,不需要特殊選項pvresize
,如手冊中所述:擴大分區後展開PV。
pvresize /dev/sda1
對於您的情況:
pvresize /dev/mapper/sda5_crypt
- VG:(與 總結
vgs
)無關,VG 從它使用的 PV 繼承其可用大小,因此在 PV 變大後立即顯得更大。VG 是一個 LVM2 抽象,沒有可見的直接設備映射器對應物。- LV:(用 總結
lvs
)通用命令lvresize
只是更好地使用lvextend
,它只會為了安全而使其更大。您可以告訴它使用整個可用空間作為額外空間(但在執行此操作之前請參閱文件系統部分):lvextend -l +100%FREE user-deb-vg/root
- 文件系統:現在它有更多可用空間,也可以擴大。
因為它是 Debian 的預設設置,所以我假設這裡使用了 EXT4。由於
/
已經掛載,這必須在 EXT4 文件系統(和其他一些文件系統)支持的線上模式下完成(意味著必須涉及核心的文件系統驅動程序)。要放大到 LV 提供的可用空間,再次不需要特定的大小選項:resize2fs /dev/mapper/user--deb--vg-root
但實際上最後兩個步驟(LV+FS)可以在一個命令中組合使用:
lvextend --resizefs -l +100%FREE user-deb-vg/root
它的優點是自動檢測文件系統並為正確的文件系統執行正確的命令。
您不必使用整個可用大小。您可以選擇 +50%FREE 以保留約 130GB 作為預留空間,特別是如果您想稍後創建單獨的文件系統(在額外的 LV 中)。