概述
cobbler 作为物理机操作系统批量部署工具,应用非常广泛,可以实现从系统安装到 配置几乎无认为干涉的全自动化部署,他使用 dnsmasq 作为内部的 dhcp 和 dns 服 务器。可以自定义其 snippets 脚本来实现更复杂的安装配置操作。而且他支持 web ui 来进行配置。其核心组件主要有:
Distros:定义Linux发行版
Profiles:安装组合配置文件,即可以通过前两者和不同 kickstart 或seed文件的组合,来部署具有不同功能的 linux 服务器。
System:指定具体某个机器的安装选项,如指定主机名,ip、dns等选项。
本实验主要在CentOS7上部署安装cobbler程序,部署具体的操作系统在之后介绍。
安装 cobbler
通过 yum 安装 cobbler 在cobbler-server 上执行【需要epel源】:
yum install httpd cobbler cobbler-web pykickstart xinetd
启动相关服务
systemctl enable httpd
systemctl enable cobblerd
systemctl enable dnsmasq
systemctl enable rsyncd
systemctl start httpd
systemctl start cobblerd
systemctl start dnsmasq
systemctl start rsyncd
systemctl start xined
配置 cobbler
配置一个随机密钥,带有4位伪随机数(此步骤可以省略)
openssl passwd -1 -salt $(openssl rand -hex 4)
修改 cobbler 配置文件 /etc/cobbler/settings,确认如下选项配置的值
next_server: 172.16.1.122
server: 172.16.1.122
manage_dhcp: 1
manage dns: 1
manage_tftpd: 1
manage rsync: 1
pxe_just_noce: 1
default_password_crypted: [出处填写上面生成的密钥串]
配置开启 tftp 服务
#sed –I ‘/disable/c\\tdisable\t\t\t= no’ /etc/xinted.d/tftp
修改/etc/cobbler/dnsmasq.template,用于配置dnsmasq的信息
dhcp-range=1.1.1.2,1.1.1.10 【定义客户端 dhcp 范围】
dhcp-ignore=tag:!known
dhcp-ignore=#known
dhcp-option=3,1.1.1.1 【填写网关的ip】
修改/etc/cobbler/modules.conf 配置文件
[dns] module = manage_dnsmasq
[dhcp] Module = manage_dnsmasq
下载 PXE 启动菜单【从互联网上下载 pxelinux.0 等文件,之前可以运行下cobbler check检查】
#cobbler get-loaders
重启相关服务
systemctl restart cobblerd
systemctl restart rsyncd
systemctl restart xinetd
检查 cobbler 配置
#cobbler check 【大多数报错选项可以忽略的,比如电源管理等】
同步数据,每次做了cobbler 配置更改时需要 sync
#cobbler sync
至此cobbler基本程序已经安装完毕,可以使用了。但是全部在命令行下的,下班介绍web UI配置。
Web 认证登录设置
编辑/etc/cobbler/modules.conf,修改如下项:
module = authn_configfile 【此项是通过认证文件来进行用户认证,当然还包括其他方式如 pam,ldap 等】
生成用户认证文件
htdigest /etc/cobbler/users.digest “cobbler” cobbler 【用户名和密码都是cobbler】
将新建的 cobbler 用户加入到 admin 组中,编辑/etc/cobbler/users.conf,修改如下:
admin = "cobbler"
重启 cobbler 服务,然后在浏览器中通过 https 访问 https://1.1.1.122/cobbler_web
Cobbler安装全部完毕,之后会分别介绍通过cobbler自动化安装CentOS 7和Ubuntu 14.04。
PXE+DHCP+TFTP+Cobbler 无人值守安装CentOS 7
CentOS7下利用Cobbler安装部署CentOS