CentOS7实现Cobbler自动装机
Cobbler是一个使用Python开发的开源项目,可以实现一个全自动批量快速建立Linux系统的网络安装环境,本次实验就是在CentOS7上搭建Cobbler环境。
Cobbler基本概念
— Cobbler是一款快速的网络系统部署工具
— 集中管理所需服务,如DHCP、DNS、TFTP、Web
— Cobbler内部集成了一个镜像版本仓库
— Cobbler内部还集成了一个ks应答文件仓库
— Cobbler还提供了包括yum源管理、Web界面管理、API接口、电源管理等功能
文章目录
一,实验前环境
Centos7服务器 1台
Centos7的光盘镜像
虚拟机网卡采用NAT模式,不要使用桥接模式,DHCP服务器,在同一局域网多个DHCP服务会有冲突。
VMware的NAT模式的dhcp服务要关闭,避免干扰。
避免干扰建议关闭防火墙和selinux
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #永久关闭
vim /etc/selinux/config # 修改文件永久关闭selinux
SELINUX=disabled # 设置SELINUX的值为disabled
设置静态IP地址
二、环境搭建
1.安装软件包
cobbler #Cobbler程序包
cobbler-web #Cobbler的Web服务包
tftp-server #TFTP服务
dhcp #DHCP服务
httpd #HTTP服务
pykickstart #Cobbler检查kickstart语法软件包
yum -y install cobbler cobbler-web tftp-server dhcp httpd pykickstart
2 配置cobbler配置文件
next_server: 192.168.117.135 #设置下一个服务器还为本机,修改为本机IP地址
server: 192.168.117.135 #设置本机为cobbler服务器
manage_dhcp: 1 #设置cobbler管理dhcp服务
pxe_just_once: 1 #防止客户端重复安装操作系统
3 配置dhcp服务
vim /etc/cobbler/dhcp.template
4 获取引导文件
cobbler get-loaders
引导文件存放路径
/var/lib/cobbler/loaders/pxelinux.0
5 同步刷新配置
cobbler sync(可多次执行)
访问https://192.168.117.135/cobbler_web页面
用户名 cobbler 密码 cobbler
6 导入镜像
cobbler import --path=/root/centos7/ --name=Centos7
--path=/root/centos7/ #镜像挂载点
--name=Centos7 #导入以后的名字
导入后镜像存放在/var/www/cobbler/ks_mirror/目录下
列出镜像cobbler list
7 生成root密码
使用openssl工具生成root密码
openssl passwd -1 -salt ‘wdh’ ‘123456’
使用此字符串替换/etc/cobbler/settings中默认的密码
8 NTP时间同步
安装软件包chrony
yum install -y chrony
同步阿里云的时间服务器地址
vim /etc/chrony.conf
systemctl restart chronyd
systemctl enable chronyd
9 导入ks应答文件(可不用导入,不导入使用cobbler自带的默认ks应答文件)
ks应答文件的存放路径 /var/lib/cobbler/kickstarts
将自定义的应答文件导入到/var/lib/cobbler/kickstarts
查看导入信息及默认的ks文件
cobbler report
写完 ks 文件之后,先通过 validateks 测试一下有没有语法错误
cobbler validateks
指定ks文件为我们上传的ks文件
cobbler profile edit --name Centos-7.2-x86_64 --kickstart=/var/lib/cobbler/kickstarts/Centos7.cfg
# --name Centos-7.2-x86_64 名字可随意更改
# Centos7.cfg上传的ks应答文件
cobbler profile edit --name Centos-7.2-x86_64 --kopts='net.ifnames=0 biosdevname=0'
#修改安装系统的内核参数,在CentOS7系统有一个地方变了,就是网卡名变成eno16777736这种形式,但是为了运维标准化,我们需要将它变成我们常用的eth0,因此使用上面的参数。但要注意是CentOS7才需要上面的步骤,CentOS6不需要。
查看使用的ks应答文件
cobbler profile report
同步cobbler
cobbler sync
10 cobbler check检查配置是否有问题
若有问题按照提示依次解决错误
11 装机测试
来源:oschina
链接:https://my.oschina.net/u/4389538/blog/4646927