1. 程式人生 > >pxe網路裝機-->jluocc

pxe網路裝機-->jluocc

一 前言
PXE:Pre-boot eXecution Environment
預啟動執行環境,在作業系統之前執行,可用於遠端安裝

工作模式:
PXE client整合在網絡卡的啟動晶片中
當計算機引導時,從網絡卡晶片中把PXE clent調入記憶體執行,獲取PXE server配置、顯示選單,根據使用者選擇將遠端載入程式下載到本機執行
需要服務套件:
DHCP,分配ip地址,定位載入程式
TFTP(簡單的檔案傳輸協議,69),提供載入程式下載
HTTP(FTP/NFS),提供yum安裝源
開機啟動項順序:1.硬碟 2.光碟機裝置 3.行動硬碟 4.網路安裝

二 搭建pxe
1,搭建DHCP服務
埠號:udp/67 udp/68
主配置檔案:/etc/dhcp/dhcpd.conf

[[email protected] ~]# yum -y install dhcp
[[email protected] ~]# 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;       #dhcp服務地址
 #option domain-name "internal.example.org";   #dhcp服務域名
  option routers 192.168.4.254;                 #閘道器
 #option broadcast-address 10.5.5.31;          #關播地址
  default-lease-time 600;                       #最小連線時長,單位秒
  max-lease-time 7200;                          #最大連線時長,單位秒
  next-server 192.168.4.7;                      #設定下一個服務地址
  filename "pxelinux.0";                        #指定網絡卡引導檔名稱
}
提示:pxelinux.0----->網絡卡引導檔案,這裡面是二進位制檔案(可通過安裝軟體獲得次檔案)

2,搭建tftp
tftp:簡單文字傳輸協議
預設埠號:69
預設共享檔案路徑:/var/lib/tftpboot/
1)安裝軟體tftp-server

[[email protected] ~]# yum -y install tftp-server
[[email protected] ~]# systemctl restart tftp      啟服務

2)部署pxelinux.0檔案

[[email protected] ~]#yum provides */pxelinux.0   #獲取pxelinux.0檔案軟體名稱
[[email protected] ~]#yum -y install syslinux     #安裝軟體
[
[email protected]
~]#rpm -ql syslinux |grep pxelinux.0 #獲取pxelinux.0檔案路徑 /usr/share/syslinux/gpxelinux.0 /usr/share/syslinux/pxelinux.0 [[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #複製 [[email protected] ~]# ll /var/lib/tftpboot/ 總用量 28 -rw-r--r--. 1 root root 26826 9月 26 10:27 pxelinux.0

3)部署選單檔案

