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
[root@svr7 ~]# yum -y install dhcp [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; #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
[root@svr7 ~]# yum -y install tftp-server
[root@svr7 ~]# systemctl restart tftp 啟服務
2)部署pxelinux.0文件
[root@svr7 ~]#yum provides */pxelinux.0 #獲取pxelinux.0文件軟件名稱 [root@svr7 ~]#yum -y install syslinux #安裝軟件 [root@svr7 ~]#rpm -ql syslinux |grep pxelinux.0 #獲取pxelinux.0文件路徑 /usr/share/syslinux/gpxelinux.0 /usr/share/syslinux/pxelinux.0 [root@svr7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #復制 [root@svr7 ~]# ll /var/lib/tftpboot/ 總用量 28 -rw-r--r--. 1 root root 26826 9月 26 10:27 pxelinux.0
3)部署菜單文件
[root@svr7 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg #創建目錄
[root@svr7 ~]# mount /dev/cdrom /mnt #掛載鏡像文件,本次實驗用rhel7
[root@svr7 ~]# 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
[root@svr7 ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #拷貝pxelinux.cfg文件
[root@svr7 ~]# ll /var/lib/tftpboot/pxelinux.cfg/default
-r--r--r--. 1 root root 3166 9月 26 10:59 /var/lib/tftpboot/pxelinux.cfg/default
[root@svr7 /]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default #修改權限
[root@svr7 /]# 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)修改菜單文件
[root@svr7 /]# 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/ #部署圖形的模塊及背景模塊
[root@svr7 /]# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/ #部署啟動內核與驅動程序
[root@svr7 /]# 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,裝包啟服務
[root@svr7 /]# yum -y install httpd #安裝服務
[root@svr7 /]# mkdir /var/www/html/rhel7
[root@svr7 /]# mount /dev/cdrom /var/www/html/rhel7 #一般直接拷貝,不用掛載
[root@svr7 /]# systemctl restart httpd #重啟服務
[root@svr7 /]# firefox 192.168.4.7/rhel7 #查看信息
2,生產應答文件ks.cfg
1)安裝圖形工具(system-config-kickstart)進行生成應答文件
[root@svr7 /]# yum -y install system-config-kickstart
[root@svr7 /]# 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
[root@svr7 /]# system-config-kickstart #具體操作步驟看圖
2)共享ks應答文件
[root@svr7 ~]# cp /root/ks.cfg /var/www/html #拷貝配置文件到http目錄中
[root@svr7 ~]# firefox 192.168.4.7/ks.cfg
[root@svr7 ~]# 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/
pxe網絡裝機-->jluocc