Cobbler 自动部署装机
Cobbler是一个使用Python开发的开源项目,通过将部署系统所涉及的所有服务集中在一起,来提供一个全自动批量快速建立linux系统的网络安装环境。
实验准备
- 一台Linux服务器(Centos7系统, 最好什么配置没有)
- 一台空白虚拟机(不选择镜像)
- 需要连接上互联网,且虚拟机都使用NAT模式
实验过程
一、搭建在线yum源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
二、自动加载在线更新源
yum list
三、安装Cobbler以及其相关服务软件包
yum install -y cobbler dhcp tftp-server pykickstart httpd rsync xinetd
各软件作用如下:
cobbler | 用来快速建立Linux网络安装环境 |
---|---|
dhcp | 用来为空白主机自动分配IP地址 |
tftp-server | 提供引导镜像文件的下载 |
pykickstart | 实现无人值守安装 |
httpd | 作为控制台程序运行 |
rsync | 实现数据同步 |
xinetd | 提供访问控制、加强的日志和资源管理功能 |
安装完之后最好查一下是不是都安装上了
rpm -q cobbler dhcp tftp-server pykickstart httpd rsync xinetd
四、修改cobbler主配置文件
vim /etc/cobbler/settings
next_server: 192.168.153.10 #指向tftp服务器的IP,即本机IP
server: 192.168.153.10 #指向cobbler服务器的IP,即本机IP
manage_dhcp: 1 #让cobbler管理dhcp服务
manage_rsync: 1 #让cobbler管理rsync服务
manage_tftpd: 1 #让cobbler管理tftp服务
五、启动相关服务并关闭防火墙和selinux
systemctl start httpd.service #开启http服务
systemctl start cobblerd.service #开启cobbler服务
systemctl stop firewalld.service #关闭防火墙
setenforce 0
六、开启tftp服务和rsync服务
6.1 修改tftp的配置文件
vim /etc/xinetd.d/tftp
6.2 开启服务
systemctl restart xinetd.service
systemctl start rsyncd.service
七、下载引导操作系统文件
cobbler get-loaders
八、设置Cobbler用户初始密码
8.1 使用盐值加密方式生成密钥
openssl passwd -1 -salt '123456' '123456' #' '里为安装的虚拟机系统的root密码
8.2 将生成的密钥加入Cobbler配置文件中
vim /etc/cobbler/settings
九、配置dhcp服务
9.1 修改Cobbler管理dhcp服务的模板文件
vim /etc/cobbler/dhcp.template
9.2 将配置好的模板文件同步到DHCP服务的配置文件中
cobbler sync
9.3 重启DHCP服务
systemctl restart dhcpd.service
十、导入ISO镜像文件
10.1 挂载镜像文件
mount /dev/sr0 /mnt
10.2 导入iso镜像中的Linux 内核、初始化镜像文件
cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64
10.3 查看内核和初始化文件是否在在tftp-server 共享目录中
yum install -y tree #系统默认没有安装,需手动安装tree
tree /var/lib/tftpboot/images #查看文件是否存在
十一、重启所有服务
systemctl restart cobblerd.service
systemctl restart dhcpd.service
systemctl restart xinetd.service
systemctl restart httpd.service
十二、再用cobbler check 对Cobbler做检查设置
注意当检查结果与上图一致时才算配置完成,不过还有一种情况:
如果出现图中的黄框的内容,其实配置已经没什么问题了,不过如果不放心的话也可以改一下:
systemctl start rsyncd.service
systemctl enable rsyncd.service
十三、所有配置完成后开启空白主机即可自动安装系统
注:此安装方式为最小化安装,安装的系统只有字符界面
十四、如需图形化界面可自行手动安装
yum list
yum -y groupinstall "server with GUI"