Разделение перед семенем - проблемы общей мощности

Я пытаюсь получить файл Перед семенем, работающий над жестким диском на 111 ГБ, и кажется, что существует недостаточно пространства. В основном, что я хочу сделать:

/boot 512MB

vg1 40GB

vg2 70GB

Некоторые логические тома в каждой из групп объема.

Проблема, с которой я встречаюсь, следующая:

Как предварительное семя точно работает над созданием физических разделов, VGs и LVs?

Это говорит мне, что мне нужно 147930 MB для опытного рецепта и я только имею в наличии 119453 MB.

Когда это создает логические тома, это не знает, что место для тех логических томов будет выделено от групп объема, уже созданных? Это выделяет свободное место для LVs непосредственно от/dev/sda? Если так, как я могу сказать этому выделять его от каждого VG?

Это - опытный рецепт:

d-i partman-auto/expert_recipe recipe1 :: \
            511 512 512 ext4                        \
            $primary{ }                             \
            $bootable{ }                            \
            method{ format }                        \
            format{ }                               \
            use_filesystem{ }                       \
            filesystem{ ext4 }                      \
            device{ /dev/sda1 }                     \
            mountpoint{ /boot } .                   \
            39999 40000 40000 ext4                  \
            $primary{ }                             \
            method{ lvm }                           \
            device{ /dev/sda2 }                     \
            vg_name{ rootvg } .                     \
            69999 70000 70000 ext4                  \
            $primary{ }                             \
            method{ lvm }                           \
            device{ /dev/sda3 }                     \
            vg_name{ infravg } .                    \
            100 1 100000 ext4                       \
            method{ format }                        \
            format{ }                               \
            use_filesystem{ }                       \
            filesystem{ ext4 }                      \
            mountpoint{ /part1 } .                  \
            5999 1 6000 ext4                        \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ var_lv }                       \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /var } .                    \
            3999 1 4000 ext4                        \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ usr_lv }                       \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /usr } .                    \
            4999 1 5000 ext4                        \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ root_lv }                      \
            method{ format }                        \
            format{ }                               \
            use_filesystem{ }                       \
            filesystem{ ext4 }                      \
            mountpoint{ / } .                       \
            1999 1 2000 ext4                        \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ home_lv }                      \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /home } .                   \
            4999 1 5000 ext4                        \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ tmp_lv }                       \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /tmp } .                    \
            8000 1 8000 linux-swap                  \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ swap }                         \
            method{ swap } format{ } .              \
            999 1 1000 ext4                         \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ opt_lv }                       \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /opt } .                    \
            128 1 128 ext4                          \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ system_lv }                    \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /system } .                 \
            100 1 100000 ext4                       \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ free1_lv }                     \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /part2 } .                  \
            1000 1 1024 ext4                        \
            $lvmok{ } in_vg{ infravg }              \
            lv_name{ chef_lv }                      \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /opt/chef } .               \
            4999 1 5000 ext4                        \
            $lvmok{ } in_vg{ infravg }              \
            lv_name{ images_lv }  5000                  \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /images } .                 \
            100 1 1000000 ext4                      \
            $lvmok{ } in_vg{ infravg }              \
            lv_name{ free2_lv }                     \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /part3 }                    \
            .
0
задан 9 August 2017 в 06:32

1 ответ

Таким образом, после некоторого исследования (к 4-й, 5-й странице поисков Google!) Я читал (и я также вполне уверен, это верно), что partman/preseed вычислит общий размер как сумму размера всех разделов, не имеет значения, если существуют разделы LV, которые являются частью VG.

Если я добавляю максимальные числа размера, действительно, я получаю ~147000 МБ. Так, что я сделал для решения этой проблемы? Ну, для начинающих я уменьшил минимальный размер разделов в файле перед семенем к 1/4 или 1/2 максимального размера, затем установил все приоритеты выше или равный максимальному размеру (можно найти здесь и здесь некоторая дополнительная информация относительно этого),

