PXE的工作过程

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

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

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

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

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

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

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网络装机(有人值守与无人值守)_网络 PXE_10


发现有错误 一定要把

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

PXE网络装机(有人值守与无人值守)_软件包_11

PXE网络装机(有人值守与无人值守)_配置文件_12

直接安装

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

PXE网络装机(有人值守与无人值守)_软件包_14

PXE网络装机(有人值守与无人值守)_网络 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网络装机(有人值守与无人值守)_网络 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  429 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


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