搭建部署 網絡PXE

PXE網絡裝機linux


網絡裝機的優點shell

    規模化:同時裝配多臺主機vim

    自動化:裝系統,配置各類服務安全

    遠程實現:不須要光盤,U盤等物理安裝介質服務器

    

    PXE Pre-boot eXecution Environment網絡

      域啓動執行環境,在操做系統以前運行app

      可用於遠程安裝dom

    工做模式ide

      PXE client 集成在網卡的啓動芯片中url

      當計算機引導時,從網卡芯片中把PXE client 調入內存

    執行,獲取PXE server配置,顯示菜單,根據用戶選擇將遠程引導程序下載到本機運行

    

     須要服務

        DHCP服務,分配IP地址,定位引導程序

        TFTP服務,提供引導程序下載

        HTTP服務(或FTP/NFS),提供yum安裝源


PXE網絡裝機服務器部署


環境準備

        配置PXE服務的ip地址 爲 192.168.4.7

          爲了方便實驗 關閉防火強 和 SELinux

    

1、構建DHCP服務,指定下一個服務器的IP地址


        [root@svr7 ~]# vim /etc/dhcp/dhcpd.conf 

        subnet 192.168.4.0 netmask 255.255.255.0 {

          range 192.168.4.100 192.168.4.200;

          option domain-name-servers 192.168.4.7;

          option routers 192.168.4.254;

          default-lease-time 600;

          max-lease-time 7200;

          next-server 192.168.4.7;#指定下一個服務器IP地址

          filename "pxelinux.0";#指定網卡引導文件

        }

        

        pxelinux,0(網卡引導文件):安裝說明書,二進制文件

        

        安裝一個軟件,生成pxelinux.0

        

        [root@svr7 ~]# systemctl restart dhcpd

        

二.搭建TFTP服務

TFTP:簡單的文件傳輸協議 端口:69

服務端程序:tftp-server

服務名:tftp

默認共享路徑:/var/lib/tftpboot

客戶端程序:tftp

1.安裝tftp-server

[root@svr7 ~]# yum -y install tftp-server.x86_64

2.啓動tftp服務,並設置爲開機自啓

[root@svr7 ~]# systemctl restart tftp

[root@svr7 ~]# systemctl enable tftp

3.部署pxelinux.0文件

[root@svr7 ~]# yum provides */pxelinux.0  #查詢倉庫中那一個包產生該文件

...

syslinux-4.05-12.el7.x86_64 : Simple kernel loader which boots from a FAT

                   : filesystem

...

[root@svr7 ~]# yum -y install syslinux-4.05-12.el7.x86_64 

[root@svr7 ~]# rpm -ql syslinux | grep pxelinux.0 #查詢軟件包,安裝清單

/usr/share/syslinux/pxelinux.0

