一、PXE具备的优点:
1.规模化:同时装配多台服务器
2.自动化:安装系统,配置各种服务
3.远程实现:不需要光盘,u盘等安装介质
如要搭建PXE网络体系,则需要满足以下几个前提条件:
客户端:
1.客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从Network或LAN启动即可。
服务端:
1.网络中有一台DHCP服务器以便客户机自动分配地址,指定引导文件位置。
2.服务器要通过TFTP服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载。
搭建PXE远程安装服务器
PXE远程安装服务器集成了CenTOS7安装源,TFTP服务,DHCP服务,FTP服务,能够向客户机裸机发送PXE引导程序,Linux内核,启动菜单等数据,以及提供安装文件
TFTP(简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输协议,适合于小文件传输的应用场合。TFTP服务默认有xinetd服务(新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务)进行管理,使用UDP 端口69。
在系统启动中默认的守护进程的父进程ID全是init,守护进程特征就是在程序运行名后加了一个d,但不是所有为字母是d的进程都是守护进程。
部署pxe服务
(1)关闭防火墙和selinux
[root@localhost1 ~]#systemctl stop firewalld.service
[root@localhost1 ~]#setenforce 0
(2)搭建本地yum仓库用于安装所需软件
[root@localhost1 ~]#mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost1 ~]#cd /etc/yum.repos.d/
[root@localhost1 yum.repos.d]#ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo CentOS-Sources.repo
[root@localhost1 yum.repos.d]#mkdir repo.bak
[root@localhost1 yum.repos.d]#mv *.repo repo.bak/
[root@localhost1 yum.repos.d]#ls
repo.bak
[root@localhost1 yum.repos.d]#vim local.repo
[root@localhost1 yum.repos.d]#yum clean all && yum makecache
(3) 安装并启用 DHCP 服务
//下载dhcp服务
[root@localhost1 ~]#yum install -y dhcp
//将dhcp配置模板文件拷贝到dhcp配置文件中
[root@localhost1 ~]#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
//修改dhcp配置文件
[root@localhost1 ~]#vim /etc/dhcp/dhcpd.conf
ddns-update-style none; --禁用 DNS 动态更新
next-server 192.168.116.10; --指定 TFTP 服务器的地址
filename"pxelinux.0"; --指定 PXE 引导程序的文件名
subnet 192.168.116.0 netmask 255.255.255.0 { --声明要分配的网段地址
range 192.168.116.100 192.168.116.200; --设置ip地址池
option routers 192.168.116.10; --默认网关地址指向TFTP服务器的IP地址
}
//开启dhcp服务
[root@localhost1 ~]#systemctl start dhcpd
(4)安装并启用tftp服务
//下载tftp服务相关软件
[root@localhost1 ~]#yum install -y tftp-server
[root@localhost1 ~]#yum install -y xinetd.x86_64
//查找并修改TFTP服务配置文件 /etc/xinetd.d/tftp
[root@localhost1 ~]#cd /etc/xinetd.d/
[root@localhost1 xinetd.d]#ls
chargen-dgram daytime-stream echo-dgram tftp
chargen-stream discard-dgram echo-stream time-dgram
daytime-dgram discard-stream tcpmux-server time-stream
[root@localhost1 ~]#vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp --TFTP使用UDP协议
wait = no --no表示客户机可以多台一起连接,yes表示客户机只能逐台连接
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot --指定TFTP根目录(文件存储路径)
disable = no --no表示开启TFTP服务
per_source = 11
cps = 100 2
flags = IPv4
}
//开启服务
[root@localhost1 xinetd.d]#systemctl start tftp
[root@localhost1 xinetd.d]#systemctl start xinetd
(5)准备Linux内核,初始化镜像文件
//光盘中存放pxe启动文件的位置在 images/pxeboot/ 下
[root@localhost1 ~]#cd /mnt
[root@localhost1 mnt]#ls
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
[root@localhost1 mnt]#cd images/
[root@localhost1 images]#ls
efiboot.img pxeboot TRANS.TBL
[root@localhost1 images]#cd pxeboot/
[root@localhost1 pxeboot]#ls
initrd.img TRANS.TBL vmlinuz
//复制初始化镜像文件和Linux内核文件到TFTP根目录下
[root@localhost1 pxeboot]#cp vmlinuz /var/lib/tftpboot/
[root@localhost1 pxeboot]#cp initrd.img /var/lib/tftpboot/
配置kickstrat无人值守安装
(1)准备工作
//安装system-config-kickstart 工具
[root@localhost1 ~]#yum install -y system-config-kickstart
2.基本配置
3.安装方法
4.引导装在程序选项
5.分区信息
6.网络配置
7.验证
8.防火墙配置
9、.保存配置
10、配置需要安装的软件包
可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg文件中,只需要复制%packages 到%end 部分即可。