且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

PXE无人值守安装CentOS6

更新时间:2022-09-16 13:20:04

一、PXE原理

1.定义:

PXE不是一种安装方式,是一种引导的方式;PXE方式要求安装的计算机中必须包含一个支持PXE的网卡,且主板支持网络引导;PXE使计算机可以通过网络启动。

PXE分为client和server端

2.工作流程

当计算机引导时,cpu通过加载bios映射到内存中的片段,然后检查计算机的健康状况;继而把网卡的ROM中的PXE Client调入内存引导执行,由PXE Client将放置在远端的文件通过网络下载到本地运行。

PXE需要设置DHCP服务器和TFTP服务器

二、PXE实验

前提

(1).关闭虚拟机自带的DHCP功能

(2).两台虚拟机在同一网络环境中

(3).安装的机器要大于2G内存

1.安装流程

(1)安装环境

yum -y install vsftpd dhcp tftp syslinux tftp-server

(2)拷贝镜像文件到ftp服务器目录

cd /var/ftp/pub
mkdir dvd
chown ftp:ftp dvd
cp -rp /mnt/cdrom/*  dvd/

(3)配置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.15;
    next-server 10.10.10.15; #tftp server的ip
    filename "pxelinux.0"; 
}

(4)配置TFTP服务

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 /tftpboot  

(5)创建相关目录并拷贝所需文件

mkdir -p /tftpboot/pxelinux.cfg  
cp /var/ftp/pub/dvd/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
cp /usr/share/syslinux/pxelinux.0  /tftpboot/
chmod 644  /tftpboot/pxelinux.cfg/default 
cp /var/ftp/pub/dvd/isolinux/* /tftpboot/

(6)开启服务

# DHCP服务
service dhcpd restart
chkconfig dhcpd on
# xinetd
service xinetd restart
chkconfig xinetd on
# VsFtpd
service vsftpd restart
chkconfig vsftpd on

(7)配置kickstart 无人值守安装脚本

yum -y install system-config-kickstart
system-config-kickstart # 打开图形化界面进行配置
# cp ks.cfg /var/ftp/pub/ 图形化配置完毕后保存到/var/ftp/pub下忽略此步骤

设置完成后将ks.cfg文件保存到/var/ftp/pub目录下

编辑ks.cfg文件末尾添加:

%packages
@base
@chinese-support
@core
@debugging
@basic-desktop
@desktop-debugging
@desktop-platform
@directory-client
@fonts
@general-desktop
@graphical-admin-tools
@input-methods
@internet-applications
@internet-browser
@java-platform
@legacy-x
@network-file-system-client
@office-suite
@print-client
@remote-desktop-clients
@server-platform
@server-policy
@workstation-policy
@x11
mtools
pax
python-dmidecode
oddjob
wodim
sgpio
genisoimage
device-mapper-persistent-data
abrt-gui
samba-winbind
certmonger
pam_krb5
krb5-workstation
libXmu
%end

验证文件是否有语法性的错误

ksvalidator ks.cfg

编辑default文件

vim /tftpboot/pxelinux.cfg/default(添加)

timeout 600 # 默认进入选项的时间,改为5秒:
timeout 50

append initrd=initrd.img  ks=ftp://10.10.10.15/pub/ks.cfg # 添加

安装系统测试