Cobbler项目中使用PXE部署VMware ESXi的完整指南

Cobbler项目中使用PXE部署VMware ESXi的完整指南

cobbler Cobbler is a versatile Linux deployment server cobbler 项目地址: https://gitcode.com/gh_mirrors/co/cobbler

前言

Cobbler作为一款优秀的Linux网络安装服务器,不仅支持各种Linux发行版的自动化部署,还能用于VMware ESXi虚拟化平台的PXE安装。本文将详细介绍如何使用Cobbler实现ESXi的PXE网络安装,涵盖BIOS和UEFI两种启动模式。

环境准备

支持的安装方式

目前Cobbler支持以下ESXi安装方式:

已支持的功能(DHCPv4):

  • BIOS PXE安装(通过syslinux-3.86的pxelinux.0mboot.c32)
  • BIOS iPXE安装(通过ipxe undionly.kpxe链式加载syslinux-3.86 pxelinux.0)
  • UEFI PXE安装(通过ESXi UEFI引导程序mboot.efi)
  • UEFI iPXE安装(通过ipxe snponly.efi链式加载ESXi UEFI引导程序mboot.efi)

暂不支持的功能:

  • 使用DHCPv6安装ESXi
  • UEFI固件的HTTP安装
  • 配置文件启动菜单

快速安装指南

第一步:准备ESXi引导文件

根据不同的启动方式,需要准备不同的引导文件:

# 创建ESXi引导文件目录
mkdir /var/lib/cobbler/loaders/esxi

# 对于BIOS固件PXE安装,需要syslinux 3.86版本的pxelinux.0
curl https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/3.xx/syslinux-3.86.tar.gz | tar -zx -C /tmp
cp /tmp/syslinux-3.86/core/pxelinux.0 /var/lib/cobbler/loaders/esxi/

# 对于UEFI固件PXE安装,需要从ESXi安装ISO中提取bootx64.efi并重命名为mboot.efi
mount -t iso9660 VMware-VMvisor-Installer-7.0U3d-19482537.x86_64.iso /mnt
cp /mnt/efi/boot/bootx64.efi /var/lib/cobbler/loaders/esxi/mboot.efi
umount /mnt

# 同步Cobbler配置
cobbler sync

第二步:导入ESXi发行版

mount -t iso9660 /srv/VMware-VMvisor-Installer-7.0U3d-19482537.x86_64.iso /mnt
cobbler import --name=esxiv70U3d --path=/mnt --arch=x86_64

导入命令会自动检测发行版类型为vmware,OS版本为esxi70,并创建名为esxiv70U3d-x86_64的发行版和配置文件。

第三步:添加系统配置

cobbler system add --name some-esxi-host --profile esxiv70U3d-x86_64 --netboot-enabled=true \
    --interface="vmnic0" --mac-address="01:23:45:67:89:ab" --dns-name=some-esxi-host.localdomain

重要提示:必须为ESXi系统提供MAC地址才能通过Cobbler进行部署。

深入理解ESXi引导过程

BIOS固件引导详解

VMware官方文档明确指出:ESXi的BIOS引导程序mboot.c32作为SYSLINUX插件运行,仅与SYSLINUX 3.86版本兼容。虽然某些4.x版本可能工作,但最新6.x版本完全不兼容。

BIOS PXE引导流程:

  1. DHCP服务器提供TFTP服务器IP和esxi/pxelinux.0文件位置
  2. PXELINUX请求esxi/pxelinux.cfg/01-01-23-45-67-89-ab配置文件
  3. 配置文件指定mboot.c32内核路径和主机boot.cfg文件

UEFI固件引导详解

ESXi UEFI引导程序位于安装ISO的efi/boot/bootx64.efi路径。建议使用最新ESXi版本的引导程序,因为新版mboot.efi通常可以引导旧版ESXi,反之则不一定。

UEFI PXE引导流程:

  1. DHCP服务器提供TFTP服务器IP和esxi/system/01-01-23-45-67-89-ab/mboot.efi文件位置
  2. mboot.efi尝试从相同位置下载boot.cfg文件

iPXE引导配置

iPXE可以用于链式加载ESXi引导程序:

  • BIOS固件:使用undionly.kpxe链式加载syslinux pxelinux.0
  • UEFI固件:使用snponly.efi链式加载ESXi UEFI引导程序mboot.efi

启用iPXE引导:

cobbler system edit --name some-esxi-host --enable-ipxe=true

boot.cfg文件解析

boot.cfg是ESXi引导过程中关键的配置文件,指定了内核、内核选项和引导模块。Cobbler通过bootcfg.template模板为每个系统和配置文件生成相应的boot.cfg

可以通过HTTP API查看生成的boot.cfg

curl http://localhost/cblr/svc/op/bootcfg/profile/esxiv70U3d-x86_64
curl http://localhost/cblr/svc/op/bootcfg/system/some-esxi-host

内核选项配置

可以为配置文件和系统添加内核选项,系统会继承配置文件的内核选项:

cobbler profile edit --name esxiv70U3d-x86_64 --kernel-options="vlanid=203"
cobbler system edit --name some-esxi-host --kernel-options="systemMediaSize=small"

TFTP目录结构

ESXi相关的TFTP目录结构如下:

/var/lib/tftpboot/esxi
├── images -> ../images
├── mboot.efi
├── pxelinux.0
├── pxelinux.cfg -> ../pxelinux.cfg
├── snponly.efi
├── system
│   ├── 01-01-23-45-67-89-ab
│   │   ├── boot.cfg
│   │   └── mboot.efi -> ../../mboot.efi
│   └── 01-98-40-bb-c8-36-00
│       ├── boot.cfg
│       └── mboot.efi -> ../../mboot.efi
└── undionly.pxe

常见问题与建议

  1. 版本兼容性:始终使用最新版ESXi的引导程序以获得最佳兼容性
  2. MAC地址:部署ESXi时必须指定MAC地址
  3. SYSLINUX版本:严格使用3.86版本,其他版本可能导致兼容性问题
  4. 网络配置:确保DHCP和TFTP服务配置正确

通过本文的详细指导,您应该能够顺利使用Cobbler完成VMware ESXi的PXE网络安装。如果在实施过程中遇到问题,建议参考VMware官方文档获取更多技术细节。

cobbler Cobbler is a versatile Linux deployment server cobbler 项目地址: https://gitcode.com/gh_mirrors/co/cobbler

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵鹰伟Meadow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值