一、搭建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”。
注意:
如果此处看不到软件包列表,需要将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以上。