PXE是什麼?node
PXE(preboot execute environment,預啓動執行環境)是由Intel公司開發的最新技術,工做於Client/Server的網絡模式,支持工做站經過網絡從遠端服務器下載映像,並由此支持經過網絡啓動操做系統,在啓動過程當中,終端要求服務器分配IP地址,再用tftp(trivial file transfer protocol)或mtftpmulticast trivial file transfer protocol)協議下載一個啓動軟件包到本機內存中執行,由這個啓動軟件包完成終端(客戶?)基本軟件設置,從而引導預先安裝在服務器中的終端操做系統。PXE能夠引導多種操做系統。如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux等。linux
什麼情形使用PXE系統安裝?vim
在實際工做中,咱們常常會遇到這樣的狀況:想要安裝Linux可是計算機沒有光驅,或者是有大批量的計算機須要同時安裝Linux,若是經過光驅的方式一個個安裝,不只效率低,也不利於維護。這是時候你就須要PXE的強大功能了。windows
硬件支持:centos
網卡必須可經過網絡引導啓動, 具體實現的是可獲取到來自dhcp服務器上分配的ip地址, 而且可充當tftp服務端的客戶端,去加載內核等文件。 早期網卡可能默認不支持這種功能, 可是如今幾乎全部的網卡都支持這個功能。 bash
須要搭建服務:服務器
1>. dhcp服務器網絡
2>. tftp-server 服務器socket
3>. ftp或則httpd服務 (用來提供yum倉庫、kickstart文件)ide
下面經過pxe結合kickstart文件實現真正的全自動化安裝centos7操做系統
實驗拓撲圖:
注意: dhcp、tftp、ftp(httpd)服務器能夠放在不一樣服務器之上,這裏簡化。
流程圖:
實驗步驟:
搭建dhcp服務器:
1>. 修改配置文件/etc/dhcp/dhcpd.conf
2>. 啓動dhcp服務器
systemctl start dhcpd
注意: dhcp具體細節可查看博客:http://9280078.blog.51cto.com/9270078/1870055
搭建tftp-server服務器。
1>. 安裝程序包:
yum install -y tftp-server
2>. tftp-server生成的配置文件。
/etc/xinetd.d/tftp /usr/lib/systemd/system/tftp.service /usr/lib/systemd/system/tftp.socket /usr/sbin/in.tftpd /usr/share/doc/tftp-server-5.2 /usr/share/doc/tftp-server-5.2/CHANGES /usr/share/doc/tftp-server-5.2/README /usr/share/doc/tftp-server-5.2/README.security /usr/share/man/man8/in.tftpd.8.gz /usr/share/man/man8/tftpd.8.gz /var/lib/tftpboot
3>. 提供特定的內核、initrd.img、bootloader等文件。
提供bootloader文件: pxelinux.0 chain.c32 mboot.c32 memdisk menu.c32
以上這些文件由syslinux程序包提供。
yum install -y syslinux , 則可生成以上文件。
vmlinuz (內核文件) 、initrd.img則由光盤目錄下的p_w_picpaths/pxeboot/目錄下的文件提供。
[root@node1 tftpboot]# ls /var/lib/tftpboot/ chain.c32 initrd.img mboot.c32 memdisk menu.c32 pxelinux.0 pxelinux.cfg vmlinuz
4>. 在/var/lib/tftpboot/目錄下, 建立pxelinux.cfg目錄
mkdir /var/lib/tftpboot/pxelinux.cfg vim /var/lib/tftpboot/pxelinux.cfg/default
5>. 啓動tfpd.server服務
]# systemctl start tftp.socket
搭建ftp服務器, 提供安裝源(相似於光盤)、kickstart文件。
1>. 搭建ftp-server服務器。
]# yum install -y vsftpd
2>. 將光盤文件掛載至/var/ftp/pub/Centos7目錄下。
mount /dev/cdrom /var/ftp/pub/Centos7/
3>. 將kickstart文件複製到/var/ftp/pub/目錄下。
cp centos7.cfg /var/ftp/pub/
4>. 啓動ftp服務器。
]# systemctl start vsftpd
kickstart文件如何生成?
在圖形化界面下安裝system-config-kickstart工具包, 執行system-config-kickstart命令打開圖形化配置界面。
以下:
客戶端測試;(node2節點)
1>. 選擇網絡引導.
2>.
3>. 後面測試結果正確,可實現自動化安裝。