cobbler是一个使用Python开发的开源项目,通过将部署系统所涉及的所有服务集中在一起,来提供一个全自动批量快速建立Linux系统的网络安装环境。
Cobbler还提供了DHCP管理、YUM源管理、电源管理等功能,初次之外还支持命令行管理、WEB界面管理,并且提供了API接口,方便进行二次开发
cobbler和pxe高效批量网络装机都是自动化安装,但是cobbler是pxe的二次封装,在使用上更加方便,集成多个软件进行实现。
软件名 | 作用 |
---|---|
cobbler | 用来快速建立linux网络安装环境 |
cobbler web | 网页页面管理 |
dhcp | 给空白主机自动分配IP地址 |
tftp-server | 提供引导镜像文件下载 |
pykickstart | 实现无人值守安装 |
httpd | 作为控制台程序运行 |
rsync | 远程同步管理,实现数据同步 |
xinetd | 提供访问控制、加强日志和资源管理功能 |
环境部署:
- Centos7服务器(NAT模式,IP:192.168.254.129)
- epel扩展源软件包: 源软件包密码:16su
环境部署
1.安装epel扩展源软件包(cobbler相关软件包是由epel源提供的0
[root@localhost opt]# rpm -ivh epel-release-latest-7.noarch.rpm
2.加载yum源
[root@localhost ~]# yum list
3.安装cobbler、cobbler-web、dhcp、tftp-server、pykickstart、httpd、rsync、xinetd、软件包
[root@localhost opt]# yum install cobbler cobbler-web dhcp tftp-server pykickstart httpd rsync xinetd -y
4.修改cobbler的配置文件
[root@localhost ~]# vim /etc/cobbler/settings
修改以下内容
server: 192.168.254.129 #指定tftp服务器的地址
next_server: 192.168.254.129 #指定cobbler服务器地址
manage_dhcp: 1 # dhcp的管理服务(1:开启 0:关闭)
5.启动httpd和cobbler服务,关闭防火墙和selinux。
[root@localhost ~]# systemctl start cobblerd.service #开启cobbler服务
[root@localhost ~]# systemctl start httpd.service #开启httpd服务
[root@localhost ~]# systemctl stop firewalld.service #关闭防火墙
[root@localhost ~]# setenforce 0 #关闭增强功能
6.使用 cobbler check对cobbler做检查设置,哪些需要优化
[root@localhost ~]# cobbler check
7.开启tftp服务
[root@localhost opt]# vim /etc/xinetd.d/tftp
修改以下内容
disable = no (将yes改为no,开启tftp服务)
8.开启rsyncd服务
[root@localhost opt]# systemctl start rsyncd.service #开启服务
[root@localhost opt]# systemctl enable rsyncd.service #将服务添加系统服务管理
9.修改cobbler的管理员密码,使用以下命令生成盐值加密密码
[root@localhost opt]# openssl passwd -1 -salt 'benet' 'abc123' #此命令生成盐值加密密码
生成的盐值加密密码
$1$benet$2zR7T1EpGyJk/c1PGo5jy1
把盐值加密密码复制到cobbler的配置文件settings文件中
[root@localhost opt]# vim /etc/cobbler/settings
修改以下内容
default_password_crypted: "$1$benet$2zR7T1EpGyJk/c1PGo5jy1"
10.下载引导安装程序
[root@localhost opt]# cobbler get-loaders
11.重启cobbler和httpd服务。
[root@localhost opt]# systemctl restart cobblerd.service
[root@localhost opt]# systemctl restart httpd.service
重启服务后,我们可以再次使用cobbler check来查看优化后的情况,不显示说明优化成功,反之则优化未生效,下面的3条是可以忽略的。
12.编辑被cobbler所管理的dhcp模版
[root@localhost opt]# vim /etc/cobbler/dhcp.template
修改以下内容
subnet 192.168.254.0 netmask 255.255.255.0 { 修改254网段
option routers 192.168.254.1; #修改网关
option domain-name-servers 192.168.254.2; #修改DNS
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.254.120 192.168.254.150; #修改地址池
13.使用cobbler sync同步生成DHCP配置文件
[root@localhost opt]# cobbler sync
14.开启dhcp服务
[root@localhost opt]# systemctl start dhcpd.service
15.导入镜像文件
挂载镜像文件到/mnt目录下
[root@localhost opt]# mount /dev/sr0 /mnt
导入ISO镜像文件(文件较大,要等一会)
[root@localhost opt]# cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64
命令 | 注释 |
---|---|
path | 挂载目录 |
name | 系统名称(自定义) |
atch | 系统位数 |
重启所有的服务
[root@localhost CentOS-7-x86_64]# systemctl restart cobblerd.service
[root@localhost CentOS-7-x86_64]# systemctl restart dhcpd.service
[root@localhost CentOS-7-x86_64]# systemctl restart httpd.service
[root@localhost CentOS-7-x86_64]# systemctl restart xinetd.service
默认导入的存放位置(可以查看一下)
[root@localhost opt]# cd /var/www/cobbler/ks_mirror/CentOS-7-x86_64/
查看导入结果
[root@localhost CentOS-7-x86_64]# cobbler list
查看发行版本
[root@localhost CentOS-7-x86_64]# cobbler distro list
查看内核和初始化文件是否在tftp server中,用tree命令查看。(系统默认没有安装,可以用yum安装)
[root@localhost CentOS-7-x86_64]# yum install tree -y
查看内核和初始化文件在tftp server 共享目录
[root@localhost CentOS-7-x86_64]# tree /var/lib/tftpboot/images
ks默认文件存放位置
/var/lib/cobbler/kickstarts/sample_end.ks
客户端安装完成后只具备字符界面, 登录账户 root 密码abc123
cobbler web界面管理设置
[root@localhost CentOS-7-x86_64]# htdigest -c /etc/cobbler/users.digest Cobbler jack #给cobbler添加一个用户
输入两次确认密码 例如:123123
重启cobbler和httpd服务
[root@localhost CentOS-7-x86_64]# systemctl restart cobblerd.service
[root@localhost CentOS-7-x86_64]# systemctl restart httpd.service