我已经阅读了太多的 kickstart 配置和按下的配方,以至于我的头都晕了,我只是需要一些帮助或澄清。在我深入介绍配置之前,要点是,我正在尝试创建一个无人值守的 Ubuntu Server 18.04 安装,将我的 kickstart 配置和其他文件拼接到 ISO 中以供以后使用的部分工作正常,但是这里的目的是使用带有 LVM 的两个硬盘,而这正是行不通的。。。根本行不通。
当前堪萨斯州:
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
################### PARTITIONING ###################
part /boot --size=1024 --onpart=sda1
part /boot/efi --fstype=efi --grow --maxsize=200 --size=20 --onpart=sda2
part pv.01 --size 20480
volgroup mainvg pv.01
logvol swap --fstype swap --name=swaplv --vgname=mainvg --size 1024
logvol / --fstype ext4 --vgname=mainvg --size=4096 --name=rootlv
logvol /var --fstype ext4 --vgname=mainvg --size=4096 --name=varlv
logvol /root2 --fstype ext4 --vgname=mainvg --size=4096 --name=root2lv
preseed partman-lvm/confirm_nooverwrite boolean true
preseed partman-auto-lvm/no_boot boolean true
###################### END #########################
这实际上有点起作用,并且我得到了与下面类似的输出df -k
:
/dev/sda1 ..... /boot
/dev/mapper/mainvg-rootlv .... /
/dev/mapper/mainvg-root2lv .... /root2
/dev/mapper/mainvg-varlv .... /var
但是我现在需要手动对 SDB 进行分区并将卷组与 LV 一起应用于它。如果我尝试在安装过程中通过 KS 自动执行此操作,我对上述块所做的就是:
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
################### PARTITIONING ###################
part /boot --size=1024 --onpart=sda1
part /boot/efi --fstype=efi --grow --maxsize=200 --size=20 --onpart=sda2
part pv.01 --size 20480
volgroup mainvg pv.01
logvol swap --fstype swap --name=swaplv --vgname=mainvg --size 1024
logvol / --fstype ext4 --vgname=mainvg --size=4096 --name=rootlv
logvol /var --fstype ext4 --vgname=mainvg --size=4096 --name=varlv
logvol /root2 --fstype ext4 --vgname=mainvg --size=4096 --name=root2lv
part pv.02 --size 10240 --ondisk=sdb # This disk is only 10GB
volgroup datavg pv.02
logvol /data --fstype ext4 --vgname=datavg --size=4096 --name=datalv
preseed partman-lvm/confirm_nooverwrite boolean true
preseed partman-auto-lvm/no_boot boolean true
###################### END #########################
但是这不仅不起作用,而且完全阻止了原始分区块成功执行,当安装成功时,我得到的只是一个带有默认“ubuntu-vg”组的 SDA 分区,该组来自天知道的地方,并且该组具有根和交换卷对,没有其他任何东西。无论我使用什么工具检查,无论是 df -k 还是 sudo lvdisplay,SDB 都没有被提及,所以我对这种行为完全感到困惑。还请注意,按下的配方具有相同的结果,因此在尝试了数百次排列后,我打算放弃了。
此外,当它工作时(使用我上面显示的第一个块时),输出sudo fdisk -l | less
令人困惑,并且似乎根本不匹配我的配置
如果有人能提供关于如何成功使用 Kickstart 在 SDA 上拥有一个带有多个 LV 的 VG 的建议,该 VG 也将 BOOT 作为物理分区(SDA1),同时在 SDB 内部拥有一个用于数据的 VG 以及一个 /data 逻辑卷,我将不胜感激。
如果需要更多信息,我很乐意回复。提前致谢。
答案1
最近不得不做类似的事情,这就是你所需要的
##### Partitioning #####
# Manual installation with lvm
d-i partman-auto/init_automatically_partition select Manual
d-i partman-auto/disk string /dev/sda /dev/sdb
d-i partman-auto/method string lvm
d-i partman-auto-lvm/guided_size string max
# Custom partitioning recipe.
d-i partman-auto/expert_recipe string \
boot-root :: \
3072 50 3072 ext4 \
$primary{ } $bootable{ } \
device{ /dev/sda } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /boot } \
. \
1000 10000000 xfs \
$lvmignore{ } \
$primary{ } \
method{ lvm } \
device{ /dev/sda } \
vg_name{ vg00 } \
. \
1000 10000000 xfs \
$lvmignore{ } \
$primary{ } \
method{ lvm } \
device{ /dev/sdb } \
vg_name{ vg01 } \
. \
500 10000 20480 xfs \
$lvmok{} lv_name{ root } \
in_vg{ vg00 } \
device{ /dev/sda } \
$defaultignore{ } \
format{ } method{ format } \
use_filesystem{ } filesystem{ xfs } \
mountpoint{ / } \
options/pquota{ pquota } \
. \
500 10000 51200 xfs \
$lvmok{} lv_name{ lib } \
in_vg{ vg00 } \
device{ /dev/sda } \
$defaultignore{ } \
format{ } method{ format } \
use_filesystem{ } filesystem{ xfs } \
mountpoint{ /var/lib } \
options/pquota{ pquota } \
. \
500 10000 3072 xfs \
$lvmok{} lv_name{ home } \
in_vg{ vg00 } \
device{ /dev/sda } \
$defaultignore{ } \
format{ } method{ format } \
use_filesystem{ } filesystem{ xfs } \
mountpoint{ /home } \
options/pquota{ pquota } \
. \
500 10000 8192 xfs \
$lvmok{} lv_name{ var_log } \
in_vg{ vg00 } \
device{ /dev/sda } \
$defaultignore{ } \
format{ } method{ format } \
use_filesystem{ } filesystem{ xfs } \
mountpoint{ /var/log } \
options/pquota{ pquota } \
. \
500 10000 1000000000 xfs \
$lvmok{} lv_name{ data } \
device{ /dev/sdb } \
in_vg{ vg01 } \
$defaultignore{ } \
format{ } method{ format } \
use_filesystem{ } filesystem{ xfs } \
mountpoint{ /data } \
options/pquota{ pquota } \
. \
500 10000 12288 xfs \
$lvmok{} lv_name{ logs } \
device{ /dev/sdb } \
in_vg{ vg01 } \
$defaultignore{ } \
format{ } method{ format } \
use_filesystem{ } filesystem{ xfs } \
mountpoint{ /data/logs } \
options/pquota{ pquota } \
. \
500 10000 1000000000 xfs \
$lvmok{} lv_name{ backup } \
device{ /dev/sdb } \
in_vg{ vg01 } \
$defaultignore{ } \
format{ } method{ format } \
use_filesystem{ } filesystem{ xfs } \
mountpoint{ /data/backup } \
options/pquota{ pquota } \
.
# Automatically confirm various inter-installation questions
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-basicfilesystems/no_swap boolean false
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true