运行环境:Vmware centos7

实验:实现pxe安装centos6和centos7

1、将系统中的防火墙和selinux全部关闭,将网卡地址配置为静态ip

iptables -F  (清空防火墙)
systemctl disable firewalld.service (开机默认关闭防火墙服务)
setenforce 0 (将selinux关闭)
vim /etc/selinux/config (修改selinux配置文件,设置下次开机不启动该服务)

nmcli connection modify ens34 autoconnect yes ipv4.method manual ipv4.addresses 192.168.162.7/24(修改地址为静态地址)
nmcli connection up ens34 (激活该方案)

也可以编辑网卡配置文件(vim /etc/sysconfig/network-scripts/ifcfg-ens34)不过需要reload一下


2、安装所需要的软件包

yum -y install httpd tftp-server dhcp syslinux system-config-kickstart



3、启动httpd服务并将yum配好

cd /var/www/html(进入http服务指定目录,也可以通过修改配置文件来修改指定目录)
mkdir centos{6..7}(创建两个目录以便容易区分两个不同的操作系统)
mkdir ks
mount /dev/sr0 /var/www/html/centos7/ (将光盘挂载到对应目录中,sr0光盘为centos7镜像)
mount /dev/sr1 /var/www/html/centos6/(sr1光盘为centos6镜像)

在浏览器中测试输入对应网卡地址http://192.168.162.7/centos6/ 或者 http://192.168.162.7/centos7/;如图所示:


4、生成ks文件

system-config-kickstart

这里选择安装包选项没有任何显示,要想显示centos7中需要对yun库进行修改,centos7要修改为development,centos6随意,centos5要修改为base,如图所示:

重新运行命令system-config-kickstart

最后点击save保存到指定位置

重复此步骤,我们生成了三个文件,将此文件放入到/var/www/html/ks目录中


4、配置dhcp服务

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf(将模板拷过来直接修改)

vim /etc/dhcp/dhcpd.conf (修改dhcp服务配置文件)

systemctl start dhcpd
systemctl enable dhcpd


5、启动tftp服务并导入所需文件

systemctl enable tftp.socket(设置开机自启动)
systemctl start tftp.socket (启动tftp服务)

cd /var/lib/tftpboot/(进入tftp指定目录)
cp /usr/share/syslinux/{pxelinux.0,menu.c32} .

cp /var/www/html/centos7/isolinux/{vmlinuz,initrd.img} .(拷贝所需要的内核文件以及虚拟映像文件,这里因为有两个系统,所以创建两个目录加以区分centos6和centos7)
mkdir centos{6,7}

mkdir pxelinux.cfg
cp /var/www/html/centos7/isolinux/isolinux.cfg pxelinux.cfg/default

vim /pxelinux.cfg/default


6、测试

新添加一台虚拟机,要保证该虚拟机的硬盘大小要超过ks文件设置的总大小,centos7内存要设在2G

进入Boot Menu,选择第四项Network boot 如图所示

安装成功