Cobbler是一个Linux服务器安装服务,它通过网络启动(PXE)的方式快速安装和重装物理服务器及虚拟机,Cobbler还具备管理DHCP、DNS等网络服务的能力,本文将详细介绍如何在CentOS系统上部署Cobbler,包括其简介、服务端部署、客户端安装、定制安装以及相关配置文件的详解。
一、Cobbler简介
Cobbler是一个开源的Linux自动化安装服务,通过PXE(预启动执行环境)引导方式实现无人值守的网络安装,Cobbler支持多种Linux发行版,如RedHat、Fedora、CentOS、Debian、Ubuntu和SUSE等,它可以通过命令行或Web界面进行管理,并提供了API接口,方便二次开发。
Cobbler内置了一个轻量级配置管理系统,但也支持与Puppet等配置管理系统集成,目前暂不支持SaltStack。
二、Cobbler服务端部署
1. 准备工作
安装EPEL源:
dnf y install epelrelease
安装必要的依赖包:
dnf y install httpd dhcp* tftp tftpserver cobbler cobblerweb pykickstart
关闭防火墙和SELinux:
systemctl disable now firewalld setenforce 0 vim /etc/selinux/config # 修改为 SELINUX=disabled
2. 配置Yum源
可以选择阿里云或163的镜像源:
curl o /etc/yum.repos.d/CentOSBase.repo http://mirrors.aliyun.com/repo/Centos7.repo 或者 curl o /etc/yum.repos.d/CentOSBase.repo http://mirrors.163.com/.help/CentOS7Base163.repo yum clean all && yum makecache
3. 安装NTP客户端并同步时间
yum install y ntp ntpdate ntp1.aliyun.com hwclock w hwclock
4. 修改配置文件
编辑HTTPD配置文件:
vi /etc/httpd/conf/httpd.conf
启动httpd服务:
systemctl start httpd systemctl enable httpd
编辑TFTP配置文件:
vi /etc/xinetd.d/tftp
启动xinetd服务:
systemctl start xinetd systemctl enable xinetd
编辑Cobbler主配置文件:
vi /etc/cobbler/settings
关键配置项如下:
manage_dhcp: 1 ## 开启DHCP可管理状态 manage_tftpd: 1 ## 开启tftp管理 manage_rsync: 1 ## 开启rsync管理 next_server: 192.168.1.37 ## 自己的IP地址 pxe_just_once: 1 ## PXE安装只允许一次,防止误操作 restart_dns: 1 restart_dhcp: 1 server: 192.168.1.37 ## 自己的IP地址
编辑Debmirror配置文件:
vi /etc/debmirror.conf
注释两条内容。
设置默认密码:
openssl passwd 1 salt '' 'rootroot' # 生成密码,这里设置密码为“rootroot” vi /etc/cobbler/settings
替换默认密码。
编辑DHCP模板文件:
vi /etc/cobbler/dhcp.template
根据需要修改配置文件和IP配置段。
5. 启动Cobbler服务
systemctl start cobblerd systemctl enable cobblerd systemctl start rsyncd systemctl enable rsyncd
6. 下载Bootloader所需文件
cobbler getloaders
7. 检查服务并查看缺失项
cobbler check
8. 执行同步并启动DHCP服务
systemctl restart cobblerd # 重启cobbler服务 cobbler sync # 执行同步 systemctl start dhcpd # 启动dhcp服务
9. 创建文件夹存放镜像并导入ISO文件
mkdir /mnt/cdrom # 如果创建不了,使用 umount /mnt 重启一下再试 mount t auto /dev/cdrom /mnt/cdrom cobbler import name=centos7 arch=x86_64 path=/mnt/cdrom # 此命令耗时较长,需耐心等待…
三、客户端安装
在客户端机器上,需要确保以下几点:
1、支持PXE网络引导。
2、建立网络通信(DHCP)。
3、提供开机引导的引导文件。
4、传递引导文件到客户端(TFTP)。
5、无人值守安装的Kickstart文件。
四、定制安装
Cobbler允许用户自定义安装脚本和配置文件,以满足特定需求,可以通过编辑Kickstart模板文件来实现定制化安装,可以定义特定的分区方案、安装软件包、配置网络等。
五、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日志 |
八、常见问题FAQs
Q1: Cobbler无法启动怎么办?
A1: 确保所有必要的服务已经启动,并且配置文件中没有语法错误,可以使用cobbler check
命令检查配置是否正确,如果问题依然存在,可以查看日志文件(如/var/log/cobbler/cobbler.log
)以获取更多信息。
Q2: 如何更改Cobbler的默认安装密码?
A2: 可以通过运行openssl passwd 1 salt '' 'newpassword'
生成新的加密密码,然后将生成的密码替换/etc/cobbler/settings
文件中的default_password_crypted
字段的值。