Partitionner avec preseed (LVM)

Bonjour à toutes et à tous,

je rencontre un souci avec un fichier preseed pour partitionner mon disque dur.
J’ai tourné dans tous les sens et je trouve pas mon erreur :

Extrait de mon fichier :

d-i clock-setup/utc boolean true
d-i time/zone string Europe/Paris
d-i clock-setup/ntp boolean true

d-i partman-efi/non_efi_system boolean false
d-i partman-basicfilesystems/choose_label string gpt
d-i partman-basicfilesystems/default_label string gpt

d-i partman-auto/method string 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
d-i partman-auto-lvm/new_vg_name string bastion
d-i partman-auto/choose_recipe select bastion_part
d-i partman-auto-lvm/guided_size string 8000
d-i partman-md/device_remove_md boolean true

d-i partman-auto/expert_recipe string           \
    bastion_part ::                             \
        512 512 512 ext4                        \
            $primary{ }                         \
            $bootable{ }                        \
            method{ format }                    \
            format{ }                           \
            use_filesystem{ }                   \
            filesystem{ ext4 }                  \
            mountpoint{ /boot }                 \
            .                                   \
        6000 7000 -1 $default_filesystem        \
            $defaultignore{ }                   \
            $primary{ }                         \
            method{ lvm }                       \
            device{ /dev/sda }                  \
            vg_name{ bastion }                  \
            .                                   \
        512 512 512 btrfs                       \
            $lvmok{}                            \
            lv_name{ log }                      \
            in_vg{ bastion }                    \
            method{ format }                    \
            format{ }                           \
            use_filesystem{ }                   \
            filesystem{ btrfs }                 \
            mountpoint{ /var/log }              \
            .                                   \
        3096 3596 4096 ext4                     \
            $lvmok{}                            \
            lv_name{ os }                       \
            in_vg{ bastion }                    \
            method{ format }                    \
            format{ }                           \
            use_filesystem{ }                   \
            filesystem{ ext4 }                  \
            mountpoint{ / }                     \
            .                                   \
        512 512 512 ext4                        \
            $lvmok{}                            \
            lv_name{ home }                     \
            in_vg{ bastion }                    \
            method{ format }                    \
            format{ }                           \
            use_filesystem{ }                   \
            filesystem{ ext4 }                  \
            mountpoint{ /home }                 \
            .                                   \
        64 128 256 linux-swap                   \
            $lvmok{ }                           \
            lv_name{ swap }                     \
            in_vg{ bastion }                    \
            method{ swap } format{ }            \
            .

d-i     partman-partitioning/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

Mon objectif est d’avoir un /boot sur sda1 et une partition de 7 à 8 Go en LVM (vgname bastion) sur lequel je vais mettre quelques partitions comme / et /home
Le souci avec cette recette c’est que j’obtiens /boot (ok) et une partition en LVM qui contient 2 LV => root pour / et le swap

Avez vous une idée de l’origine de mon souci ?

Merci pour votre aide

Cordialement,
Guedz

Pas besoin de définir le VG si tu n’as qu’un seul disque
Quelle méthode pour la définition pour les paramètres?
Quelle est la taille de ton disque dur?
Le guided_size peut etre un piège si tu n’a pas une certaine reserve.
Enfin faire un LVM sur une partition totale de 8Go, pourquoi faire? tu gères ta consommation à l’octet près?
Par expérience, le preseed a du mal à gérer en dessous de 40 Go.

Bonjour et merci pour ton retour Zargos,

Pas besoin de définir le VG si tu n’as qu’un seul disque

C’est noté

Quelle est la taille de ton disque dur?

Jamais plus que 16 Go et en général 8 Go

Quelle méthode pour la définition pour les paramètres?

Je ne suis pas sur de comprendre ta question

Enfin faire un LVM sur une partition totale de 8Go, pourquoi faire? tu gères ta consommation à l’octet près?

Mon partitionnement standard est le suivant :

partition 1 : /boot
partition 2 : LVM

sur le LVM je mets un LV OS, un LV swap, un LV var/log et suivant le cas d’autres LV

Par expérience, le preseed a du mal à gérer en dessous de 40 Go.

Je prends note et ceci est un souci dans mon cas vu que je n’utilise jamais des disques supérieurs à 16 Go

En fait, ce n’est pas parce que l’enveloppe de ta VM fait 60G que ton fichier vmdk ou vdi va faire cette taille là. L’hyperviseur va juste créer un fichier de la taille de ce qui est utilisé. Sur une installation standard, je suis à environ 5Go

Je confirme le disque de la VM ne fait jamais plus que 16 Go (en général 8 Go) et sur disque physique je tourne à une moyenne de 3 à 4 Go pas plus (en excluant les grosses VM qui consomment 12 Go et qui sont au nombre de 2)

Pour revenir à mon souci, est-ce que si je souhaite déployer via une iso avec preseed je dois forcément (par retour d’expérience) avoir un disque de minimum 40 Go ?

Personnellement c’est ce que je fais. A cause du calcul des partitions. Mais j’ai un partitionnement qui est peut etre plus conséquent:
Manuel:
/boot ou /boot/efi
LVM:
/
/home
/var
/var/log
/var/log/audit
/var/tmp
/tmp
swap

J’ajoute aussi une partition /todelete de 1M juste pour assurer le résultat des calculs que je supprime après. C’est parce que j’utilise des gros disques parfois sur des machines physiques et je ne veux pas que mon preseed utilise tout (en général je maximise à 300Go).

Après fait des tests et tu verras bien. c’est pratique avec les VM pour faire ça :slight_smile:

Si je comprends bien ce que tu essaies de me dire c’est qu’il faut obligatoirement que la somme représente 100% à allouer pour éviter le résultat que j’obtiens (en créant un LV genre todelete) ?
De mon coté je vais tester cette approche asap.

Non c’est justement pour éviter les 100% que j’ai ajouté celui là pour limiter d’avoir un partition qui prend tout le reste (en général celle qui reste à determiner).
mais l’algorithme est assez bizarre il faut dire .