一、实验目的
通过PXE安装centos7,了解dhcp服务器的搭建,TFTP服务器的搭建,以及安装菜单界面的制作
二、实验环境
一台主机负责搭建DHCP服务器,HTTPD服务器,以及TFTP服务器(1个网卡,仅主机)
一台测试机(1个网卡,仅主机)
关闭VMware中仅主机的dhcp服务
三、实验步骤
1、安装相应的软件
yum install httpd yum install dhcp yum install tftp-server yum install syslinux (前三个都是搭建服务器所必须的,第四个中含有pxelinux.0文件)
2、准备yum源
建立文件目录结构
将光盘挂载对应的文件夹,sr0是7版本的光盘,对应centos7的文件夹,sr1对应centos6的文件夹。挂载完成后,启动httpd服务,可网页访问
3、制作kickstart应答文件
1)在/var/www/html中建立文件夹用来存放ks文件 mkdir /var/www/html/ksdir
在之前讲过用图形化工具system-config-kickstart制作应答文件,现在用原有系统安装完成后生成的anaconda-ks.cfg文件,复制加以修改,生成新的ks文件。自动化安装需要有最小安装和桌面安装的选择,所以需要制作两个ks文件,分别是ks7-mini.cfg和ks7-desk.cfg
2)桌面安装ks7-desk.cfg文件的修改制作
a、cdroom 改成url路径,路径就是准备好的yum源
b、graphical换成text 字符界面只能速度更快
c、selinux和防火墙的禁用,以及安装完成后重启
d、网卡名改为eth0
e、修改内核参数,加上net.ifnames=0,同时注释掉下面出现的bootloader
f、清理分区 clean all 以及mbr分区
g、然后是安装包的选择,可以默认的就是桌面安装,至于包下面的脚本可以全部删掉
3)最小安装ks7-mini.cfg文件的修改制作
基本和上述一样,只是在包的选择时,不选包就好了
检查ks文件格式是否正确,有专门的命令ksvalidator
4、配置dhcp服务
1)打开dhcp服务配置文件/etc/dhcp/dhcpd.conf,可以看见里面全是空的,只有几行注释,但是给了范例文件,将所给的范例文件拷过来覆盖当前的dhcp配置文件,再加以修改就好了
2)修改配置文件
a、根据所给的例子修改ip地址池,子网掩码,ip范围,以及网关
b、修改DNS,域名,租期等信息
c、前面的dhcp配置可以实现ip的分配,但是还不够。dhcp配置还要指明引导文件的名称,以及提供引导文件的服务器(TFTP服务器)的地址。被忘了分号;
重新启动dhcp服务 systemctl restart dhcpd
5、tftp服务器及相关的文件准备
1)tftp服务器的下载路径都在/var/lib/tftpboot/下,所以相关的文件都要放到这个文件目录下,安装的时候才能找到。
首先将之前安装的syslinux中的pxelinux.0和menu.c32拷到 /var/lib/tftpboot/下
然后是光盘自身提供的文件,isolinux文件夹下的vmlinuz initrd.img 和isolinux.cfg 注意isolinux.cfg需要放到tftpboot目录下的一个独立文件夹pexlinux.cfg下,并改名为default
用到的命令如下

将tftp五福设置成开机启动 systemctl enable tftp

7、测试安装
另一个就是应答文件的权限 chmod +r
新建一个虚拟机,开始测试(一张网卡,NAT模式 200g硬盘 内存2G 不需要插光盘)
开机启动后,选择菜单弹出。
选择最小安装后就不用管了,系统会自动化安装。实验完成
注意:我这只是设置了centos7的安装,如果想在安装选择界面中支持centos6的安装,在增加以下几个步骤
1、centos6应答文件(kickstart文件)的制作 ks6-mini.cfg
2、在tftp服务器的路径下,分别建立centos7和centos6的目录,其中vmlinuz initrd.img分别来自各自对应光盘,目录结构如下
3、准备启动菜单时把6也写进去