一、搭建PXE远程安装服务器

1.构建vsftpd服务,并部署centos7安装源

[root@localhost ~]# rm -rf /etc/yum.repos.d/*.repo

[root@localhost ~]# vi /etc/yum.repos.d/centos7.repo

[development]

name=Red Hat Enterprise Linux

baseurl=file:///media/cdrom/

enabled=1

gpgcheck=0

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# yum -y install ftp vsftpd

[root@localhost ~]# mkdir /var/ftp/centos7

[root@localhost ~]# cp -rf /media/cdrom/* /var/ftp/centos7/

[root@localhost ~]# systemctl start vsftpd

注意:

Yum配置文件的id部分必须设置为[development],否则在kickstart中找不到软件包信息

2.构建TFTP服务,并准备好引导程序、引导菜单、Linux内核、初始化镜像

[root@localhost ~]# yum -y install tftp-server

[root@localhost ~]# vi /etc/xinetd.d/tftp

service tftp

{

…… //省略部分信息

        disable                 = no

…… //省略部分信息

}

[root@localhost ~]# systemctl start tftp

[root@localhost ~]# cd /media/cdrom/images/pxeboot/

[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/\\拷贝内核和镜像

  • TRANS.TBL:文件名转换表文件,在制作ISO映像文件时在每个目录中生成的文件,记录每个目录中所包含的文件名。
  • initrd.img:initrd是“initial ramdisk”的简写。initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。initrd-2.4.7-10.img主要是用于加载文件系统及scsi设备的驱动。如果不小心把/boot下的initrd文件删除了,用如下命令可以重建:

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

安装pxe程序

[root@localhost ~]# yum -y install syslinux\\安装pxe程序

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/\\拷贝引导程序pxelinux.0

[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default\\创建

default auto

prompt 1

label auto

kernel vmlinuz

append initrd=initrd.img method=ftp://192.168.10.101/centos7

label linux text

kernel vmlinuz

append text initrd=initrd.img method=ftp://192.168.10.101/centos7

label linux rescue

kernel vmlinuz

append rescue initrd=initrd.img method=ftp://192.168.10.101/centos7

3.构建DHCP服务,以便为192.168.10.0/24网段分配地址,并设置TFTP参数。

[root@localhost ~]# yum -y install dhcp

[root@localhost ~]# vi /etc/dhcp/dhcpd.conf

subnet 192.168.10.0 netmask 255.255.255.0 {

  option domain-name-servers ns1.internal.example.org;

  option domain-name "internal.example.org";

  option routers 192.168.4.1;

  option broadcast-address 192.168.4.255;

  default-lease-time 600;

  range 192.168.10.100 192.168.10.200;

  max-lease-time 7200;

  next-server 192.168.10.101;

  filename "pxelinux.0";

}

[root@localhost ~]# systemctl start dhcpd

4.创建虚拟机PXE网络安装系统

创建虚拟机时内存大一点(2G以上),否则会提示空间不足


二、实现无人值守安装系统,创建安装应答文件

1.安装system-config-kickstart软件包

[root@localhost ~]# yum -y install system-config-kickstart

2.运行kickstart配置程序,按实验要求创建ks.cfg应答文件

在图形桌面环境中,按Alt+F2组合键后输入system-config-kickstart并点运行,或者打开桌面菜单“应用程序”→“系统工具”→“kickstart”。

PXE高效批量网络装机_文件名

PXE高效批量网络装机_文件名_02

PXE高效批量网络装机_centos_03

PXE高效批量网络装机_文件名_04

PXE高效批量网络装机_centos_05

注意:

如果此处看不到软件包列表,需要将yum源配置文件中括号中的内容改为development

图形化界面配置后保存,文件名用默认的ks.cfg

[root@localhost ~]# grep -v ^# /root/ks.cfg

…… //省略部分信息

%post --interpreter=/bin/bash

rm -f /etc/yum.repos.d/*

echo '[base]

name=Red Hat Enterprise Linux

baseurl=ftp://192.168.4.254/centos7

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release' > /etc/yum.repos.d/centos7.repo

%end

%packages

@^minimal

%end

3.将应答文件复制到centos7安装源所在的FTP目录下

[root@localhost ~]# cp /root/ks.cfg /var/ftp/   

[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

##添加红色部分,其余的删掉

default auto

prompt 0

label auto

  kernel vmlinuz

  append ks=ftp://192.168.10.101/ks.cfginitrd=initrd.img method=ftp://192.168.10.101/centos7


三、验证PXE网络装机

(1)将1台裸机连接到PXE服务器所在网络,并确认能够通过网络引导。

(2)打开裸机的电源,确认引导成功并自动安装好centos7系统。

新建虚拟机是内存大于2G,磁盘调的大一点,给个60G以上。