PXE无人值守环境部署

PXE无人值守环境部署:

本实验采用CentOS7

环境准备:

  1. 安装软件:
yum -y install vsftpd dhcp tftp syslinux tftp-server
  1. 拷贝镜像文件:
    将光盘挂载到/media/cdrom下,然后复制文件到/var/ftp/pub/dvd/中。
mount /dev/sr0 /media/cdrom/
mkdir /var/www/html/cdrom
cp -rf /media/cdrom/* /var/www/html/cdrom
  1. 配置DHCP服务器:
    文件配置如下所示:
subnet 192.168.110.0 netmask 255.255.255.0 {
  range 192.168.110.100 192.168.110.200; #IP地址根据自己情况定
  option domain-name-servers ns1.internal.example.org; #对于本实验无关紧要
  option domain-name internal.example.org; #对于本实验无关紧要
  option routers 192.168.110.2; #网关地址
  option broadcast-address 192.168.110.255; #广播地址
  default-lease-time 600;  #连接时间
  max-lease-time 7200;
  next-server 192.168.110.132; #tftp服务器地址(这里我使用的本机,即DHCP服务器)
  filename “pxelinux.0”; #这个很重要
}
  1. 配置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
}
  1. 拷贝文件到tftp工作目录:
    首先需要创建该目录:
mkdir -p /tftpboot/pxelinux.cfg
cp /var/ftp/pub/dvd/isolinux/isolinux.cfg /tftpboot/p
xelinux.cfg/default
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
chmod 644 /tftpboot/pxelinux.cfg/default
cp /var/ftp/pub/dvd/isolinux/* /tftpboot/
  1. 配置ks.cfg
    1. 安装kickstart:yum install system-config-kickstart
    2. 配置:system-config-kickstart 打开该软件按自己需求进行配置
      这是我的配置的文件:
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$1tpeOOLp$Mm3r.RDO0SSGSpAoNuoEy.
# Use network installation
url --url="http://192.168.110.132/cdrom"
# System language
lang en_US
# Firewall configuration
firewall --disabled
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx

# Network information
network  --bootproto=dhcp --device=eth0
# Reboot after installation
reboot
# System timezone
timezone Africa/Abidjan
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype="xfs" --size=500
part / --fstype="xfs" --size=2000
part swap --fstype="swap" --size=2000

%post
cd /etc/yum.repos.d
rm -rf *
echo -e "[base]" > base.repo
echo -e "name=Base" >>base.repo
echo -e "baseurl=ftp://192.168.110.132/cdrom" >>base.repo
echo -e "enabled=1" >> base.repo
echo -e "gpgcheck=0" >>base.repo
%end

%packages

@base

%end

注:该文件也需要放在httpd工作目录下。
在这里插入图片描述
在这里插入图片描述

  1. 文件拷贝:
    将以下文件从其他地方拷贝到/var/lib/tftpboot下:
 cp /media/cdrom/images/pxeboot/vmlinuz /var/lib/tftpboot/
 cp /media/cdrom/images/pxeboot/initrd.img /var/lib/tftpboot/ 
 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
 cp -r /media/cdrom/isolinux/* /var/lib/tftpboot
-r--r--r--. 1 root root     2048 May 11 20:53 boot.cat
-rw-r--r--. 1 root root       84 May 11 20:53 boot.msg
-rw-r--r--. 1 root root      293 May 11 20:53 grub.conf
-rw-r--r--. 1 root root 43372552 May 14 00:21 initrd.img
-rw-r--r--. 1 root root    24576 May 11 20:53 isolinux.bin
-rw-r--r--. 1 root root     3068 May 11 20:53 isolinux.cfg
-rw-r--r--. 1 root root   190896 May 11 20:53 memtest
-rw-r--r--. 1 root root    55012 May 14 00:49 menu.c32
-rw-r--r--. 1 root root    26764 May 14 00:21 pxelinux.0
drwxr-xr-x. 2 root root       43 May 14 00:48 pxelinux.cfg #这是个目录
-rw-r--r--. 1 root root      186 May 11 20:53 splash.png
-r--r--r--. 1 root root     2215 May 11 20:53 TRANS.TBL
-rw-r--r--. 1 root root   152976 May 11 20:53 vesamenu.c32
-rwxr-xr-x. 1 root root  5392080 May 14 00:21 vmlinuz

这是pxelinux.cfg下的文件:
-rw-r–r–. 1 root root 243 May 21 15:16 default
内容如下:

default menu.c32
prompt 0
timeout 300
label  linux
  menu label ^Install CentOS Linux 7 From Remote
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=http://192.168.110.132/cdrom devfs=nomount ks=http://192.168.110.132/ks.cfg
menu end

用于定义启动菜单,自动安装文件在哪个服务器下等。

  1. 配置/etc/xinetd.d/tftp:
[root@dhcp-server ~]# cd /etc/xinetd.d/
[root@dhcp-server xinetd.d]# ll
total 48
-rw-------. 1 root root 1157 Nov  5  2016 chargen-dgram
-rw-------. 1 root root 1159 Nov  5  2016 chargen-stream
-rw-------. 1 root root 1157 Nov  5  2016 daytime-dgram
-rw-------. 1 root root 1159 Nov  5  2016 daytime-stream
-rw-------. 1 root root 1157 Nov  5  2016 discard-dgram
-rw-------. 1 root root 1159 Nov  5  2016 discard-stream
-rw-------. 1 root root 1148 Nov  5  2016 echo-dgram
-rw-------. 1 root root 1150 Nov  5  2016 echo-stream
-rw-------. 1 root root 1212 Nov  5  2016 tcpmux-server
-rw-r--r--. 1 root root  219 May 21 15:16 tftp  #该文件
-rw-------. 1 root root 1149 Nov  5  2016 time-dgram
-rw-------. 1 root root 1150 Nov  5  2016 time-stream
#内容如下:
service tftp
{
	socket_type		= dgram
	protocol		= udp
	wait			= yes
	user			= root
	server			= /usr/sbin/in.tftpd
	server_args		= -s /var/lib/tftpboot
	disable			= no  #将yes该为no
	per_source		= 11
	cps			= 100 2
	flags			= IPv4
}

检验效果:

启动所有服务,关闭防火墙。
获取IP,加载TFTP服务器文件。
在这里插入图片描述
启动菜单。
在这里插入图片描述
自动开始安装。
在这里插入图片描述
有不足之处望见谅,指出我好更正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值