PXE无人值守装机CentOS系统

一、PXE定义

PXE (Pre-boot Execution Environment) 是由Intel和微软设计的协议。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行

 

二、PXE服务端与客户端通信原理

 

三、PXE服务器部署(CentOS6.8)

注意:

1)虚拟环境中需将自带 DHCP 功能关闭。网络编辑器

2)注意测试安装机器是否将网络与 PXE 服务器网络对齐    Nat或者仅主机模式

1、安装环境

yum install -y vsftpd dhcp syslinux tftp-server

#vsftp给客户端共享所需软件包或镜像      (可选项,例如Apache、nginx共享服务)

#dhcp分配IP地址并告诉客户机tftp服务器地址以及pxelinux.0

#syslinux告诉客户机所安装系统的相关配置

#tftp传输引动二进制文件以及相关配置文件

 

2、拷贝镜像文件到ftp共享目录

mkdir /mnt/cdrom

mount /dev/sr0 /mnt/cdrom

mkdir -p /var/ftp/pub/dvd/

chown -R ftp:ftp /var/ftp/pub/dvd/

cp -rf /mnt/cdrom/* /var/ftp/pub/dvd/

service vsftpd start    #vsftp服务开启

chkconfig vsftpd on   #开机自启

 

3、配置dhcp服务

vim /etc/dhcp/dhcpd.conf

subnet 172.16.31.0 netmask 255.255.255.0 {

        range 172.16.31.50 172.16.31.100;

        option routers 172.16.31.101;

        next-server 172.16.31.101;    #tftp server的ip

        filename "pxelinux.0";        #next-server索取文件

}

service dhcpd start

chkconfig dhcpd on

 

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

}

service xinetd start    #tftp服务是无状态服务,所属于xinetd服务,因此开启xinetd即可

chkconfig xinetd on

 

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/     #pxelinux.0文件

       chmod 644  /tftpboot/pxelinux.cfg/default

       cp /var/ftp/pub/dvd/isolinux/* /tftpboot/         #pxelinux.0所需相关图片文件

 

6、安装kiscstart无人值守安装脚本

yum -y install system-config-kickstart

 

进入CentOS系统gui界面,(如果系统是最小化安装,可按照相关Desktop软件包进入桌面,可参考:https://blog.csdn.net/qq_40836555/article/details/105430952

打开终端输入system-config-kickstart进行客户机预安装系统的配置(根据需要设置)

 

最后点击file----save 。默认保存文件名为ks.cfg

 

7、查看ks.cfg文件

vim /root/ks.cfg   --只显示几行

........

%post --interpreter=/bin/bash  #修改安装完系统后执行的脚本,如全部客户机安装Apache      服务

touch /root/readme.txt

echo "Hello" >> /root/readme.txt

%end

 

%packages               #整个系统完成后初始样子,可通过其他系统/root/文件anaconda-ks.cfg中packages段安装的程序

@chinese-support

@core

@server-policy

@workstation-policy

 

%end

 

8、修改开机默认进入选择图形的文件/tftpboot/pxelinux.cfg/default

mv /root/ks.cfg /var/ftp/pub/ks.cfg

vim /tftpboot/pxelinux.cfg/default

主要修改客户端开机进入选择后默认选择linux选择,即Install or upgrade an existing system ,并告诉ks文件位置

   至此,PXE服务器端配置完成,在Vmware上建立多台虚拟机并打开电源即可自动获取IP地址并安装centos系统。

 

附上本小小编所遇问题:

问题一:客户端在即将安装系统时弹出下图,需点击OK才能继续自动安装。估计是系统版本问题,下图使用的系统是CentOS6.5,后续更换系统为CentOS6.8后,问题解决。

猜你喜欢

转载自blog.csdn.net/qq_40836555/article/details/105441842