[root@svr7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

[root@svr7 ~]# ls /var/lib/tftpboot/

pxelinux.0

4.部署default默認的菜單文件

[root@svr7 ~]# mount /dev/cdrom /mnt/

 mount: /dev/sr0 寫保護,將以只讀方式掛載

[root@svr7 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg/

[root@svr7 ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

[root@svr7 ~]# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default

[root@svr7 ~]# ls -l /var/lib/tftpboot/pxelinux.cfg/default

 -rw-r--r--. 1 root root 3166 11月 16 02:26 /var/lib/tftpboot/pxelinux.cfg/default

5.部署圖形的模塊  vesamenu.c32 

[root@svr7 ~]# cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/

[root@svr7 ~]# ls /var/lib/tftpboot/

 pxelinux.0  pxelinux.cfg  vesamenu.c32

6.修改菜單文件 /var/lib/tftpboot/pxelinux.cfg/default

[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

 ...

 11 menu title PXE Server !

 ...

 61 label linux

 62   menu label ^Install RHEL7

 63   kernel vmlinuz

 64   append initrd=initrd.img

 ...

7.部署啓動內核與驅動程序

[root@svr7 ~]# cp /mnt/isolinux/initrd.img /mnt/isolinux/vmlinuz /var/lib/tftpboot/

[root@svr7 ~]# ls /var/lib/tftpboot/

 initrd.img  pxelinux.0  pxelinux.cfg  vesamenu.c32  vmlinuz


                擴展  修改背景圖片

                [root@room1pc32 桌面]# scp -r tupian/ root@192.168.4.7:/

                [root@svr7 ~]# cp /tupian/7.jpg /var/lib/tftpboot/

                [root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 

                 ...

                 menu background 7.jpg

                 ...



三.FTP服務,傳輸RPM包

1.搭建vsftpd 服務,貢獻光盤因此內容

[root@svr7 ~]# yum -y install vsftpd

[root@svr7 ~]# systemctl restart vsftpd

[root@svr7 ~]# systemctl enable vsftpd

[root@svr7 ~]# mkdir /var/ftp/rhel7

[root@svr7 ~]# mount /dev/cdrom /var/ftp/rhel7


四.無人值守安裝

1.圖形生成應答文件程序:

[root@svr7 /]# yum -y install system-config-kickstart

2.運行圖形程序

讀取本地Yum倉庫信息,要求Yum倉庫客戶端配置文件,倉庫標示development

[root@svr7 /]#  system-config-kickstart


       1) 基礎配置   配置默認語言 , 鍵盤,時區 ,根密碼, 安裝後從新引導系統

        PXE1.jpg

        2)安裝方式  配置 執行新安裝  安裝方式 選擇FTP 並在FTP服務器和FTP目錄上填寫 剛剛FTP的配置

        PXE2.jpg


        3) 引導安裝程序選項  配置安裝新引導裝載程序

        PXE3.jpg

        4)分區信息 配置 主引導記錄: 清除主引導記錄   分區 : 刪除全部現存分區   磁盤標籤 : 初始化磁盤標籤  而後 單擊 添加

        PXE4.jpg

            添加 一個交換分區 大小爲1024MB

        PXE5.jpg


            添加 一個根分區  文件類型爲 xfs  大小選擇:使用磁盤上所有未剩餘空間

        PXE6.jpg


        PXE7.jpg


        5)網絡配置   單擊 添加網絡設備 在網絡設備上 填寫 eth0 

        PXE8.jpg


        PXE9.jpg


        6) 防火牆配置 Linux 安全加強版  配置 禁用

        PXE10.jpg


        7)軟件包選擇  根據我的喜愛選擇  可是 必定要選擇 系統  中的  基本 

        PXE11.jpg


        8)預安裝腳本 和 安裝後腳本   根據我的喜愛添加腳本  這裏 我在安裝後腳本寫了一個配置yum源的腳本

        PXE12.jpg


        PXE13.jpg


        9) 在單擊 圖形界面 左上角 文件 ----> 保存  使用默認文件名 ks.cfg  保存到root下  圖形界面的配置就完成了

        PXE14.jpg


3.搭建vsftpd服務,共享應答文件

[root@svr7 ~]# ls /root/ks.cfg 

/root/ks.cfg

[root@svr7 ~]# cp /root/ks.cfg /var/ftp/



五.經過菜單指定ks.cfg應答文件

[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 

...

61 label linux

62   menu label ^Install RHEL7

63   kernel vmlinuz

64   append initrd=initrd.img ks=ftp ://192.168.4.7/ks.cfg 


執行網絡PXE裝機


      選擇網絡引導pxe

        pxe1.jpg

            其餘配置 根據我的喜愛配置

        

        pxe2.jpg

        

        pxe3.jpg


        pxe4.jpg

            配置網絡選擇 選擇和剛剛配置PXE服務在同一個網卡

        pxe5.jpg

        運行虛擬機


        pxe6.jpg


        回車 選擇 Install RHEL

        pxe7.jpg


        不須要手動配置 網絡PXE 會自動進行配置  等待其自動安裝完畢便可


        pxe8.jpg


    pxe9.jpg

       


上述搭建部署方式 我寫了一個shell腳本 能夠實現一鍵部署搭建PXE環境 http://www.javashuo.com/article/p-gaihxjej-ep.html 

總結:

DHCP ---> IP地址,next-server,filename

tftp ----> pxelinux.0 ,default

default ----> vesamenu.c32,vmlinuz,initrd.img,ks.cfg

ks.cfg ----> url="ftp://192.168.4.7/rhel7"

相關文章
相關標籤/搜索