分区架构

分区架构

我找不到有关 partman 交换计算的任何有用信息,并且我也尝试使用以下模式进行分区但没有成功,希望您能在这里帮助我。

我正在使用 preseed 进行磁盘分区,同时我希望交换分区是 RAM 的 1.5 倍,但不超过 12GB。

示例用例:我有 6GB RAM 的机器和 192GB 的机器。话虽如此,对于 6GB 的机器

我想要 9GB 交换分区(x1.5),但是对于 192GB,我不想要 288GB 交换分区,当然,想法是无论机器的物理 RAM 超过 12G 多少,它都会创建最多 12GB 的交换分区。

我希望 partman 可以提供这个,否则我需要在分区之前在 early_command 期间创建一些动态脚本。

分区架构

d-i partman-auto/expert_recipe string \
   boot-root :: \
      300 2048 2048 ext4 method{ format } \
      $primary{ } $bootable{ } \
      format{ } use_filesystem{ } filesystem{ ext4 } \
      mountpoint{ /boot } \
      . \
      150% 150% 12288 linux-swap method{ swap } \
      format{ } $lvmok{ } lv_name{ swap } \
      . \
      61440 61440 61440 ext4 method{ lvm } \
      $lvmok{ } mountpoint{ / } lv_name{ root } \
      format{ } use_filesystem{ } filesystem{ ext4 } \
      options/relatime{ relatime } \
      . \
      51200 51200 51200 ext4 method{ lvm } \
      $lvmok{ } mountpoint{ /tmp } lv_name{ tmp } \
      format{ } use_filesystem{ } filesystem{ ext4 } \
      options/relatime{ relatime } \
      options/nodev{ nodev } options/nosuid{ nosuid } \
      . \
      1 1000 10000000000 ext4 method{ lvm } \
      $lvmok{ } mountpoint{ /localdrive } lv_name{ localdrive } \
      format{ } use_filesystem{ } filesystem{ ext4 } \
      options/usrquota{ usrquota } options/grpquota{ grpquota } \
      options/user_xattr{ user_xattr } options/acl{ acl } \
      options/nodev{ nodev } options/relatime{ relatime } \
      .

谢谢!

答案1

好的,我已经在 early_command 期间对其进行了配置,这似乎是我唯一的选择。

以下是对我有用的方法:

# PartMan LVM Method
 # first drive is selected and selected only.
 # 1. /boot partition size 2G.
 # 2. swap will be x1.5 of the pysical RAM but not more then 12G.
 # 3. / - root is fixed to 60G.
 # 4. /tmp fixed to 50G.
 # 6. /localdrive will take all the unallocated space.

d-i partman-md/device_remove_md boolean true
d-i partman-auto/method string lvm
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman-auto-lvm/guided_size string max
d-i partman-auto-lvm/new_vg_name string vg
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/device_remove_lvm_span boolean true
d-i partman-lvm/confirm boolean true
d-i partman/alignment string optimal
d-i partman/choose_partition select finish
d-i partman/confirm_write_new_label boolean true
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

# These commands will run immediately before the partitioner starts.
d-i partman/early_command string \
    debconf-set partman-auto/disk "$(list-devices disk | head -n1)"; \
    debconf-set grub-installer/bootdev "$(list-devices disk | head -n1)"; \
    TMEM=$(($(sed -n 's/^MemTotal: \+\([0-9]*\) kB/\1/p' /proc/meminfo) / 1024)); \
    DSWAP=$(expr $TMEM \* 150 \/ 100); \
     if [ "${DSWAP}" -gt "12288" ]; then \
         DSWAP=12288; \
     fi; \
    debconf-set partman-auto/expert_recipe "boot-root :: \
        300 2048 2048 ext4 method{ format } \
        \$primary{ } \$bootable{ } \
        format{ } use_filesystem{ } filesystem{ ext4 } \
        mountpoint{ /boot } \
        . \
        ${DSWAP} ${DSWAP} ${DSWAP} linux-swap method{ swap } \
        format{ } \$lvmok{ } lv_name{ swap } \
        . \
        61440 61440 61440 ext4 method{ lvm } \
        \$lvmok{ } mountpoint{ / } lv_name{ root } \
        format{ } use_filesystem{ } filesystem{ ext4 } \
        options/relatime{ relatime } \
        . \
        51200 51200 51200 ext4 method{ lvm } \
        \$lvmok{ } mountpoint{ /tmp } lv_name{ tmp } \
        format{ } use_filesystem{ } filesystem{ ext4 } \
        options/relatime{ relatime } \
        options/nodev{ nodev } options/nosuid{ nosuid } \
        . \
        1 1000 10000000000 ext4 method{ lvm } \
        \$lvmok{ } mountpoint{ /localdrive } lv_name{ localdrive } \
        format{ } use_filesystem{ } filesystem{ ext4 } \
        options/usrquota{ usrquota } options/grpquota{ grpquota } \
        options/user_xattr{ user_xattr } options/acl{ acl } \
        options/nodev{ nodev } options/relatime{ relatime } \
        .";

相关内容