Это позволило partman/preseed создавать все разделы успешно, даже при том, что они не были правильным размером.

Для достижения правильного размера, я добавил late_command сценарий, который изменил размер всех логических томов к их корректному размеру.

Кроме того, для хранения всего свободного пространства, которое осталось бы при разделении, должны были быть сделаны вручную, я создал фиктивные разделы, которые я позже удалил в том же late_command сценарии.

Я знаю, что это является неортодоксальным, но это - единственный способ работать с preseed/partman.

Вот также рецепт разделения:

d-i partman/early_command string debconf-set partman-auto/disk "$(list-devices disk | head -n1)"
d-i partman-auto/method string lvm
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-lvm/confirm_nooverwrite boolean true
d-i partman-auto-lvm/new_vg_name string rootvg
d-i partman-auto-lvm/guided_size string 34%
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-lvm/confirm_nooverwrite boolean true
d-i partman-auto-lvm/new_vg_name string infravg
d-i partman-auto-lvm/guided_size string 60%
d-i partman-auto/choose_recipe select diod
d-i partman-auto/expert_recipe diod :: \
            511 512 512 ext4                        \
            $primary{ }                             \
            $bootable{ }                            \
            method{ format }                        \
            format{ }                               \
            use_filesystem{ }                       \
            filesystem{ ext4 }                      \
            device{ /dev/sda1 }                     \
            mountpoint{ /boot } .                   \
            39999 40000 40000 ext4                  \
            $primary{ }                             \
            method{ lvm }                           \
            device{ /dev/sda2 }                     \
            vg_name{ rootvg } .                     \
            69999 70000 70000 ext4                  \
            $primary{ }                             \
            method{ lvm }                           \
            device{ /dev/sda3 }                     \
            vg_name{ infravg } .                    \
            100 1000 -1 ext4                        \
            method{ format }                        \
            format{ }                               \
            use_filesystem{ }                       \
            filesystem{ ext4 }                      \
            mountpoint{ /part1 } .                  \
            128 1000 128 ext4                       \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ system_lv }                    \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /system } .                 \
            100 1500 1000 ext4                      \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ opt_lv }                       \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /opt } .                    \
            100 2500 2000 ext4                      \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ home_lv }                      \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /home } .                   \
            100 4500 4000 ext4                     \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ usr_lv }                       \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /usr } .                    \
            100 6000 5000 ext4                     \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ root_lv }                      \
            method{ format }                        \
            format{ }                               \
            use_filesystem{ }                       \
            filesystem{ ext4 }                      \
            mountpoint{ / } .                       \
            100 5500 5000 ext4                     \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ tmp_lv }                       \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /tmp } .                    \
            100 6500 6000 ext4                     \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ var_lv }                       \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /var } .                    \
            100 7500 8000 linux-swap               \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ swap }                         \
            method{ swap } format{ } .              \
            100 1000 -1 ext4                        \
            $lvmok{ } in_vg{ rootvg }               \
            lv_name{ free1_lv }                     \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /part2 } .                  \
            100 2000 1024 ext4                      \
            $lvmok{ } in_vg{ infravg }              \
            lv_name{ chef_lv }                      \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /opt/chef } .               \
            100 4000 5000 ext4                      \
            $lvmok{ } in_vg{ infravg }              \
            lv_name{ images_lv }                    \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /images } .                 \
            100 1000 -1 ext4                        \
            $lvmok{ } in_vg{ infravg }              \
            lv_name{ free2_lv }                     \
            method{ format } format{ }              \
            use_filesystem{ } filesystem{ ext4 }    \
            mountpoint{ /part3 }                    \
            .
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select Finish
d-i partman/confirm_nooverwrite boolean true
d-i partman/confirm boolean true
0
ответ дан 2 November 2019 в 20:02

Другие вопросы по тегам:

Похожие вопросы: