1. 概述
什么是cobbler?
- Cobbler 是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等
- Cobbler 可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用
- Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理
- Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack
cobbler集成的服务
- PXE服务支持
- DHCP服务管理
- DNS服务管理(可选bind,dnsmasq)
- 电源管理
- Kickstart服务支持
- YUM仓库管理
- TFTP(PXE启动时需要)
- Apache(提供kickstart的安装源,并提供定制化的kickstart配置)
2. cobbler工作原理
服务端:
- 启动 cobbler 服务
- 进行 cobbler 错误检查,执行 cobbler check 命令
- 执行 cobbler sync 命令
- 复制相关启动文件到 TFTP 目录中
- 启动 DHCP 服务,提供地址分配
- DHCP 服务器分配 IP 地址
- TFTP 传输启动文件
- server 端接收安装信息
- server 端发送 ISO镜像和ks文件
客户端:
- 客户端以 PXE 模式启动
- 客户端获取 IP 地址
- 通过 TFTP 服务器获取启动文件
- 进入 cobbler 安装选择界面
- 客户端确定加载信息
- 根据配置信息准备安装系统
- 加载 kickstart 文件
- 传输系统安装的其他文件
- 进行系统安装
3. cobbler配置文件
cobbler 配置文件目录在/etc/cobbler
配置文件 | 作用 |
---|---|
/etc/cobbler/settings | cobbler主配置文件 |
/etc/cobbler/iso/ | ISO模板配置文件 |
/etc/cobbler/pxe | PXE模板配置文件 |
/etc/cobbler/power | 电源配置文件 |
/etc/cobbler/user.conf | web服务授权配置文件 |
/etc/cobbler/users.digest | web界面访问的用户名密码配置文件 |
/etc/cobbler/dhcp.template | DHCP服务器的配置模板 |
/etc/cobbler/dnsmasq.template | DNS服务器的配置模板 |
/etc/cobbler/tftpd.template | TFTP服务器的配置模板 |
/etc/cobbler/modules.conf | 模块的配置文件 |
cobbler数据目录
配置文件 | 作用 |
---|---|
/var/lib/cobbler/config/ | 用于存放distros,system,profiles等信息配置文件 |
/var/lib/cobbler/triggers/ | 用于存放用户定义的cobbler命令 |
/var/lib/cobbler/kickstart/ | 默认存放kickstart文件 |
/var/lib/cobbler/loaders/ | 存放各种引导程序以及镜像目录 |
/var/www/cobbler/ks_mirror/ | 导入的发行版系统的所有数据 |
/var/www/cobbler/images/ | 导入发行版的kernel和initrd镜像用于远程网络启动 |
/var/www/cobbler/repo_mirror/ | yum仓库存储目录 |
cobbler日志文件
配置文件 | 作用 |
---|---|
/var/log/cobbler/installing | 客户端安装日志 |
/var/log/cobbler/cobbler.log | cobbler日志 |
4. 部署cobbler
1. 安装cobbler以及相关的软件
//配置yum源
[root@node1 ~]# curl -o /etc/yum.repos.d/CentOS7-Base-163.repo e-163.repo
[root@node1 ~]# sed -i 's/\$releasever/7/g' /etc/yum.repos.d/CentOS7-Base-163.repo
[root@node1 ~]# sed -i 's/^enabled=.*/enabled=1/g' /etc/yum.repos.d/CentOS7-Base-163