什麼是PXE:
PXE(preboot execute environment)是由Intel公司開發的最新技術,工作於Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,並由此支持來自網絡的操作系統的啟動過程,其啟動過程中,終端要求服務器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協議下載一個啟動軟件包到本機內存中並執行,由這個啟動軟件包完成終端基本軟件設置,從而引導預先安裝在服務器中的終端操作系統。PXE可以引導多種操作系統,如:Windows95/98/2000,linux等。
===========================================================================================
為什麼使用PEX:
從CD-ROM安裝Linux這種最便捷、最直接的操作方法,但是,如果一旦遭遇需要同時安裝linux系統到多台計算機上,那麼我們應該選擇一種更高效的安裝方式。PXE是其中的一種選擇。
PEX—Pre-boot Execution Environment協議可以使計算機通過網絡引導啟動。把安裝盤的內容復制到某台服務器,欲安裝linux的計算機通過網絡實現多機同時安裝。
===========================================================================================
PEX啟動原理:
PXE是RPL的升級品,它是Preboot Execution Environment的縮寫。它們的不同之處在於RPL是靜態路由,而PXE是動態路由。其通信協議采用TCP/IP,與Internet連接高效而可靠,PXE無盤工作站的啟動過程分析如下:
¨ 客戶端個人電腦開機後, 在 TCP/IP Bootrom 獲得控制權之前先做自我測試。
¨ Bootprom 送出 BOOTP/DHCP 要求以取得 IP。
¨ 如果服務器收到個人電腦所送出的要求, 就會送回 BOOTP/DHCP 回應,內容包括
客戶端的 IP 地址, 預設網關, 及開機影像文件。否則, 服務器會忽略這個要求。
¨ Bootprom 由 TFTP 通訊協議從服務器下載開機影像文件。
¨ 個人電腦通過這個開機影像文件開機, 這個開機文件可以只是單純的開機程式也可
以是操作系統。
¨ 開機影像文件將包含 kernel loader 及壓縮過的 kernel, 此 kernel 將支持NTFS root
系統。
¨ 遠程客戶端根據下載的文件啟動機器。
===========================================================================================
在這裡,我做一個用PXE安裝LINUX的案例:
環境:VMWARE虛擬機
要求:用REDHAT LINUX配置PXE服務器,實現無人值守無盤安裝LINUX
===========================================================================================
配置靜態IP地址:
輸入命令:[root@localhost ~]# setup
出現如下界面:
選擇Network configuration
選擇編輯設備
選擇eth0網卡
設置以上參數。
===========================================================================================
掛載REDHAT光盤:
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
===========================================================================================
配置YUM客戶端:
[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo
配置命令如下:直接粘貼進去就行了
[rhel-Server]
name=Red Hat Enterprise Server $releasever - $basearch - Debug
baseurl=file:///mnt/cdrom/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[rhel-VT]
name=Red Hat Enterprise VT $releasever - $basearch - Debug
baseurl=file:///mnt/cdrom/VT
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[rhel-Cluster]
name=Red Hat Enterprise Cluster $releasever - $basearch - Debug
baseurl=file:///mnt/cdrom/Cluster
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[rhel-ClusterStorage]
name=Red Hat Enterprise ClusterStorage $releasever - $basearch – Debug
baseurl=file:///mnt/cdrom/ClusterStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
然後保存,退出。
===========================================================================================
安裝FTP服務器:
[root@localhost cdrom]# yum install -y vsftpd
===========================================================================================
安裝DHCP服務器:
[root@localhost cdrom]# yum install -y dhcp
===========================================================================================
安裝TFTP服務器:
[root@localhost cdrom]# yum install -y tftp
===========================================================================================
把安裝文件放到FTP服務器上:
[root@localhost /]# cd /mnt/cdrom/
[root@localhost cdrom]# cp -r . /var/ftp/pub/
===========================================================================================
配置DHCP配置文件:
[root@localhost cdrom] # vim /etc/dhcpd.conf
進入底行模式輸入:-r /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample
在VIM編輯器的插入模式做以上修改。
===========================================================================================
配置TFTP:
[root@localhost ~]# vim /etc/xinetd.d/tftp
===========================================================================================
創建目錄
[root@localhost /]# mkdir -pv /tftpboot/pxelinux.cfg
復制文件:
[root@localhost /]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
[root@localhost /]# cp /mnt/cdrom/images/pxeboot/vmlinuz /tftpboot/
[root@localhost /]# cp /mnt/cdrom/images/pxeboot/initrd.img /tftpboot/
[root@localhost /]# cp /mnt/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
===========================================================================================
修改/tftpboot/pxelinux.cfg/default文件:
[root@localhost /]# vim /tftpboot/pxelinux.cfg/default
在插入模式做如上圖修改:代碼如下
Timeout的值改為6
12行修改為:append ks=ftp://192.168.10.1/pub/ks.cfg ksdevice=eth0 initrd=initrd.img
===========================================================================================
重啟ftp dhcp xinetd服務:
[root@localhost ~]# service vsftpd restart
[root@localhost ~]# service dhcpd restart
[root@localhost ~]# service xinetd restart
===========================================================================================
安裝kickstart:
[root@localhost ~]# yum install -y system-config-kickstart
===========================================================================================
配置kickstart:
[root@localhost cdrom]# system-config-kickstart
配置默認語言,鍵盤類型,root用戶密碼,安裝後是否重新引導,在文本或圖形模式安裝。
選擇新安裝,從FTP安裝,以及FTP地址和路徑
磁盤分區信息。
配置網卡信息。
選擇需要安裝的安裝包
寫入安裝後執行的腳本以及解釋器。
保存ks.cfg 文件。保存路徑為:/var/ftp/pub/
===========================================================================================
因為我們的目的是無人值守安裝LINUX,我們在安裝的時候,會提示輸入KEY。在此,我們編輯ks.cfg文件跳過key的選擇。
[root@localhost cdrom]# vim /var/ftp/pub/ks.cfg
在裡面加入一行: key --skip
===========================================================================================
我們來新建一個虛擬機,測試一下:
設置虛擬機網絡連接。(注意,新建的虛擬機一定要和做PXE服務器的虛擬機在同一個虛擬LAN裡面)
PXE客戶端從DHCP服務器獲取IP地址。
獲取地址成功,並加載安裝信息。
載入驅動。
為eth0網卡發送請求IP信息。
決定主機名和域名。
開始安裝系統文件。
安裝完成,輸入剛才在kickstart裡面預設的root密碼,登陸成功。
===========================================================================================
PS:江山煙若柳原創,轉載請注明出處。因本人水平有限,不足之處在所難免,敬請批評指正,共同學習,共同提高。
本文出自 “江山煙若柳” 博客,請務必保留此出處http://45642777.blog.51cto.com/2139502/954613