プロビジョニング - ディスク容量が不足していますか? [閉鎖]

プロビジョニング - ディスク容量が不足していますか? [閉鎖]

119GBのハードドライブでPreseedファイルを実行しようとしていますが、スペースが足りないようです。基本的に私がやりたいことは次のとおりです。

/dev/sda1 ext4 mountpoint /boot size 512MB

/dev/sda2 lvm into vg1 size 40GB

/dev/sda3 lvm into vg2 size 70GB

各ボリュームグループの論理ボリュームの数。

私が経験した問題は次のとおりです。

物理パーティション、VG、およびLVを作成するときのプリセットは正確にどのように機能しますか?

専門的なレシピが必要だということですが147930 MB、可能なものだけ持っています119453 MB。手動でパーティションを分割すると、十分なディスク容量があり、空き容量も残ります!

論理ボリュームを作成するとき、これらの論理ボリュームのスペースが自分が作成したボリュームグループから割り当てられることを知りませんか? /dev/sdaから直接LVに空き容量を割り当てますか?それでは、各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 }                    \
            .

答え1

それで、いくつかの調査(インターネット検索4、5ページ!)の後に、partman / preseedが全体のサイズをすべてのパーティションサイズの合計として計算するという内容を読んだが(そしてこれが本当であると確信している)が、それはそうではない。 LVパーティションがVGの一部であるかどうかは重要ではありません。

最大サイズの数値を追加すると、実際に〜147000MBを取得します。それでは、この問題を解決するために私は何をしましたか?まず、プロファイル内のパーティションの最小サイズを最大サイズの1/4または1/2に減らし、すべての優先順位を最大サイズ以上に設定しました(見つかります)。ここそしてこここれに関連する追加情報)

これにより、partman/preseed はサイズが間違っていてもすべてのパーティションを正常に作成できます。

正しいサイズを得るために、すべての論理ボリュームのサイズを正しいサイズに調整するLate_commandスクリプトを追加しました。

また、手動でパーティショニングを実行するときに残りの空き領域を保存するためにダミーパーティションを作成し、後で同じLate_commandスクリプトから削除しました。

これが本物ではないことはわかりますが、これがプレゼード/パートマンで作業できる唯一の方法です。

これは分割方法でもあります。

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

関連情報