在 Debian 上使用 Cobbler 管理节点(客户端/物理机/虚拟机),核心思路是:
Cobbler 作为 PXE + 自动化配置中心,统一管“系统镜像、Kickstart/Preseed、MAC/IP、装机策略”。
下面按实际运维流程说明。
Cobbler 主要管理以下对象:
| 对象 | 作用 |
|---|---|
| distro | 操作系统镜像(ISO 导入) |
| profile | 安装模板(绑定 distro + kickstart/preseed) |
| system | 具体节点(MAC/IP/主机名) |
| repo | 软件源 |
| snippet | 可复用安装片段 |
apt update
apt install cobbler cobbler-web
常见依赖:
启动:
systemctl enable --now cobblerd
systemctl enable --now apache2
vim /etc/cobbler/settings.yaml
关键项:
server: 192.168.1.10
next_server: 192.168.1.10
manage_dhcp: true
manage_tftp: true
vim /etc/cobbler/dhcp.template
示例:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
}
应用:
cobbler sync
以 Debian 为例:
mount -o loop debian-12.iso /mnt
cobbler import --path=/mnt --name=debian12 --arch=x86_64
查看:
cobbler distro list
cobbler profile add \
--name=debian12-base \
--distro=debian12-x86_64 \
--kickstart=/var/lib/cobbler/kickstarts/debian12.preseed
示例 preseed 片段:
d-i hostname string node01
d-i netcfg/get_ipaddress string 192.168.1.101
cobbler system add \
--name=node01 \
--profile=debian12-base \
--mac=52:54:00:11:22:33 \
--ip-address=192.168.1.101 \
--hostname=node01
cobbler system edit --name=node01 --ip-address=192.168.1.102
cobbler system remove --name=node01
cobbler system list
cobbler system report --name=node01
Cobbler 只负责装机,不负责长期管理:
| 阶段 | 工具 |
|---|---|
| 装机 | Cobbler |
| 配置 | Ansible / Salt / Puppet |
| 监控 | Zabbix / Prometheus |
preseed 中可写:
d-i preseed/late_command string \
wget http://192.168.1.10/ansible-bootstrap.sh -O /tmp/a.sh; sh /tmp/a.sh
cobbler sync
cobbler check
cobbler list
cobbler report
如果你愿意,我可以:
你现在是打算批量装机还是长期节点管理?