更正未对齐的加密分区

Mar*_*aux 7 ssd partitioning disk-encryption alignment

我已经用 dm-crypt/LUKS 加密了我的 SSD,以便在 LVM 容器中安装 Archlinux。这是结构图(它是法语,但应该可以理解):

1

现在我意识到我应该对齐我的分区以获得更好的 SSD 性能(就像这里解释的那样)。

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63      481949      240943+  83  Linux
/dev/sda2          481950   250069679   124793865   83  Linux
Run Code Online (Sandbox Code Playgroud)

我的问题是:我可以(以及如何)纠正我的分区错位,还是应该重新安装所有内容?知道第二个分区已加密并包含一个 LVM 容器。

tei*_*ler 3

问题是,您必须缩小 cryptsetup luks 容器,这目前是不可能的(可以增长,但不能缩小)。

因此,您必须重新安装所有内容或使用 U 盘中的救援 Linux 并执行以下操作:

  1. 备份所有 LV 的内容
  2. 删除卷组和逻辑卷
  3. 删除 cryptsetup 容器
  4. 对齐分区(这意味着删除旧分区并创建新的对齐分区)
  5. 创建 cryptsetup 容器(参见下面的注释 1)
  6. 创建对齐的 PV(参见下面的注释 2)
  7. 创建VG
  8. 创建所有需要的 LV
  9. 创建您的文件系统
  10. 恢复您的数据/系统

注意 1:请提醒您至少不应该对齐分区,您应该对齐 SSD 或 4KB 扇区 HDD 上的每个容器/块设备。

要正确对齐 4KB 扇区驱动器的 cryptsetup 容器,请使用以下公式:

alignment (512Byte sectors) = (sector size (Byte)) / 512

alignment (512Byte sectors) = (4KB * 1024) / 512 = 8

因此,您应该将以下内容添加到 cryptsetup 命令中:--align-payload=8

注 2:要创建对齐的 PV,您应该确保 PV 数据的开头 (pe_start) 在完整的 4KB 扇区宽度边界上对齐。

请记住,您的物理范围大小(您可以在创建 VG 时指定)应该是您的对齐方式的倍数。

因此,您应该将以下内容添加到 pvcreate 命令中:--dataalignment 8s