一、初始环境配置
iptables -F (清空防火墙策略) setenforce 0(将selinux当前关闭)
systemctl disable firewalld.service(开机默认关闭防火墙)
也可以设置下次开机不启动该服务,编辑selinux配置文件:vim /etc/selinux/config
二、安装所需软件包
yum -y install httpd yum -y install tftp-server yum -y install syslinux yum -y install system-config-kickstart(生成ks文件) yum -y install dhcp (安装dhcp服务)
三、生成kickstart文件
因为在centos7上生成kickstart文件,所以需要提前修改下yum库,修改如下
system-config-kickstart
弹出以下界面(当前运行在xshell,需要运行x11图形化界面)
最后保存文件,起名为kscenos6.cfg,重复执行一次,生成kscentos7.cfg,不同之处在于选择http路径
生成的文件保存在/root目录下
让我们看一下这两个文件的关键处如图所示:
四、配置http服务
mkdir -p /var/www/html/centos/{6,7} (在http指定目录下创建目录用以区分centos6系统和centos7系统) mount /dev/sr0 /var/www/html/centos/6/ (将光盘挂载到指定目录中) mount /dev/sr1 /var/www/html/centos/7/
mkdir -p /var/www/html/ks
mv /root/kscentos6.cfg /var/www/html/ks mv /root/kscentos7cfg /var/www/html/ks mv ks centos
systemctl restart httpd (启动httpd服务)
测试http服务是否可用,在浏览器中输入192.168.230.131/centos 如下图所示
五、配置dhcp服务
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf(复制一份模板文件)
vim /etc/dhcp/dhcpd.conf (当前的ip地址必须为静态IP地址,否则无法启动dncp服务)
systemctl restart dhcpd
六、配置pxe
cd /var/lib/tftpboot/ (进入tftp服务的指定目录) mkdir centos{6,7} cp /var/www/html/centos/6/isolinux/{vmlinuz,initrd.img} centos6/ cp /var/www/html/centos/7/isolinux/{vmlinuz,initrd.img} centos7/ cp /usr/share/syslinux/{pxelinux.0,menu.c32} . (pxe创建系统时所需要的文件) mkdir pxelinux.cfg cp /var/www/html/centos/7/isolinux/isolinux.cfg pxelinux.cfg/default(注意所有文件权限)
vim pxelinux.cfg/default
systemctl start tftp.socket (开启服务) systemctl enable tftp.socket(开机自启动服务)
七、测试
创建新的虚拟机,进入Boot Menu界面,选择第四项
任意选择一个系统进入