天天看點

詳述PXE批量裝機環境部署PXE批量裝機環境

部署PXE批量裝機環境

DHCP概述及原理

• Dynamic Host Configuration Protocol

– 動态主機配置協定,由 IETF(Internet 網絡工程師任務小組)組織制定,用來簡化主機位址配置設定管理

• 主要配置設定以下入網參數

– IP位址/子網路遮罩/廣播位址

– 預設網關位址、DNS伺服器位址

DHCP原理: 廣播進行,先到先得,一個網絡裡隻能有一個DHCP伺服器

• DHCP位址配置設定的四次會話

– DISCOVERY --> OFFER --> REQUEST -->ACK

1.裝軟體包 dhcp

[[email protected] /]# yum -y install dhcp

2.配置檔案 /etc/dhcp/dhcpd.conf

vim末行模式 :r /usr/share/doc/dhcp*/dhcpd.conf.example

subnet 192.168.4.0 netmask 255.255.255.0 { #配置設定的網段

range 192.168.4.100 192.168.4.200; #配置設定的IP範圍

option domain-name-servers 192.168.4.7; #配置設定DNS伺服器

option routers 192.168.4.254; #配置設定網關位址

default-lease-time 600;

max-lease-time 7200;

}

[[email protected] /]# systemctl restart dhcpd

####################################################

網絡裝機概述

• 規模化:同時裝配多台主機

• 自動化:裝系統、配置各種服務

• 遠端實作:不需要CD光牒、U盤等實體安裝媒體

什麼是PXE網絡

• PXE,Pre-boot eXecution Environment

– 預啟動執行環境,在作業系統之前運作

– 可用于遠端安裝

PXE元件及過程分析

• 需要哪些服務元件

– DHCP服務,配置設定IP位址、定位引導程式

– TFTP服務,提供引導程式下載下傳

– HTTP服務,提供yum安裝源

• 客戶機應具備的條件

– 網卡晶片必須支援PXE協定

– 主機闆支援從網卡啟動

##################################################

一、部署DHCP服務,指定下一個伺服器位址

[[email protected] /]# vim /etc/dhcp/dhcpd.conf

next-server 192.168.4.7; #指定下一個伺服器位址

filename “pxelinux.0”; #指定引導檔案名稱

}

[[email protected] /]# systemctl restart dhcpd

pxelinux.0:網卡引導檔案(安裝說明書) 二進制檔案

安裝一個軟體,預設産生的網卡引導檔案名為pxelinux.0

##################################################

二、搭建tftp服務

tftp:簡單的檔案傳輸協定  預設端口為69
   預設共享位置:/var/lib/tftpboot
           

1.安裝軟體包tftp-server

[[email protected] /]# yum -y install tftp-server

2.重新開機tftp服務

[[email protected] /]# systemctl restart tftp

3.部署pxelinux.0檔案

]# yum provides */pxelinux.0 #查詢那個包産生,該檔案

]# yum -y install syslinux

]# rpm -ql syslinux | grep pxelinux.0 #查詢軟體包安裝清單

]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

]# ls /var/lib/tftpboot/

pxelinux.0檔案—>/var/lib/tftpboot/pxelinux.cfg/default

4.部署菜單檔案

[[email protected] /]# poweroff

Connection to 192.168.4.7 closed by remote host.

Connection to 192.168.4.7 closed.

[[email protected] ~]$

圖形為虛拟機A,添加一個光驅裝置,放入CD光牒内容

[[email protected] ~]$ goa

Last login: Thu Apr 25 08:55:41 2019 from 192.168.4.254

[[email protected] ~]# mount /dev/cdrom /mnt/

mount: /dev/sr0 寫保護,将以隻讀方式挂載

[[email protected] ~]# ls /mnt/

