PXE網絡裝機
網絡裝機的優勢
規模化:同時裝配多臺主機
自動化:裝系統,配置各種服務
遠程實現:不需要光盤,U盤等物理安裝介質
PXE Pre-boot eXecution Environment
域啟動執行環境,在操作系統之前運行
可用於遠程安裝
工作模式
PXE client 集成在網卡的啟動芯片中
當計算機引導時,從網卡芯片中把PXE client 調入內存
執行,獲取PXE server配置,顯示菜單,根據用戶選擇將遠程引導程序下載到本機運行
需要服務
DHCP服務,分配IP地址,定位引導程序
TFTP服務,提供引導程序下載
HTTP服務(或FTP/NFS),提供yum安裝源
PXE網絡裝機服務器部署
環境準備
配置PXE服務的ip地址 為 192.168.4.7
為了方便實驗 關閉防火強 和 SELinux
一、構建DHCP服務,指定下一個服務器的IP地址
[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;
option routers 192.168.4.254;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.7; #指定下一個服務器IP地址
filename "pxelinux.0"; #指定網卡引導文件
}
pxelinux,0(網卡引導文件):安裝說明書,二進制文件
安裝一個軟件,生成pxelinux.0
[root@svr7 ~]# systemctl restart dhcpd
二.搭建TFTP服務
TFTP:簡單的文件傳輸協議 端口:69
服務端程序:tftp-server
服務名:tftp
默認共享路徑:/var/lib/tftpboot
客戶端程序:tftp
1.安裝tftp-server
[root@svr7 ~]# yum -y install tftp-server.x86_64
2.啟動tftp服務,並設置為開機自啟
[root@svr7 ~]# systemctl restart tftp
[root@svr7 ~]# systemctl enable tftp
3.部署pxelinux.0文件
[root@svr7 ~]# yum provides */pxelinux.0 #查詢倉庫中那一個包產生該文件
...
syslinux-4.05-12.el7.x86_64 : Simple kernel loader which boots from a FAT
: filesystem
...
[root@svr7 ~]# yum -y install syslinux-4.05-12.el7.x86_64
[root@svr7 ~]# rpm -ql syslinux | grep pxelinux.0 #查詢軟件包,安裝清單
/usr/share/syslinux/pxelinux.0
[root@svr7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@svr7 ~]# ls /var/lib/tftpboot/
pxelinux.0
4.部署default默認的菜單文件
[root@svr7 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@svr7 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg/
[root@svr7 ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@svr7 ~]# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
[root@svr7 ~]# ls -l /var/lib/tftpboot/pxelinux.cfg/default
-rw-r--r--. 1 root root 3166 11月 16 02:26 /var/lib/tftpboot/pxelinux.cfg/default
5.部署圖形的模塊 vesamenu.c32
[root@svr7 ~]# cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/
[root@svr7 ~]# ls /var/lib/tftpboot/
pxelinux.0 pxelinux.cfg vesamenu.c32
6.修改菜單文件 /var/lib/tftpboot/pxelinux.cfg/default
[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
...
11 menu title PXE Server !
...
61 label linux
62 menu label ^Install RHEL7
63 kernel vmlinuz
64 append initrd=initrd.img
...
7.部署啟動內核與驅動程序
[root@svr7 ~]# cp /mnt/isolinux/initrd.img /mnt/isolinux/vmlinuz /var/lib/tftpboot/
[root@svr7 ~]# ls /var/lib/tftpboot/
initrd.img pxelinux.0 pxelinux.cfg vesamenu.c32 vmlinuz
擴展 修改背景圖片
[root@room1pc32 桌面]# scp -r tupian/ [email protected]:/
[root@svr7 ~]# cp /tupian/7.jpg /var/lib/tftpboot/
[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
...
menu background 7.jpg
...
三.FTP服務,傳輸RPM包
1.搭建vsftpd 服務,貢獻光盤所以內容
[root@svr7 ~]# yum -y install vsftpd
[root@svr7 ~]# systemctl restart vsftpd
[root@svr7 ~]# systemctl enable vsftpd
[root@svr7 ~]# mkdir /var/ftp/rhel7
[root@svr7 ~]# mount /dev/cdrom /var/ftp/rhel7
四.無人值守安裝
1.圖形生成應答文件程序:
[root@svr7 /]# yum -y install system-config-kickstart
2.運行圖形程序
讀取本地Yum倉庫信息,要求Yum倉庫客戶端配置文件,倉庫標示development
[root@svr7 /]# system-config-kickstart
1) 基礎配置 配置默認語言 , 鍵盤,時區 ,根密碼, 安裝後重新引導系統
2)安裝方式 配置 執行新安裝 安裝方式 選擇FTP 並在FTP服務器和FTP目錄上填寫 剛剛FTP的配置
3) 引導安裝程序選項 配置安裝新引導裝載程序
4)分區信息 配置 主引導記錄: 清除主引導記錄 分區 : 刪除所有現存分區 磁盤標簽 : 初始化磁盤標簽 然後 單擊 添加
添加 一個交換分區 大小為1024MB
添加 一個根分區 文件類型為 xfs 大小選擇:使用磁盤上全部未剩余空間
5)網絡配置 單擊 添加網絡設備 在網絡設備上 填寫 eth0
6) 防火墻配置 Linux 安全增強版 配置 禁用
7)軟件包選擇 根據個人喜好選擇 但是 一定要選擇 系統 中的 基本
8)預安裝腳本 和 安裝後腳本 根據個人喜好添加腳本 這裏 我在安裝後腳本寫了一個配置yum源的腳本
9) 在單擊 圖形界面 左上角 文件 ----> 保存 使用默認文件名 ks.cfg 保存到root下 圖形界面的配置就完成了
3.搭建vsftpd服務,共享應答文件
[root@svr7 ~]# ls /root/ks.cfg
/root/ks.cfg
[root@svr7 ~]# cp /root/ks.cfg /var/ftp/
五.通過菜單指定ks.cfg應答文件
[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
...
61 label linux
62 menu label ^Install RHEL7
63 kernel vmlinuz
64 append initrd=initrd.img ks=ftp ://192.168.4.7/ks.cfg
執行網絡PXE裝機
選擇網絡引導pxe
其他配置 根據個人喜好配置
配置網絡選擇 選擇和剛剛配置PXE服務在同一個網卡
運行虛擬機
回車 選擇 Install RHEL
總結:
DHCP ---> IP地址,next-server,filename
tftp ----> pxelinux.0 ,default
default ----> vesamenu.c32,vmlinuz,initrd.img,ks.cfg
ks.cfg ----> url="ftp://192.168.4.7/rhel7"
PXE網絡裝機