扩展 BTRFS LUKS 分区

扩展 BTRFS LUKS 分区

几年前我使用过这个优秀的指南https://www.youtube.com/watch?v=co5V2YmFVEE使用 LUKS 加密我的 Thinkpad 磁盘并使用 BTRFS 作为我的文件系统。

当时我的 SSD 只有 256GB,现在我已经更新到 1TB,并使用 Clonezilla 将我的驱动器克隆到新的 SSD。唯一的问题仍然是 - 如何安全地扩展我的 LUKS 加密分区和其下的 BTRFS 系统(带有 2 个子卷 - root 和 home)?

我的/etc/fstab

# /dev/nvme0n1p1
UUID=6E39-1234          /boot       vfat        rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro   0 2

# /dev/mapper/cryptroot
UUID=d7cf34c3-8fb4-4cbb-b04b-96e8121e11d9   /           btrfs       rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/@  0 0

# /dev/mapper/cryptroot
UUID=d7cf34c3-8fb4-4cbb-b04b-96e8121e11d9   /home       btrfs       rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/@home  0 0

答案1

因此,回答我自己的问题,这是最简单的方法(确认有效 - 当然总是准备好备份,我通过 Clonezilla 将备份放在我的 NAS 上):

我的设备名称是 -隐根

  1. 启动 Live CD/USB(我使用 Arch,所以我选择了它)
  2. 打开加密分区-cryptsetup 打开 /dev/nvme0n1p2 cryptroot
  3. 用parted打开磁盘,在我的例子中是/dev/nvme0n1 -分开/dev/nvme0n1
  4. 打印分区然后执行调整零件大小 NUMBER 100%(其中 NUMBER 是加密分区的 ID - 它应该位于磁盘上的最后一个,在我的例子中是 2)
  5. 关闭 LUKS 设备一次 -cryptsetup 关闭 cryptroot
  6. 再次打开 LUKS 设备 -cryptsetup 打开 /dev/nvme0n1p2 cryptroot
  7. 调整大小 LUKS -cryptsetup 调整 cryptroot 大小
  8. 将分区挂载到任意文件夹(我选择/partition)-挂载/dev/mapper/cryptroot/分区
  9. 调整 BTRFS 大小 -btrfs 文件系统调整最大/分区大小
  10. 卸载分区
  11. 关闭 LUKS 设备 -cryptsetup 关闭 cryptroot
  12. 重新启动进入您的操作系统

您还可以在您使用的任何 Type 1 Hypervisor 上进行测试运行(这就是我所做的) - 只需通过 Clonezilla 恢复映像

答案2

如何安全地扩展我的 LUKS 加密分区

你不能。是的,您可以通过创建新的 PV 并添加它来调整 LUKS 分区的大小,然后调整 BTRFS 的大小,但它是非常有风险。这里没有“安全”。在空白空间中创建一个新分区,如果需要,请使用 LUKS 对其进行配置,然后从现有分区中迁移内容。

相关内容