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 #具體操作步驟看圖
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這一行
四 驗證
新建虛擬機器
因為我搭建了好幾臺會有幾個選項
五 總結
--安裝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/