运行环境: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 如图所示
安装成功