文章目录
一、PXE概述
1.了解PXE
PXE是由Intel 公司开发的网络引导技术,工作在 Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统
PXE严格来说并不是一种安装方式,而是一种引导的方式。进行 PXE安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE。
Client PXE(Preboot Execution Environment)协议使计算机可以通过网络启动。
协议分为 client 和 server端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS把 PXEclient 调入内存执行,由 PXE client将放置在远端的文件通过网络下载到本地运行。
运行 PXE协议需要设置 DHCP 服务器和TFTP服务器。DHCP服务器用来给 PXE client(将要安装系统的主机)分配一个IP地址,由于是给 PXE client分配IP地址,所以在配置DHCP 服务器时需要增加相应的PXE 设置。
此外,在 PXE client的 ROM 中,已经存在了TFTP Client。PXE Client通过TFTP 协议到TFTP Server 上下载所需的文件。
2.优点
规模化:同时装配多台服务器;
自动化:安装系统、配置各种服务;
远程实现:不需要光盘、U盘等安装介质。
3.前提条件
客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。
网络中有一台 DHCP服务器以便为客户机自动分配地址、指定引导文件位置。
服务器通过TFTP (Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。其中,第一个条件实际上是硬件要求,目前绝大多数服务器和大多数PC 都能够提供此支持,只需在BIOS设置中允许从Network或LAN启动即可。
4.KickStart概述
AKickStart 是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为 ks.cfg 的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart 生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取 ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
通过kickstart服务软件达到一个去干预人工操作的操作,操作步骤和文件放在ks.cfg文件下
二、PXE服务的构建过程
1.PXE服务器和客户机的工作过程:
1.PXE客户机发出DHCP请求,向DHCP服务器申请IP地址。
2.DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件pxelinux.0,默认在TFTP共享目录/var/lib/tftpboot/下
3.PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求。
4.TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机。
5.PXE客户机通过网络来启动到系统安装主界面。
6.PXE客户机向文件共享服务器(ftp、http、nfs等〉发起获取centos或windows系统安装文件的请求。
7.文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机。
8.PXE客户机进入到安装提示向导界面,用户需要手动来完成系统安装的操作
2.搭建PXE远程安装服务器
所需安装包
vsftpm #用来防止安装镜像,通过ftp访问镜像安装
dhcp.x86_64 12:4.2.5-7pd-3.0.2-27.el7.x86_64.r9.el7.centos #用来给客户机分配ip
syslinux-4.05-15.el7.x86_64.rpm #用来提供pxe的引导程序
tftp-server.x86_64 0:5.2-22.el7.rpm #用来提供引导镜像文件的下载
xinetd.x86_64 2:2.3.15-14.el7 #用来托管tftp
system-config-kickstart.noarch 0:2.9.7-1.el7.rpm #用来无人值守安装
3.PXE远程安装服务器步骤
添加一个新的网卡,仅主机模式

对新网卡进行配置
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-ens37
[root@localhost network-scripts]# vim ifcfg-ens37

之后进行网络重启,安装dhcp服务
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# yum install dhcp -y
在虚拟机中新建一个裸机,并修改网络位仅主机模式
此处位第二个新建的

[root@localhost network-scripts]# cp -rfp /usr/share/doc/dhcp-4.2.5/dhcp.conf.example /etc/dh
cp/dhcpd.conf
[root@localhost network-scripts]# vim /etc/dhcp/dhcpd.conf
[root@localhost network-scripts]# systemctl start dhcpd
[root@localhost network-scripts]# yum install tftp-server #安装tftp服务

[root@localhost network-scripts]# vim /etc/xinetd.d/tftp

进行光盘挂载
[root@localhost network-scripts]# mount /dev/sr0 /mnt/
[root@localhost network-scripts]# cd /mnt/images/pxeboot/
[root@localhost pxeboot]# ls
initrd.img TRANS.TBL vmlinuz
[root@localhost pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/ #拷贝到tftp根目录
[root@localhost pxeboot]# ls /var/lib/tftpboot/ #查看
[root@localhost pxeboot]# systemctl start tftp #开启服务


[root@localhost pxeboot]# yum install syslinux -y
[root@localhost pxeboot]# rpm -ql syslinux | grep pxelinux
/usr/share/doc/syslinux-4.05/pxelinux.txt
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/gpxelinuxk.0
/usr/share/syslinux/pxelinux.0
[root@localhost pxeboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost pxeboot]# ls /var/lib/tftpboot/
initrd.img pxelinux.0 vmlinuz

[root@localhost pxeboot]# yum install vsftpd -y
[root@localhost pxeboot]# mkdir /var/ftp/centos7
[root@localhost pxeboot]# cp -rf /mnt/* /var/ftp/centos7/
[root@localhost pxeboot]# systemctl start vsftpd
[root@localhost pxeboot]# systemctl status vsftpd
[root@localhost pxeboot]# systemctl enable vsftpd


[root@localhost pxeboot]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
initrd.img pxelinux.0 vmlinuz
[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# ls
initrd.img pxelinux.0 pxelinux.cfg vmlinuz
[root@localhost tftpboot]# vim pxelinux.cfg/default
label auto #默认的图形安装
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.100/centos7 #method必须指定网络路径
label linux text #文本安装模式,出现boot:时输入linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.100.100/centos7
label linux rescue #救援模式,出现boot:时输入linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7
[root@localhost tftpboot]# systemctl restart vsftpd
[root@localhost tftpboot]# systemctl restart tftp
[root@localhost tftpboot]# systemctl restart dhcpd
至此结束,去新建的逻辑中点击启动,便可自动安装

三、实现Kickstart无人值守安装
在 CentOS 7 系统中安装 system-config-kickstart 工具之后,即可通过图形化向导工具来配置安装应答文件。
[root@localhost tftpboot]# yum install -y system-config-kickstart -y









[root@localhost tftpboot]# cd /var/ftp
[root@localhost ftp]# ls
centos7 ks.cfg pub
[root@localhost ~]#vim anaconda-ks.cfg
[root@localhost ~]# vim /var/ftp/ks.cfg
vim anaconda-ks.cfg

vim /var/ftp/ks.cfg

至此结束,进行自动安装系统

2462

被折叠的 条评论
为什么被折叠?



