在 Debian Buster 上使用 LUKS2 时如何增加 LVM

在 Debian Buster 上使用 LUKS2 时如何增加 LVM

我在配备 250 GB SSD 的 ThinkPad T420 上运行 Debian Buster。由于我需要更多磁盘空间,因此我使用 Clonezilla 将当前的 Debian 安装从内部 250 GB SSD 克隆到通过 USB 转 SATA 适配器连接的新 500 GB SSD。之后我将 250 GB SSD 更换为 500 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 需要执行哪些步骤?

答案1

就像俄罗斯套娃一样:磁盘 -> 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 中)。

相关内容