Cobbler 处理磁盘分区的机制概览 Cobbler 并不内置磁盘分区器,它通过为不同发行版提供相应的自动化安装应答文件来驱动分区:RHEL/CentOS 系列使用 Kickstart,Ubuntu/Debian 使用 Preseed。在 Kickstart 中通过 part/partition、clearpart、volgroup/logvol、bootloader、zerombr 等指令完成标准分区、LVM、清除磁盘与引导配置;在 Preseed 中通过 partman 系列变量/配方实现自动或手工分区与 LVM。Cobbler 负责分发这些应答文件与安装源,从而实现无人值守安装与一致的磁盘布局。
RHEL CentOS 系列 Kickstart 分区要点
zerombr
clearpart --all --initlabel
ignoredisk --only-use=sda
bootloader --location=mbr --boot-drive=sda
part /boot --fstype=xfs --size=1024
part swap --fstype=swap --size=2048
part pv.01 --size=1 --grow
volgroup vg00 --pesize=4096 pv.01
logvol / --vgname=vg00 --name=root --fstype=xfs --size=10240
logvol /var --vgname=vg00 --name=var --fstype=xfs --size=20480
Ubuntu Debian 系列 Preseed 分区要点
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-auto-lvm/new_vg_name string vg00
d-i partman-auto/choose_recipe select boot-root
d-i partman-auto/expert_recipe string \
boot-root :: \
256 50 256 ext2 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext2 } \
mountpoint{ /boot } \
. \
10240 60 10240 ext4 \
$defaultignore{ } $lvmok{ } \
lv_name{ root } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
. \
512 60 512 swap \
$defaultignore{ } $lvmok{ } \
lv_name{ swap } \
method{ swap } format{ } \
. \
5120 70 5120 ext4 \
$defaultignore{ } $lvmok{ } \
lv_name{ www } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /www } \
.
d-i partman/choose_partition select Finish partitioning and write changes to disk
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman/confirm_nooverwrite boolean true
常见场景与注意事项