У меня есть следующий рецепт предварительной установки (усеченный для удобства чтения):
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 для создания PV на все устройство (т.е. pvcreate /dev/sdb
).
Причина, по которой я хочу это сделать, проста: простое онлайн-расширение (горячее). (Это для виртуальной среды).
Я пробовал несколько решений, но ни одно из них, похоже, не работает так, как удаление PV из моего рецепта и добавление в мой файл preseed:
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
Но это приводит к тому, что установщик либо не работает, либо зависает, спрашивая, какую схему разделов я хочу.
Пожалуйста, помогите мне, если вы знаете, как достичь того, что я хочу, или даже если вы знаете, что это невозможно с preseed только в настоящее время.
Спасибо.
Не похоже, что partman (программа установки Debian для разбиения на разделы) это поддерживает.
Я зарегистрировал список желаний в системе отслеживания ошибок Debian, в настоящее время он помечен как «wontfix»: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=418519
Даже до попытки настройки пресида при ручной установке partman не может использовать существующий PV, созданный первым pvcreate /dev/sda
и продолжайте с определениями LV.
Для partman отсутствие таблицы разделов на основном загрузочном диске - непростая ситуация.
В последних версиях ядра Linux исправлено требование перезагрузки после редактирования таблицы разделов. Поэтому удалите раздел PV и создайте его снова большего размера, чтобы он соответствовал размеру виртуального диска, и запустите partprobe
чтобы сообщить ядру о его новом размере, чтобы затем вызвать pvresize /dev/sda1
: Как расширить раздел Linux PV после увеличения виртуального диска