PXE的工作过程

1.客户机从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP

2.DHCP服务器返回分给客户机IP以及bootstrap文件的放置位置(该文件一般是放在一台TFTP服务器上)

3.客户机向本网络中的TFTP服务器索取bootstrap文件

4.客户机取得bootstrap文件后之执行该文件

5.根据bootstrap的执行结果,通过TFTP服务器加载内核和文件系统

6.进入安装画面, 此时可以通过选择FTP,HTTP,NFS方式之一进行安装

推荐阅读:

如何使用PXE自动安装Linux http://www.linuxidc.com/Linux/2013-07/86912.htm

DHCP+TFTP+PXE自动网络引导安装Linux操作系统 http://www.linuxidc.com/Linux/2013-03/81580.htm

PXE实现Linux系统无人值守批量安装 http://www.linuxidc.com/Linux/2013-03/81165.htm

Ubuntu配置PXE+Kickstart+TFTP+DHCP实现快速布署Linux操作系统 http://www.linuxidc.com/Linux/2012-07/65748.htm

PXE/kickstart实现远程自动安装RedHat Linux  http://www.linuxidc.com/Linux/2012-11/73361.htm

使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS5.8 x86_64 http://www.linuxidc.com/Linux/2012-12/76913.htm

PXE网络装机(有人值守与无人值守安装)_网络

有人值守

安装需要的服务器(tftp-server/dhcp/ftp)

yum -y install tftp-server

PXE网络装机(有人值守与无人值守安装)_网络_02

修改配置文件

vi /etc/xinetd.d/tftp

server_args            = -s /var/lib/tftpboot

disable                = no

tftp服务器由tftp-server软件包提供,默认由xinetd超级服务进行管理,因此配置文件位于/etc/xinetd.d/tftp。配置时只要将“disable = yes”改为“disable = no”,然后再启动xinetd服务即可。

安装dhcp服务yum -y install dhcp

PXE网络装机(有人值守与无人值守安装)_操作系统_03

vi /etc/dhcp/dhcpd.conf  修改配置文件

ddns-update-style none;

next-server 192.168.80.33;//指定TFTP服务器的地址

filename "/pxelinux.0";//指定PXE引导程序的文件名

subnet 192.168.80.0 netmask 255.255.255.0 {

range  192.168.80.150 192.168.80.200;

option routers 192.168.80.33;

}

PXE网络装机(有人值守与无人值守安装)_客户机_04

yum install vsftpd  安装ftp服务

PXE网络装机(有人值守与无人值守安装)_服务器_05

mount /dev/cdrom /var/ftp/pub  挂载到ftp目录下


二、复制网络启动所需要文件到tftp服务器的根目录下

用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供。安装好软件包syslinux,然后将文件pxelinux.0也复制到tftp服务的根目录下

——————————————————————————————

yum -y install syslinux

PXE网络装机(有人值守与无人值守安装)_操作系统_06

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

——————————————————————————————

启动菜单用来指导客户机的引导过程,包括如何调用内核、如何加载初始化镜像。默认的启动菜单文件为default,应放置在tftp根目录的pxelinux.cfg子目录中,典型的启动菜单配置可参考以下操作手动建立。

———————————————————————————————————

mkdir /var/lib/tftpboot/pxelinux.cfg

cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //安装菜单

cp /mnt/p_w_picpaths/pxeboot/initrd.img /var/lib/tftpboot

cp /mnt/p_w_picpaths/pxeboot/vmlinuz /var/lib/tftpboot/

cp  /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot //图形化安装菜单

三、启动所有服务器

启动所有服务器:

service dhcpd restart

service vsftpd restart

service xinetd start

开启自启动

chkconfig --level 345 xinetd on

chkconfig --level 345 tftp  on

PXE网络装机(有人值守与无人值守安装)_网络_07

PXE网络装机(有人值守与无人值守安装)_网络_08

绑一块网卡上

现在测试 有人值守安装系统

PXE网络装机(有人值守与无人值守安装)_网络_09

PXE网络装机(有人值守与无人值守安装)_操作系统_10

发现有错误 一定要把

[root@hao ~]# setenforce 0  linux安全关掉

PXE网络装机(有人值守与无人值守安装)_服务器_11

PXE网络装机(有人值守与无人值守安装)_客户机_12

直接安装

PXE网络装机(有人值守与无人值守安装)_服务器_13

PXE网络装机(有人值守与无人值守安装)_Linux_14

PXE网络装机(有人值守与无人值守安装)_客户机_15

URL ftp://192.168.80.33/pub  //安装的时候指定的路径是将光盘挂在/var/ftp/pub是目录下,不是写的绝对路径的

PXE网络装机(有人值守与无人值守安装)_客户机_16

完成

自动安装配置  无人值守自动安装

yum -y install system-config-kickstart  安装应答文件

PXE网络装机(有人值守与无人值守安装)_操作系统_17

vi /var/lib/tftpboot/pxelinux.cfg/default  修改配置文件

default vesamenu.c32

prompt 0//0表示不等待用户控制

timeout 1

…………

label linux

menu label ^Install or upgrade an existing system

menu default

kernel vmlinuz

append ks=ftp://192.168.80.33/ks/ks.cfg initrd=initrd.img

PXE网络装机(有人值守与无人值守安装)_客户机_18

mkdir /var/ftp/ks

cp anaconda-ks.cfg /var/ftp/ks/

cd /var/ftp/ks/

mv anaconda-ks.cfg ks.cfg

chmod 644 ks.cfg

[root@ling ks]# ls -l ks.cfg

-rw-r--r--. 1 root root 935  4月 29 18:00 ks.cfg

cp -rf /var/ftp/pub/* /var/ftp/ks/ &

将光盘挂到ftp的"/var/ftp/pub/"目录下,再将它下面的所有的包拷备到“/var/ftp/ks”我建的这个目录下,“&”表示将这个任务放到后台工作

PXE网络装机(有人值守与无人值守安装)_网络_19

这个原来的文件要修改一下的

vi ks.cfg

#platform=x86, AMD64, 或 Intel EM64T

#version=DEVEL

# Firewall configuration

firewall --disabled

# Install OS instead of upgrade

install

# Use network installation

url --url="ftp://192.168.5.2/ks"

# Root password

rootpw --iscrypted $1$QSWSwNZn$rrau1E0fRKby1fEKksJsi1

# System authorization information

auth  --useshadow  --passalgo=sha512

# Use graphical install

graphical

firstboot --disable

# System keyboard

keyboard us

# System language

lang zh_CN.UTF-8

# SELinux configuration

selinux --disabled

# Installation logging level

logging --level=info

# System timezone

timezone  --utc Asia/Shanghai

# Network information

network  --bootproto=dhcp --device=eth0 --onboot=on

# System bootloader configuration

bootloader --location=mbr

# Clear the Master Boot Record

zerombr

# Partition clearing information

clearpart --all

# Disk partitioning information

part / --fstype="ext4" --size=16000

part /opt --fstype="ext4" --size=4000

part swap --fstype="swap" --grow --size=1

%packages

@chinese-support

@basic-desktop

@kde-desktop

@x11

%end

PXE网络装机(有人值守与无人值守安装)_客户机_20

也可以直接自定义个性系统!