centos7 搭建pxe批量安装系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7 搭建pxe批量安装系统相关的知识,希望对你有一定的参考价值。

实现环境为在win7上虚拟机cenots7系统;

pxe:
一般服务器安装系统,都是通过光盘或u盘安装,使用pxe则可通过网络引导安装系统,而且还能自动完成所有安装步骤,下面是具体配置步骤;

    1、配置文件共享服务器,可以是nfs、http、ftp协议访问,用于存放要共享的linux系统安装文件;

    2、配置tftp服务器,用于提供要安装系统的主机pxe引导所必须的启动文件;

    3、配置dhcp服务器,用于给要安装系统的主机提供ip地址及其他信息;

    4、使用kickstart文件,用于自动应答操作系统安装;(本文没有实现此功能)

    5、要有网卡的pxe功能引导要安装系统的主机;

    一般把以上所有服务配置在一台主机上;

说明:

    在vmware station上创建2台centos7,且网卡模式设置为vnet3即仅主机模式,一台为pxe主机提供安装系统引导使用,另一台为没有安装操作系统的空机器即待测试通过pxe网络安装系统;

先在pxe主机上安装各种所需服务和配置:

         配置本地yum仓库,以安装各种程序包:

        vim /etc/yum.repos.d/media.repo
            [base]
            name=media
            baseurl=file:///mnt
            enabled=1
            gpgcheck=0
            cost=100

其它.repo文件都禁用,即把后缀名添加为.bak即可;

            一、tftp服务器安装:

            tftp服务可以是被xinetd管理的瞬时守护进程,所以,要保证安装了xinetd,再安装tftp;

            把centos7安装镜像文件,挂载:
                    mount -r /dev/cdrom /mnt

            安装xinetd:
            yum install xinetd
                            systemctl  start  xinetd

            安装tftp-server:
                            yum -y install tftp-server

                            其中:/var/lib/tftpboot目录是存放文件的目录;

                            chkconfig tftp on
                            service xinetd restart

            注意:tftp监听在udp的69端口

            使用客户端连接tftp服务器:
        tfpt 192.168.255.11

准备pxe依赖文件:
cp /mnt/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/

            cp /usr/share/syslinux/{chain.c32,menu.c32,memdisk,mboot.c32} /var/lib/tftpboot/

            pxelinux.0文件需要安装syelinux程序包后才能提供:
            yum -y install syslinux
            cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

创建特定目录必须为pexlinux.cfg:
mkdir /var/lib/tftpboot/pxelinux.cfg

并在其目录下创建文件名为default:
vim /var/lib/tftpboot/pxelinux.cfg/default

内容如下:
default menu.c32
prompt 5
timeout 30
MENU TITLE Centos7 PXE Menu

LABEL linux
MENU LABEL Install Centos7 x86_64
KERNEL vmlinuz
APPEND initrd=initrd.img inst.repo=http://192.168.255.11/centos7

    #自动安装kickstart文件,没有测试
    #LABEL linux_autoinst
#MENU LABEL Install Centos7 x86_64 auto
#KERNEL vmlinuz
#APPEND initrd=initrd.img inst.repo=http://192.168.255.11/centos7 ks=http://192.168.255.11/kickstarts/centos7.cfg

安装dhcp服务:
yum -y install dhcp

            vim /etc/dhcp/dhcp.conf

            内容如下:
            option domain-name "example.org";  
            option domain-name-servers 114.114.114.114;  

            default-lease-time 6000;  
            max-lease-time 72000;  

            log-facility local7;  

            subnet 192.168.255.0 netmask 255.255.255.0 {  
                range 192.168.255.100 192.168.255.200;  
                option routers 192.168.255.1;  
                filename "pxelinux.0";  
                next-server 192.168.255.11;  
            }

启动服务:
systemctl start dhcpd
systemctl enable dhcpd

            ss -unl
            dhcp服务监听在udp/67端口;

http服务安装部分省略,可先把网卡设置为桥接模式安装后,再配置:

    需要安装程序包的安装树;
            mkdir /var/www/html/centos7
            mount --bind /mnt/ /var/www/html/centos7

   systemctl start httpd

此时文件共享服务能向外提供了;
安装树提供路径是http://192.168.255.11/centos7
pxe主机提供了http服务、tftp服务等;

下面测试pxe,进行安装系统:

由于测试kickstart文件实现无人值守自动安装系统没有成功,故没写这部分;

以上是关于centos7 搭建pxe批量安装系统的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7.0-PXE批量部署

远程无人值守批量装机(图文详解)

PXE 高效批量网络装机

Linux网络服务------PXE高效批量网络装机(万字图文详解)

Centos7 实战Kickstart 批量系统部署

centos7搭建PXE环境安装CentOS6系统