PXE

PXE

简介:

         PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。

PXE启动过程:

客户端个人电脑开机后, 在 TCP/IP Bootrom 获得控制权之前先做自我测试。

¨ Bootprom 送出 DHCP 要求以取得 IP。
¨ 如果服务器收到个人电脑所送出的要求, 就会送回 BOOTP/DHCP 回应,内容包括
客户端的 IP 地址, 预设网关, 及开机映像文件。否则,服务器会忽略这个要求。
¨ Bootprom 由 TFTP 通讯协议从服务器下载开机映像文件。
¨ 个人电脑通过这个开机映像文件开机, 这个开机文件可以只是单纯的开机程式也可
以是操作系统。
¨ 开机映像文件将包含 kernel loader 及压缩过的 kernel,此 kernel 将支持NTFS root
系统。
¨ 远程客户端根据下载的文件启动机器。

1、安装必要的服务

yum install dhcp tftp-server.x86_64  httpd syslinux -y

这里的sylinux服务于pxe的引导加载程序

systemctl  stop firewalld

开启tftp服务

vim /etc/xinetd.d/tftp


systemctl restart xinetd.service


2、把镜像中isolinux/ 目录下的所有东西都拷贝到 /var/lib/tfpboot/

cd /var/lib/tftpboot/

cp /usr/share/syslinux/pxelinux.0  .

cp isolinux.cfg pxelinux.cfg/default

mkdir pxelinux.cfg



注:这里有几个需要注意的文件

vmlinux        系统内核文件

initrd.img        初始化镜像文件

isolinux.cfg      该文件里是系统启动时默认的一些设置



3、配置dhcp服务

systemctl  start  dhcpd

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf


PXE_第1张图片

next-server 172.25.254.200;           找172.25.254.200的主机获取ip
filename="pxelinux.0";                 启动时读取pxelinux.0文件

systemctl restart dhcpd


4、打开虚拟机管理界面virt-manager,启动测试

选择一台虚拟机,并选择网卡启动

PXE_第2张图片

 

启动虚拟机,获取的ip为172.25.254.180

PXE_第3张图片


5、更改默认的启动配置

vim pxelinux.cfg/default

timeout 100

menu background xuwei.png
menu title PRISON BREAK


PXE_第4张图片

这里是安装不了的,系统启动时会读取下面的文件

vmlinux        系统内核文件

initrd.img        初始化镜像文件

所以要指定镜像文件让系统读取

[root@server tftpboot]# vim pxelinux.cfg/default
65   append initrd=initrd.img repo=http://172.25.254.68/rhel7.0

之后就能安装

PXE_第5张图片


6、pxe配合kickstart全自动安装系统

yum install system-config-kickstart -y

system-config-kickstart   打开图形界面配置

保存ks.cfg 到/var/www/html

vim /ks.cfg     编辑ks.cfg

%packages
@base
lftp
%end

%post
cat >>/etc/yum.repos.d/yyum.repo < [rhel7]
name=rhel7
baseurl=http://172.25.254.68/rhel7.0
gpgcheck=0
enable=1
EOF

rm -rf /etc/sysconfig/network-scripts/ifcfg-eth0
cat >>/etc/sysconfig/network-scripts/ifcfg-eth0 < DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.100
PREFIX=24
EOF
systemctl restart network

yum install httpd -y
yum install start httpd
systemctl enable httpd
systemctl stop firewalld
echo 172.25.254.100> /var/www/html/index.html
%end
保存推出之后

[root@server tftpboot]# vim pxelinux.cfg/default

65   append initrd=initrd.img repo=http://172.25.254.68/rhel7.0 ks=http://172.25.254.68/ks.cfg

ks脚本写在哪,这里的地址要对应,我的在68主机,所以之前要配置好httpd服务
测试:自动装系统
PXE_第6张图片



你可能感兴趣的:(Linux)