[[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

[[email protected]~]#cp/mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

[[email protected] ~]# ls /var/lib/tftpboot/pxelinux.cfg/

[[email protected] ~]# ls -l /var/lib/tftpboot/pxelinux.cfg/

5.部署 圖形子產品(vesamenu.c32) 與 背景圖檔(splash.png)

[[email protected] ~]# cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/

[[email protected] ~]# ls /var/lib/tftpboot/

6.部署 啟動核心(vmlinuz) 與 驅動程式(initrd.img)

[[email protected] ~]# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/

[[email protected] ~]# ls /var/lib/tftpboot/

initrd.img pxelinux.cfg vesamenu.c32

pxelinux.0 splash.png vmlinuz

7.修改菜單檔案内容

vim /var/lib/tftpboot/pxelinux.cfg/default

1 default vesamenu.c32 #預設加載圖形子產品

2 timeout 600 #讀秒時間60秒 1/10秒

10 menu background splash.png #指定背景圖檔

11 menu title NSD1903 PXE Server #修改标題

61 label linux

62 menu label ^Install CentOS 7 #螢幕顯示

63 menu default #讀秒結束預設選擇

64 kernel vmlinuz #調用核心

65 append initrd=initrd.img #解壓驅動程式

##################################################

8.檢查服務啟動

[[email protected] ~]# systemctl restart dhcpd

[[email protected] ~]# systemctl enable dhcpd

[[email protected] ~]# systemctl restart tftp

[[email protected] ~]# systemctl enable tftp

#################################################

總結:

1.DHCP服務–>IP位址 next-server filename

2.tftp服務–>pxelinux.0

3.pxelinux.0–>讀取預設菜單檔案

4.default–>圖形子產品 背景圖檔 啟動核心 驅動程式

驗證:

建立一台虛拟機,安裝方式選擇 “網絡引導安裝(PXE)”

網絡類型選擇"private1"

####################################################

三、建構Web服務,共享CD光牒所有内容

1.安裝軟體包httpd

[[email protected] ~]# yum -y install httpd

2.重新開機httpd服務

[[email protected] ~]# systemctl restart httpd

[[email protected] ~]# systemctl enable httpd

3.共享CD光牒所有内容

[[email protected] ~]# mkdir /var/www/html/centos

[[email protected] ~]# ls /var/www/html/centos

[[email protected] ~]# mount /dev/cdrom /var/www/html/centos

mount: /dev/sr0 寫保護,将以隻讀方式挂載

[[email protected] ~]# ls /var/www/html/centos

[[email protected] ~]# firefox 192.168.4.7/centos

#####################################################

四、部署無人值守安裝,生成應答檔案

1.安裝圖形的system-config-kickstart工具,生成應答檔案

[[email protected] ~]# yum -y install system-config-kickstart

2.運作system-config-kickstart工具,進行配置

[[email protected] ~]# LANG=en system-config-kickstart

首先檢視軟體包選擇(Package Selection),是否可以使用

需要Yum倉庫的支援,必須要求YumCD光牒倉庫辨別為 [development]

[[email protected] ~]# vim /etc/yum.repos.d/local.repo

[development]

[[email protected] ~]# LANG=en system-config-kickstart

[[email protected] ~]# ls /root/

[[email protected] ~]# vim /root/ks.cfg

3.利用Web服務,将應答檔案ks.cfg,共享給用戶端

[[email protected] ~]# cp /root/ks.cfg /var/www/html/

[[email protected] ~]# ls /var/www/html/

4.修改菜單檔案,指定應答檔案ks.cfg

]# vim /var/lib/tftpboot/pxelinux.cfg/default

label linux

menu label ^Install CentOS 7

menu default

kernel vmlinuz

append initrd=initrd.img ks=http://192.168.4.7/ks.cfg

#####################################################

總結:

1.DHCP服務–>IP位址 next-server filename

2.tftp服務–>pxelinux.0

3.pxelinux.0–>讀取預設菜單檔案

4.default–>圖形子產品 背景圖檔 啟動核心 驅動程式 應答檔案

5.ks.cfg應答檔案–> 分區 語言 鍵盤類型 裝包

# Use network installation

url --url=“http://192.168.4.7/centos”

繼續閱讀