1. 程式人生 > >centos7 搭建pxe批量安裝系統

centos7 搭建pxe批量安裝系統

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批量安裝系統