需求
在實際工作中,我們經常會遇到這樣的情況:想要安裝Linux但是計算機不帶光驅或軟驅,或者是筆記本配置的非標準的軟驅和光驅,如1394接口,USB接口等,在Linux安裝時所引導的Linux內核一般都不會帶這些接口的驅動,所以也無法通過本地安裝Linux,此外,在一些場合,如機房,IT實驗室,工廠生產線,有大量的計算機需要同時安裝Linux,如果通過光驅的方式一個個安裝,不僅效率低,也不利於維護。這是時候你就需要PXE的強大功能了。本文將就PXE的基本原理和工作方式進行簡要介紹。
PXE簡介
PXE是由Inte公司開發的網絡引導技術,工作在 Client/Server模式,允許客戶機通過網絡從遠程服務器下載引導鏡像,並加載安裝文件或者整個操作系統
前提條件
• 客戶機的網卡支持PXE協議(集成 BOOTROM芯片),且主板支持網絡引導。
• 網絡中有一臺DHCP服務器以便爲客戶機自動分配地址、指定引導文件位置。
• 服務器通過TFTP( Trivial File Transfer Protocol,簡單文件傳輸協議)提供引導鏡像文件的下載。
PXE裝機原理圖
PXE的裝機過程:
PXE Client 從自己的PXE網卡啓動,向本網絡中的DHCP服務器索取IP;
DHCP 服務器返回分配給客戶機的IP 以及PXE文件的放置位置(該文件一般是放在一臺TFTP服務器上) ;
PXE Client 向本網絡中的TFTP服務器索取pxelinux.0 文件;
PXE Client 取得pxelinux.0 文件後之執行該文件;
根據pxelinux.0 的執行結果,通過TFTP服務器加載內核和文件系統 ;
- 進入安裝畫面, 此時可以通過選擇HTTP、FTP、NFS 方式之一進行安裝;
實驗案例:
使用PXE服務器給以下未裝系統的裸機裝上centos 6系統
實驗環境
服務器系統:centos 6.5
服務器端 ip:192.168.100.20
yum掛載目錄:/mnt/sr0
ftp站點目錄:/var/ftp/redhat6
客戶機硬盤大小:40G
客戶機內存內存:最少2G
實驗步驟
一、環境部署
1.服務器端、客戶端均關閉防火牆
service stop iptables
setenforce 0
二、搭建PXE遠程安裝服務器
1.準備安裝CentOS安裝源
mount /dev/sr0 /mnt/sr0/ #掛載光盤目錄
yum -y install vsftpd #安裝vsftpd服務
mkdir /var/ftp/redhat6 #ftp站點創建共享目錄
cp -rf /mnt/sr0/* /var/ftp/redhat6/ #將光盤文件拷貝到站點中
service vsftpd start #啓動ftp服務
2.安裝並啓用TFTP服務
yum -y install tftp-server #安裝tftp
vim /etc/xinetd.d/tftp #開啓tftp
service xinetd start #啓動服務
3.準備內核、初始化鏡像文件
cd /mnt/sr0/images/pxeboot/
cp initrd.img vmlinuz /var/lib/tftpboot/ #將內核和鏡像文件拷貝到tftp的根目錄下
4.準備PXE引導程序、啓動菜單文件
yum -y install syslinux #安裝引導加載程序
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #將引導程序放在tftp的根目錄下
mkdir /var/lib/tftpboot/pxelinux.cfg #在tftpboot下創建啓動菜單目錄
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #安裝菜單
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot #linux引導加載模塊//
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/ #壓縮內核//
cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot #圖形化安裝菜單
5.安裝並啓用DHCP服務
yum -y install dhcp
vim /etc/dhcp/dhcpd.conf
service dhcpd start #啓動dhcp服務
三、Kickstart無人值守安裝
1.安裝kickstart工具
yum -y install system-config-kickstart
2.配置安裝應答參數
3.安裝方法
4.引導裝載程序
5.分區信息
6.網絡配置
7.驗證
8.防火牆配置
9.顯示配置
10.軟件包選擇
11.預安裝腳本(默認即可)
12.保存自動應答文件
四、實現批量自動裝機
1.啓動自動應答文件
cp ks.cfg /var/ftp/redhat6/
vim /var/lib/tftpboot/pxelinux.cfg/default
2.在客戶端調整BIOS設置
3.自動裝機
總結:
1.實現PXE裝機,要求網卡支持PXE功能,且必須有Linux安裝源,以及可用的TFTP,DHCP服務器。
2.無人值守的應答文件可通過Kickstart 配置程序完成,該程序由system-config-kickstart 軟件包提供。
3.TFTP服務由tftp-server軟件包提供,默認由xinetd超級服務器進行管理。
4.用於PXE網絡安裝的引導程序爲pxelinux.0 由軟件包syslinux 提供。
5.用於PXE網絡安裝的linux 內核、初始化鏡像文件從centos 6光盤獲得,分別爲vmlinuz和initrd.img。
6.若最後驗證無人值守安裝時,發現還是需要手動安裝,肯定是自動應答文件配置出了問題。
7.所有安裝的客戶機內存最小2G,否則會出故障!