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

[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   #具體操作步驟看圖

pxe網絡裝機-->jluocc
pxe網絡裝機-->jluocc
pxe網絡裝機-->jluocc
pxe網絡裝機-->jluocc
pxe網絡裝機-->jluocc
pxe網絡裝機-->jluocc
pxe網絡裝機-->jluocc
pxe網絡裝機-->jluocc
pxe網絡裝機-->jluocc
pxe網絡裝機-->jluocc

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這一行

四 驗證
新建虛擬機
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/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章