支持 centOS 6
-
支持 PXE 装机的网卡必须自带 ROM(非意识性存储器)存储内容包括:DHCP 客户端,TFTP 客户端,PXE 协议客户端,将网卡设置第一启动项。
-
DHCP:自动分配 IP 地址,必须在 linux 中构建,须指定 TFTP 服务器地址
-
TFTP:
- pxelinux.0记录系统引导过程,既 pxe 装机过程,也是镜像对否支持PXE 装机的文件。
- pxelinux.cfg 提供装机菜单,可供选择装机内型号
- vmlinuz 在内存中提供一个后续进程运行环境,类似PE,用于加载initrd.img
- initrd.img 最基础文件系统
-
VSFTP:提供系统镜像
-
装机条件
- 必须处同一于广播域
- 该广播域无其他DHCP服务器
- 服务器配置必须相同
- 使用其中一台生成ks文件
- 网卡ROM必须支持PXE协议
- 主板支持网络启动
-
安装环境
yum -y install vsftpd dhcp tftp xinetd syslinux tftp-server system-config-kickstart
- 拷贝镜像文件到 ftp 服务器目录
cd /var/ftp/pub
mkdir dvd
chown ftp:ftp dvd
cp -a /mnt/cdrom/* dvd/ 拷贝系统盘全部文件
- 配置 DHCP 服务
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.100 10.10.10.200;
option routers 10.10.10.17;
next-server 10.10.10.17; # 指定 tftp server 的 ip
filename "pxelinux.0";
}
- 开启 tftp 服务
mkdir /tftpboot
vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot # 设置默认工作目录
disable = no # 设置开机自启动
per_source = 11
cps = 100 2
flags = IPv4
}
- 创建相关目录并拷贝所需文件
mkdir -p /tftpboot/pxelinux.cfg
cp /var/ftp/pub/dvd/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
chmod 644 /tftpboot/pxelinux.cfg/default
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
cp /var/ftp/pub/dvd/isolinux/* /tftpboot/
- 开启相关服务并设置为自动启动
service dhcpd restart
chkconfig dhcpd on
service xinetd restart
chkconfig xinetd on
service vsftpd restart
chkconfig vsftpd on
-
配置 kisckstart 无人值守安装脚本
- 在图形化中执行system-config-kickstart命令,配置无人值守安装文件,生成如下ks.cfg文件。
cp –a /root/ks.cfg /var/ftp/pub/
vim /var/ftp/pub/ks.cfg #注意文件中指定的 ftp 服务器的 ip
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="ftp://10.10.10.17/pub/dvd"
# Root password
rootpw --iscrypted $1$u0afdRzz$tHAcLlDk.0jumtGJoKPuR/
# System authorization information
· · · · · ·
- 配置pxelinux.cfg标签
vim /tftpboot/pxelinux.cfg/default
default linux 选择 linux 标签
· · · · · ·
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://10.10.10.17/pub/ks.cfg 添加KS 文件位置
label vesa
· · · · · ·