PXE自动安装系统原理及配置

PXE自动安装系统原理及配置


本人已建立个人博客站点,所以文章也都在那边发表了,想了解一下的,可以点这里:点击打开链接  

 PXE(Pre-bootExecution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivialfile transfer protocol)或MTFTP(multicast trivial filetransfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。

原理:

PXE自动安装系统原理及配置

 

      PXE工作原理示意图说明:
      1. Client
向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client。

      2. Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0。

      3. Client执行接收到的pxelinux.0文件。

      4. Client向TFTP发送针对本机的配置信息(记录在TFTP的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。

      5. Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client。

      6. Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统。

      7. Client启动Linux内核(启动参数已经在4中的配置文件中设置好了)。

      8. Client通过NFS下载镜像文件,读取autoyast自动化安装脚本。

 

主机配置:调整主机为仅主机模式网段IP192.168.66.33,然后关闭vmwere的DHCP

1、安装环境

         yum-y install     vsftpd    dhcp     tftp    syslinux  tftp-server

 

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

         cd /var/ftp/pub

         mkdirdvd

         chown ftp:ftp  dvd

         cp-rf /mnt/ *  dvd/

 

3、配置 DHCP 服务

         cp     /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample   /etc/dhcp/dhcpd.conf

         vi/etc/dhcp/dhcpd.conf

                  subnet 192.168.66.0 netmask255.255.255.0 {

                    range 192.168.66.10 192.168.66.100;

                    option routers 192.168.66.33;

                    next-server 192.168.66.33; #tftp server的ip

                    filename "pxelinux.0";

                  }

 

4、开启 tftp 服务(改的地方已标黄)

         vi/etc/xinetd.d/tftp

                  servicetftp

                  {

                                   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、开启相关服务并设置为自动启动

         servicedhcpd restart

         chkconfigdhcpd on

         servicexinetd restart

         chkconfigxinetd on

         servicevsftpd restart

         chkconfigvsftpd on

 

7、配置 kisckstart 无人值守安装脚本

         yum  -y  install   system-config-kickstart

         下边的可以在主机的图形化界面下进行设置.

开启system-config-kickstart进入图形界面

PXE自动安装系统原理及配置

配置完成之后,点击左上方的文件,保存到/root下,会生成一个ks.cfg的文件,所有记录刚才的设置,都记录在这个文件当中。其中的软件包选择如果不知道选择什么的话,可以在已经安装好的主机/root目录下,打开anaconda-ks.cfg,将其中的安装包选项复制到package与end中间,然后可以将此文件导出保存,以后安装可以直接放到共享目录下直接使用。

然后做如下操作:

         cp   ks.cfg   /var/ftp/pub/

         vi   /tftpboot/pxelinux.cfg/default(添加黄色区域内容)

                  labellinux

                    menu label ^Install or upgrade an existingsystem

                    menu default

                    kernel vmlinuz

                    append initrd=initrd.img  ks=ftp://192.168.66.33/pub/ks.cfg

                  labelvesa

PXE自动安装系统原理及配置

接下来就是新建虚拟机,只用设置网络模式为仅主机与刚才主机一致,以及安装位置,其他都不用管,直接开机,就自动安装了!!!