Debian Preseed 使用整个设备作为 LVM 物理卷

Debian Preseed 使用整个设备作为 LVM 物理卷

我有以下预安装的方法(为方便阅读而截断):

d-i partman-auto/expert_recipe string \
  boot-root :: \
    1 1 1 free \
      $iflabel{ gpt } \
      $reusemethod{ } \
      method{ biosgrub } \
    . \
    512 512 1074 ext2 \
      $defaultignore{ } \
      method{ format } \
      format{ } \
      use_filesystem{ } \
      filesystem{ ext2 } \
      mountpoint{ /boot } \
    . \
    2147 800 -1 $default_filesystem \
      $lvmok{ } \
      lvm_name { root } \
      method{ format } \
      format{ } \
      use_filesystem{ } \
      $default_filesystem{ } \
      mountpoint{ / } \
    . \
    100% 512 100% linux-swap \
      $lvmok{ } \
      in_vg{ vg_01 } \
      method{ swap } \
      format{ } \
    . \
    100 10000 -1 $default_filesystem \
      $defaultignore{ } \
      method{ lvm } \
      device{ /dev/sdb } \
      vg_name{ vg_01 } \
    [...]
    .

这使得几乎我想要的,唯一的问题是 partman-auto 创建物理卷里面/dev/sdb 的一个分区(即pvcreate /dev/sdb1)。

我真正想要的partman-auto 在整个装置(IE pvcreate /dev/sdb)。

我想要这样做的原因很简单:轻松在线(热)扩展。(这适用于虚拟环境)。

我尝试了多种解决方案,但似乎都没有效果,比如从我的配方中删除 PV 并添加到我的预播文件中:

d-i partman/early_command \
  string dd if=/dev/zero of=/dev/sdb bs=512 count=1; pvcreate -ffy /dev/sdb; vgcreate -fy vg_01 /dev/sdb

但这会导致安装程序失败或挂起,询问我想要什么分区布局。

如果您知道如何完成我想要的,或者即使您知道目前仅靠预先设定是不可能的,也请帮助我。

谢谢。

答案1

partman(Debian 安装程序分区工具)似乎不支持此功能。

我已经在 Debian 错误跟踪器中提交了一个愿望清单,它目前被标记为“wontfix”: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=418519

答案2

甚至在尝试预先配置之前,在手动安装中 partman 无法使用首先创建的现有 PVpvcreate /dev/sda并继续进行 LV 定义。

对于 partman 来说,主启动磁盘上缺少分区表是行不通的。

最近的 Linux 内核修复了分区表编辑后的重启要求。因此删除 PV 分区并重新创建更大的分区以匹配虚拟磁盘大小,然后运行partprobe以通知内核其新大小,然后调用pvresize /dev/sda1虚拟磁盘增长后如何在线扩展 Linux PV 分区

相关内容