一、PXE介绍
所谓的PXE是Preboot Execution Environment的缩写,字面上的意思是开机前的执行环境。
特点:
规模化:同时装配多台服务器
自动化:安装系统、配置各种服务
远程实现:不需要光盘、U盘等安装介质
作用:
预启动执行环境,在操作系统之前运行
可用于远程安装、构建无盘工作站
工作过程:
1.PXE客户机发出DHCP请求,向服务器申请IP地址。
2.DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告知PXE客户机:TFTP(简单文件传输协议)服务器的IP地址和PXE引导程序文件pxelinux.0。
3.PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求。
4.TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机。
5.PXE客户机通过网络来启动到系统安装主界面。
6.PXE客户机向文件共享服务器发起获取centos或windows系统安装文件的请求。
7.文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机。
8.PXE客户机进入到安装提示向导界面,用户需要手动来完成系统的操作
二、服务器端的安装
1、先安装配置DHCP服务器
[root@T1 ~]# grep -vE "^(#|$)" /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.153.0 netmask 255.255.255.0 { //网段必须是DHCP服务器网卡所在网段
range 192.168.153.200 192.168.153.210;
option domain-name-servers 192.168.2.1;
option routers 192.168.153.2;
option broadcast-address 192.168.153.255;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.153.138; //指向tftp服务器的IP
filename "pxelinux.0"; //指向tftp主目录下的pxe引导文件名
}
2、安装配置tftp服务器
[root@T1 ~]# grep -vE "^(#|$)" /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 //tftp的共享主目录
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
3、安装配置ftp服务器
[root@T1 ~]# grep -vE "^(#|$)" /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
anon_root=/media/cd/ //ftp的根目录必须存放有准备安装的操作系统文件
4、创建ks配置文件
需要安装system-config-kickstart软件包,并在图像化界面运行,然后根据提示选择系统的安装配置信息,保存后即可生成ks文件。
[root@localhost linux_soft]# grep -Ev "^(#|$)" ks.cfg
install
keyboard 'us'
rootpw --iscrypted $1$pksKO3qg$vwkbyUT6OVkwyyJ8QRnVW/
lang en_US
auth --useshadow --passalgo=sha512
text
selinux --disabled
skipx
firewall --disabled
network --bootproto=dhcp --device=ens33
reboot
timezone Asia/Hong_Kong --isUtc
url --url="ftp://pxe_server_ip/cd/"
bootloader --location=mbr
zerombr
clearpart --all
part /boot --fstype="xfs" --size=500
part swap --fstype="swap" --size=2048
part / --fstype="xfs" --grow --size=1
%packages
@^minimal
@core
@development
chrony
kexec-tools
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
5、配置pxe+kickstart
tftp主目录下文件: (主要放pxe引导文件)
[root@T1 ~]# tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── initrd.img #####/系统光盘/isolinux/
├── pxelinux.0 #####/usr/share/syslinux/pxelinux.0
├── pxelinux.cfg
│ └── default #####/引导配置文件
└── vmlinuz #####/系统光盘/isolinux/
ftp目录下文件:(主要放操作系统)
# tree -L 1
.
├── cd
└── ks.cfg
引导配置文件:
[root@T1 ~]# cat /var/lib/tftpboot/pxelinux.cfg/default
default auto
label auto
kernel vmlinuz
append initrd=initrd.img ks=ftp://pxe_server_ip/ks.cfg method=ftp://pxe_server_ip/cd/ //指向操作系统安装光盘LiveOS所在目录,无ks文件则需要手动选择安装配置项。
三、客户端配置
客户端内存必须大于1G否则网络安装的过程会提示存储不足,无法安装。
Leave a Reply