原理:
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 quiet
3、将光盘下的引导文件复制到TFTP根目录
#cp /media/cdrom/isolinux/* /var/lib/tftpboot/
[root@localhost tftpboot]# ll -ht 总用量 85M drwxr-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/Shanghai keyboard 'us' lang en_US.UTF-8 --addsupport=zh_CN.UTF-8 part /boot --fstype="xfs" --size=800 part / --fstype="xfs" --size=10000 zerombr bootloader --location=mbr %packages @core %end
最后将DHCP,TFTP,vsftp服务都重启一下,关闭防火墙,开另一台新虚拟机进行安装(主机模式)