Je utilise les paramètres partman
suivants pour les installations automatisées de VM depuis quelques années maintenant :
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman/alignment string "optimal"
d-i partman-auto/expert_recipe string \
boot-root :: \
64 512 300% linux-swap \
$primary{ } \
method{ swap } format{ } \
. \
500 10000 1000000000 ext4 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
.
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
Cela crée une petite partition swap au début et utilise le reste du disque pour la partition racine. Cela fonctionne bien et permet une extension facile des partitions lorsque j'ai besoin d'augmenter la taille du disque virtuel.
Maintenant, j'essaie d'adapter cette recette pour installer un certain nombre de serveurs bare metal identiques. Pour ce faire, j'ai simplement échangé les partitions et ajusté les tailles à des valeurs plus raisonnables pour une machine avec 256 Go de RAM et un disque système de 460 Go (SSD en RAID matériel 1, mais cela ne devrait pas poser de problème) :
boot-root :: \
32768 65536 1000000000 ext4 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
. \
16384 16384 65536 linux-swap \
$primary{ } \
method{ swap } format{ } \
.
Le reste des directives partman*
sont identiques.
D'après ce que je comprends de la documentation (et des publications supplémentaires comme celle-ci), cela devrait créer une grande partition racine qui couvre presque tout le disque, avec une partition swap entre 16 et 64 Go à la fin.
Eh bien, ce n'est pas le cas. Cela crée une partition de 450 Mo, suivie d'une partition swap de 460 Go.
Lorsque j'installe la même machine avec le préconfiguration pour les VM, les partitions sont créées correctement telles que définies dans le fichier préconfiguré :
Alors, qu'est-ce que je fais de travers avec la recette pour la machine bare metal ?
Si cela est important, l'ISO d'installation est basée sur l'ISO serveur Ubuntu 16.04.5.
Sortie de fdisk /dev/sda
et parted /dev/sda print
:
Quelques autres variantes que j'ai essayées :
# ceci appartient au dernier bloc, comme suggéré par @Peter
#d-i partman-basicfilesystems/choose_label string gpt
#d-i partman-basicfilesystems/default_label string gpt
#d-i partman-partitioning/choose_label string gpt
#d-i partman-partitioning/default_label string gpt
#d-i partman/choose_label string gpt
#d-i partman/default_label string gpt
d-i partman-auto/expert_recipe string \
boot-root :: \
##########################
65536 1 -1 ext4 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
. \
65536 65536 65536 linux-swap \
$primary{ } \
method{ swap } format{ } \
.
##########################
# 1 1 -1 ext4 \
# $primary{ } $bootable{ } \
# method{ format } format{ } \
# use_filesystem{ } filesystem{ ext4 } \
# mountpoint{ / } \
# . \
# 65536 65536 65536 linux-swap \
# $primary{ } \
# method{ swap } format{ } \
# .
##########################
# 32768 50 5242880 ext4 \
# $primary{ } $bootable{ } \
# method{ format } format{ } \
# use_filesystem{ } filesystem{ ext4 } \
# mountpoint{ / } \
# . \
# 16384 100 65536 linux-swap \
# $primary{ } \
# method{ swap } format{ } \
# .
##########################
# utilisez avec les directives annotées partman-* ci-dessus
# 538 538 1075 free \
# $iflabel{ gpt } \
# $reusemethod{ } \
# method{ efi } \
# format{ } \
# . \
# 1 1 -1 ext4 \
# $primary{ } $bootable{ } \
# method{ format } format{ } \
# use_filesystem{ } filesystem{ ext4 } \
# mountpoint{ / } \
# . \
# 65536 65536 65536 linux-swap \
# $primary{ } \
# method{ swap } format { } \ .
# .
Cela ne fait aucune différence, la partition racine résultante a toujours seulement 453 Mo.