原理:
PXE是在没有软驱、硬盘、CD-ROM的情况下引导计算机的一种方式,也就是BIOS将使用PXE协议从网络引导。
DHCP服务器:用来动态分配IP地址(同时分配子网掩码、网关、TFTP服务器地址、启动文件名、DNS服务器、时间服务器等等)。
TFTP服务器:用来提供启动文件的下载
安装环境:虚拟机CentOS7.0中搭建PXE服务器
使用模式:仅主机模式
1.安装与配置tftp服务器
#yum install tftp-server -y#vim /etc/xinetd.d/tftp
service tftp
{ socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot ###设置主目录 -c为指定为可以创建文件 disable = yes ###将disable的值改为no per_source = 11 cps = 100 2 flags = IPv4}默认的根目录:/var/lib/tftpboot
启动tftp服务:systemctl restart tftp.service验证一下TFTP是否起来了:
# netstat -nlp | grep 69
出现下面的信息代表已经启动了
udp 0 0 0.0.0.0:69 0.0.0.0:*
2.tftp的根目录需要放置网络
1、引导文件pxelinux.0
#yum install syslinux -y#rpm -qa |grep syslinux 找到程序的安装包#rpm -ql syslinux-4.05-12.el7.x86_64 通过安装包查询pexlinux.0文件目录为/usr/share/syslinux #cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 将pexlinux.0文件复制到tftp根目录
2、配置文件(必须要在同级目录下创建pxelinux.cfg/default)
#mkdir /var/lib/tftpboot/pxelinux.cfg#vim /var/lib/tftpboot/pxelinux.cfg/default 该文件可以使用光盘中的isolinux.cfg文件来当模板,这个启动菜单很重要 #cat isolinux.cfg >/var/lib/tftpboot/pxelinux.cfg/default
修改位置 vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
menu label ^Install CentOS 7 menu default kernel vmlinuz append initrd=initrd.img inst.ks=192.168.100.34/ks.cfg quiet3、将光盘下的引导文件复制到TFTP根目录
#cp /media/cdrom/isolinux/* /var/lib/tftpboot/
[root@localhost tftpboot]# ll -ht总用量 85Mdrwxr-xr-x. 3 root root 20 4月 28 03:04 pxelinux.cfg //该文件夹下放的是启动菜单,手动创建-r-xr-xr-x. 1 root root 5.0M 4月 28 03:02 vmlinuz //内核文件-r--r--r--. 1 root root 150K 4月 28 03:02 vesamenu.c32 //legacy BIOS引导菜单工具,可以从光盘或 /usr/share/syslinux/ 中找到-r--r--r--. 1 root root 37M 4月 28 03:02 initrd.img //这是一个初始化文件,一个最小的系统镜像 -rw-r--r--. 1 root root 27K 4月 28 02:56 pxelinux.0 //这文件是为legcay启动,它是legcay的启动镜像
3.DHCP服务
#yum install dhcp -y#vim /etc/dhcp/dhcpd.conf
subnet 192.168.100.0 netmask 255.255.255.0{
range 192.168.100.30 192.168.100.50; next-server 192.168.100.34; filename "pxelinux.0";}
#systemctl restart dhcpd.service 重启服务
4.ftp服务
#yum install vsftpd -y默认的根目录:/var/ftp将光盘挂载到/var/ftp/pub目录
在var/ftp 目录下创建ks.cfg文件
ks.cfg内容url --url="ftp://192.168.100.134/pub"timezone Asia/Shanghaikeyboard 'us'lang en_US.UTF-8 --addsupport=zh_CN.UTF-8part /boot --fstype="xfs" --size=800part / --fstype="xfs" --size=10000zerombrbootloader --location=mbr%packages@core%end
最后将DHCP,TFTP,vsftp服务都重启一下,关闭防火墙,开另一台新虚拟机进行安装(主机模式)