LVM 调整大小/完整系统加密(无法重新安装)

LVM 调整大小/完整系统加密(无法重新安装)

看到过几个关于这个问题的问题,但一般的答案都是重新安装。虽然这是最好和最简单的解决方案,但不幸的是,在我的情况下这是不可能的。

我正在考虑以下解决方案。

当前分区布局

/dev/vda1      linux/boot  250mb
/dev/vda2      extended    15GiB
  |_/dev/vda5  Linux LVM   15GiB

LVM 有 2 个 LV,分别为 13GiB /root 和 2GiB /swap

这是一个干净的最低 VPS 安装,占用空间小于 1GB。所以我的想法是

  1. 删除交换驱动器
  2. 缩小 LVM 分区
  3. 创建一个新的临时 2gb 分区
  4. 将根移动到临时分区
  5. 删除 LVM,在 LUKS 分区上设置新的 LVM。
  6. 将临时根目录移至 LUKS 上的新 LVM
  7. 删除临时根,将 LUKS/LVM 分区大小调整回 15gb,以再次设置 2GB 交换。

有什么原因导致此方法无效?如果无效,我被困在第 2/3 步

删除交换 lv 后,我将 PV /dev/vda5 的大小调整为 13GiB,pvdisplay 正确显示 13GiB。

但是,当我进入 cfdisk 创建新的临时根分区时,它仍然显示 /dev/vda5 为 15GiB

我感觉我这里缺少了一个步骤来将已移除的交换驱动器中的 2GiB 放入未分区的空间?

答案1

我最终通过制作 1gb ramdrive 并将 root + 整个系统转移到其中解决了这个问题。然后删除 LVM 分区,在 luks 上重新创建 LVM 并将 root 移动到新驱动器上。

对于任何感兴趣的人。

  1. 创建 tmpfs ramdisk 并移动根目录
  2. 删除/创建分区(如果布局有任何变化,则运行 partprobe)
  3. 设置新的加密 luks LVM,复制所有内容并使系统再次可启动

在不拥有主机的虚拟机中执行此操作时要小心。迈克尔·汉普顿正确指出

它不会帮助你解决真正的问题。加密 VPS 没有任何意义。必须加密的是主机系统。如果你想保护你的数据不受 VPS 主机的影响,不幸的是这是不可能的

任何有权访问主机的人都可以拍摄包含 LUKS 解密密钥的 RAM 快照。

相关内容