PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系统等。
二,PXE工作流程
三,Cobbler功能
四,安装环境
虚拟机两台,一台为Cobbler主机一台为测试安装机
虚拟机网络设置为(两台网络一样)
主机系统为CentOS7.4
设置固定IP为192.168.80.130网关为VM默认网关192.168.80.2
五,安装Cobbler
配置yum源
rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
安装包
yum -y install httpd dhcp tftp cobbler xinetd
关闭防火墙和selinux
systemctl stop firewalld systemctl disable firewalld setenforce 0 sed ‘s#enforcing#disabled#g‘ /etc/selinux/config -i
启动
systemctl start cobblerd systemctl start httpd
启动cobbler检查(需要完成以下列出问题才能使用)
cobbler check
1,有个server文件必须设置成本地
2,设置PXE文件去那里找
3,设置Selinex
4,把配置文件的disable设置为no
5,网络启动的东西设置在这个目录,通过命令去下载
6,启动rsync
7,如果使用ubuntu系统需要安装这个包,这里不需要安装
8,需要安装pykickstart包
9,生成默认的密码放在文件
10,需要安装电源管理
运行命令下载一些网络用的文件
cobbler get-loaders
安装xinetd
yum -y install xinetd
修改配置文件/etc/cobbler/settings两个地址设置为本机地址
server 192.168.80.130 next_server 192.168.80.130
修改完重启
systemctl restart cobblerd
修改配置文件/etc/xinetd.d/tftp
disable = no
修改完重启
systemctl restart xinetd
启动rsync并设置为自启动
systemctl start rsyncd systemctl enable rsyncd
安装pykickstart
yum -y install pykickstart
设置默认密码 执行命令
openssl passwd -1 -salt ‘cobbler‘ ‘cobbler‘
生成一个密码设置在/etc/cobbler/settings
default_password_crypted: "$1$123123$MAV.kVI/b3swmFLErPD2b0"
重启cobblerd
检查(这两个问题不用处理)
设置cobbler可以管理dhcp
/etc/cobbler/settings
manage_dhcp: 1
修改dhcp配置文件/etc/cobbler/dhcp.template修改标红部分,其他保持默认
重启cobbler(就把刚刚配置的dhcp覆盖dhcp配置文件/etc/dhcp/dhcpd.conf)
systemctl restart cobblerd
执行
cobbler sync
导入镜像
先挂载一个镜像光盘
mount /dev/cdrom /mnt
导入镜像
cobbler import --path=/mnt/ --name=Centos-7.2-x86_64 --arch=x86_64
导入的镜像目录为/var/www/cobbler/ks_mirror
查看导入镜像
cobbler profile list
新建一个虚拟机
启动就会从dhcp获取到地址自动安装
PS:导入CentOS7.4镜像无法安装,原因不明,就像把7.4制作成U盘一样无法安装系统,有timeout提示
排错:同步cobbler sync时候报错,/etc/init.d/dhcpd权限不足,同步失败,把这个文件权限设置为777即可