如何预置/partman/recipe 两个磁盘

如何预置/partman/recipe 两个磁盘

我本质上是想安装/usr/local//dev/sdb并在 sda 上安装正常的启动/根/交换。更复杂的是,由于磁盘大于 6TB,我不得不使用 GPT。似乎无论我怎么尝试,SDB 驱动器都从未被使用过。这是我目前的尝试:

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-partitioning/choose_label select gpt
d-i partman-auto/disk string /dev/sda /dev/sdb
d-i partman-auto/expert_recipe string                         \
      boot-root-datab ::                                         \
              1 1 1 free                      \
                      $primary{ }                             \
                      method{ biosgrub }                            \
                      $iflabel{ gpt }                               \
                      device { /dev/sda }                            \
               .                                                \
              300 300 300 ext4                                 \
                      $primary{ }                             \
                      $bootable{ }                            \
                      method{ format } format{ }     \
                      $iflabel{ gpt }                               \
                      use_filesystem{ } filesystem{ ext4 }    \
                      mountpoint{ /boot }                     \
                      device { /dev/sda }                            \
              .                                               \
              40000 10000 -1 ext4                          \
                      $primary{ }                             \
                      method{ format } format{ }              \
                      $iflabel{ gpt }                               \
                      use_filesystem{ } filesystem{ ext4 }    \
                      mountpoint{ / }                         \
                      device { /dev/sda }                            \
              .                                               \
          4000 1500 12% linux-swap                        \
                      $primary{ }                             \
                      method{ swap } format{ }                \
                      $iflabel{ gpt }                               \
                      device { /dev/sda }                            \
              .                                               \
              200000 200000 -1 ext4                               \
                      $primary{ }                             \
                      method{ format } format{ }              \
                      $iflabel{ gpt }                               \
                      use_filesystem{ } filesystem{ ext4 }    \
                      mountpoint{ /usr/local }                    \
                      options/noatime{ noatime } options/nodelalloc{ nodelalloc } options/nodiratime{ nodiratime } \
                      device { /dev/sdb }                            \
              . 
d-i partman-auto/choose_recipe select boot-root-datab

有什么建议可以让它工作吗?看来 partman 完全忽略了设备 { /dev/sdb },然后当然会搞乱 sda 布局,以至于 / 没有足够的空间来安装内核。另外,有没有 partman 的圣经?实际上说明每个命令/示例/解释的东西将是黄金……

答案1

目前,大多数人似乎使用 preseed/late_command 功能来实现附加驱动器的分区:

d-i preseed/late_command string \
  in-target echo -e "o\nn\np\n1\n\n\nw" | fdisk /dev/sdb1 ; \
  in-target mkfs.ext4 /dev/sdb1 ; \
  in-target echo "/dev/sdb1  /srv  ext4  nodiratime  0  2" >> /etc/fstab

当然,这不是最理想的,我更愿意编写实际上适用于没有 RAID/LVM 的多个块设备的 partman 配方。

我希望我完全错了,有人能用一个有效的例子来纠正我......

答案2

根据此帖子:https://serverfault.com/questions/541117/12-04-preseeded-install-with-raid-and-lvm

您应该删除最后一行:

d-i partman-auto/choose_recipe select boot-root-datab

引用原文:

当您要使用工厂预定义的配方时,请使用 partman-auto/choose_recipe。如果您不打算使用,请使用 partman-auto/expert_recipe 制定您自己的配方,指定 multiraid,而不是 raid-lvm。

OP:我唯一需要做的更改是删除我的 partman-auto/choose_recipe 行。之后,安装程序就可以毫无问题地使用我的自定义配方了。

相关内容