[[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg    #建立目錄
[[email protected] ~]# mount /dev/cdrom /mnt         #掛載映象檔案,本次實驗用rhel7
[[email protected] ~]# ls /mnt
addons            GPL       media.repo               RPM-GPG-KEY-redhat-release
EFI               images    Packages                 TRANS.TBL
EULA              isolinux  repodata
extra_files.json  LiveOS    RPM-GPG-KEY-redhat-beta
[[email protected] ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default    #拷貝pxelinux.cfg檔案
[[email protected] ~]# ll /var/lib/tftpboot/pxelinux.cfg/default
-r--r--r--. 1 root root 3166 9月  26 10:59 /var/lib/tftpboot/pxelinux.cfg/default
[[email protected] /]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default                #修改許可權
[[email protected] /]# ll /var/lib/tftpboot/pxelinux.cfg/default
-rw-r--r--. 1 root root 3166 9月  26 10:59 /var/lib/tftpboot/pxelinux.cfg/default

4)修改選單檔案

[[email protected] /]# vim /var/lib/tftpboot/pxelinux.cfg/default   #修改對應屬性資訊    
1 etefault vesamenu.c32             #預設載入圖形模組
2 timeout 600                       #讀秒時間 1/10  這個為:60秒
10 menu background splash.png       #指定背景圖片
11 menu title JLUOCC PXE Server    #選單顯示標題
61 label linux
62   menu label Install Linux 7.4  #選項內容
63   menu default                  #讀秒結束後預設選擇
63   kernel vmlinuz                #載入核心
64   append initrd=initrd.img      #載入驅動
提示:後面全部刪除 

5)部署相應的模組

#cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/   #部署圖形的模組及背景模組
[[email protected] /]# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/  #部署啟動核心與驅動程式
[[email protected] /]# ll /var/lib/tftpboot/                #檢視目錄下總共有6個檔案,splash.png可以不要
總用量 54524
-r--r--r--. 1 root root 49763300 9月  26 11:12 initrd.img
-rw-r--r--. 1 root root    26826 9月  26 10:35 pxelinux.0
drwxr-xr-x. 2 root root       21 9月  26 10:59 pxelinux.cfg
-r--r--r--. 1 root root      186 9月  26 11:08 splash.png
-r--r--r--. 1 root root   153104 9月  26 11:08 vesamenu.c32
-r-xr-xr-x. 1 root root  5875184 9月  26 11:12 vmlinuz

三 搭建httpd
1,裝包啟服務
[[email protected] /]# yum -y install httpd #安裝服務
[[email protected] /]# mkdir /var/www/html/rhel7
[[email protected] /]# mount /dev/cdrom /var/www/html/rhel7 #一般直接拷貝,不用掛載
[[email protected] /]# systemctl restart httpd #重啟服務
[[email protected] /]# firefox 192.168.4.7/rhel7    #檢視資訊

2,生產應答檔案ks.cfg
1)安裝圖形工具(system-config-kickstart)進行生成應答檔案

[[email protected] /]# yum -y install system-config-kickstart
[[email protected] /]# vim /etc/yum.repos.d/rhel7.repo        #修改本地yum源名稱,重要
[development]         #表識名稱必須寫成development,執行system-config-kickstart
name=rhel7.4          #才能識別安裝軟體包,否則不能識別
baseurl=http://192.168.4.254/rhel7
enabled=1
gpgcheck=0
[[email protected] /]# system-config-kickstart   #具體操作步驟看圖

pxe網路裝機-->jluocc
pxe網路裝機-->jluocc
pxe網路裝機-->jluocc
pxe網路裝機-->jluocc
pxe網路裝機-->jluocc
pxe網路裝機-->jluocc
pxe網路裝機-->jluocc
pxe網路裝機-->jluocc
pxe網路裝機-->jluocc
pxe網路裝機-->jluocc

2)共享ks應答檔案

[[email protected] ~]# cp /root/ks.cfg /var/www/html        #拷貝配置檔案到http目錄中
[[email protected] ~]# firefox 192.168.4.7/ks.cfg
[[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default          #修改檔案
label linux
  menu label Install Red Hat Enterprise Linux 7.4
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.4.7/ks.cfg       #加上ks這一行

四 驗證
新建虛擬機器
pxe網路裝機-->jluocc
因為我搭建了好幾臺會有幾個選項
pxe網路裝機-->jluocc
pxe網路裝機-->jluocc

五 總結
--安裝DHCP
yum -y install dhcp --> vim /etc/dhcp/dhcpd.conf
--> next-server,filename -->systemctl restart dhcpd

--安裝TFTP
yum -y install tftp-server -->systemctl restart tftp
預設共享位置:/var/lib/tftpboot/

--安裝http
yum -y install httpd -->mkdir /var/www/html/rhel7
-->systemctl restart httpd

--拷貝檔案
mount /dev/cdrom /mnt
cp /mnt/* /var/www/html/rhel7
cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp vesamenu.c32 splash.png vmlinuz initrd.img /var/lib/tftpboot/

--pxelinux.0
yum provides */pxelinux.0 -->yum -y install syslinux -->rpm -ql syslinux | grep pxelinux.0
cp pxelinux.0 /var/lib/tftpboot/

--ks.cfg
yum -y install systemc-config-kickstart -->system-config-kickstart
-->ks.cfg
cp ks.cfg /var/www/html/