Why does my preseed never create a volume group? Does anyone know what option I might be missing from my config?
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-partitioning/choose_label select gpt
d-i partman-partitioning/default_label string gpt
d-i partman-auto/method string regular
d-i partman-auto/disk string /dev/nvme0n1
d-i partman-auto/choose_recipe select pve-full
d-i partman-auto-lvm/new_vg_name pve
d-i partman-auto/physical_volumes string /dev/nvme0n1p3
d-i partman-auto/volume_groups string pve
d-i partman-auto/logical_volumes string root swap localdir
d-i partman-auto/expert_recipe string pve-full :: \
512 512 512 fat32 $primary{ } $bootable{ } method{ efi } format{ } . \
512 512 512 ext2 $primary{ } method{ format } format{ } use_filesystem{ } filesystem{ ext2 } mountpoint{ /boot } . \
1 1 -1 lvm $primary{ } method{ lvm } device{ /dev/nvme0n1p3 } pv_name{ pve-pv } vg_name{ pve } . \
32768 32768 32768 ext4 $lvmok{ } in_vg{ pve } lv_name{ root } method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ / } . \
4096 4096 4096 linux-swap $lvmok{ } in_vg{ pve } lv_name{ swap } method{ swap } format{ } . \
1 10000 -1 ext4 $lvmok{ } in_vg{ pve } lv_name{ localdir } method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ /var/lib/vz } .
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
fdisk -l
confirms that the system did create a LVM on nvme0n1p3:
/dev/nvme0n1p1 2048 999423 997376 487M EFI System
/dev/nvme0n1p2 999424 1998847 999424 488M Linux filesystem
/dev/nvme0n1p3 1998848 2000895 2048 1M Linux LVM
/dev/nvme0n1p4 2000896 66000895 64000000 30.5G Linux filesystem
/dev/nvme0n1p5 66000896 74000383 7999488 3.8G Linux swap
/dev/nvme0n1p6 74000384 3907028991 3833028608 1.8T Linux filesystem
Despite this, I keep getting the error "Volume group pve does not exist" and the commands pvs; vgs; lvs;
give no output...
What am I missing from my debian preseed partition that it refuses to create a volume group?
1 Answer 1
I needed to change
- d-i partman-auto/method string regular
+ d-i partman-auto/method string lvm
I also changed the lvm to have 8MiB rather than 1MiB because users said that made a difference but I didn't see any impact for my setup. Here is the full working partition section:
##### ── clean up any old LVM ──────────────────────────────────────────────
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
##### ── force GPT ─────────────────────────────────────────────────────────
d-i partman-partitioning/choose_label select gpt
d-i partman-partitioning/default_label string gpt
##### ── explicit PV / VG / LV definition ("pve-full") ─────────────────────
d-i partman-auto/method string lvm
d-i partman-auto/disk string /dev/nvme0n1
d-i partman-auto/choose_recipe select pve-full
d-i partman-auto-lvm/new_vg_name pve
d-i partman/alignment string "optimal"
d-i partman-auto-lvm/guided_size string max
# physical-volumes / volume-group / logical-volumes / syntax sugar
d-i partman-auto/physical_volumes string /dev/nvme0n1p3
d-i partman-auto/volume_groups string pve
d-i partman-auto/logical_volumes string root swap localdir
d-i partman-auto/expert_recipe string pve-full :: \
512 512 512 fat32 $primary{ } $bootable{ } method{ efi } format{ } . \
512 512 512 ext2 $primary{ } method{ format } format{ } use_filesystem{ } filesystem{ ext2 } mountpoint{ /boot } . \
8 8 -1 lvm $primary{ } method{ lvm } pv_name{ pve-pv } vg_name{ pve } . \
32768 32768 32768 ext4 $lvmok{ } in_vg{ pve } lv_name{ root } method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ / } . \
4096 4096 4096 linux-swap $lvmok{ } in_vg{ pve } lv_name{ swap } method{ swap } format{ } . \
1 10000 -1 ext4 $lvmok{ } in_vg{ pve } lv_name{ localdir } method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ /var/lib/vz } .
##### ── finish non-interactively ──────────────────────────────────────────
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true