pxe結合kickstart文件實現全自動化安裝

PXE是什麼?

PXE(preboot execute environment,預啓動執行環境)是由Intel公司開發的最新技術,工作於Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,並由此支持通過網絡啓動操作系統,在啓動過程中,終端要求服務器分配IP地址,再用tftptrivial file transfer protocol)或mtftpmulticast trivial file transfer protocol)協議下載一個啓動軟件包到本機內存中執行,由這個啓動軟件包完成終端(客戶?)基本軟件設置,從而引導預先安裝在服務器的終端操作系統。PXE可以引導多種操作系統。如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux等。


什麼情形使用PXE系統安裝?

在實際工作中,我們經常會遇到這樣的情況:想要安裝Linux但是計算機沒有光驅,或者是有大批量的計算機需要同時安裝Linux,如果通過光驅的方式一個個安裝,不僅效率低,也不利於維護。這是時候你就需要PXE的強大功能了。


硬件支持:

網卡必須可通過網絡引導啓動, 具體實現的是可獲取到來自dhcp服務器上分配的ip地址, 並且可充當tftp服務端的客戶端,去加載內核等文件。 早期網卡可能默認不支持這種功能, 但是現在幾乎所有的網卡都支持這個功能。 


需要搭建服務:

1>. dhcp服務器

2>. tftp-server 服務器

3>. ftp或則httpd服務 (用來提供yum倉庫、kickstart文件)


下面通過pxe結合kickstart文件實現真正的全自動化安裝centos7操作系統

實驗拓撲圖:

wKioL1ggQafzDLGqAACRmV6hVgg680.png

注意: dhcp、tftp、ftp(httpd)服務器可以放在不同服務器之上,這裏簡化。 


流程圖:

wKiom1ggQ5TSd0XfAAHJh-UoQ5k421.jpg

實驗步驟:

搭建dhcp服務器:


1>. 修改配置文件/etc/dhcp/dhcpd.conf

wKioL1ggQePio2fLAAAdFQgcsJY708.png


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則由光盤目錄下的images/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

wKiom1ggQhCBfSs7AAA932qoXpg490.png


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命令打開圖形化配置界面。

如下:

wKioL1ggQkmRlWghAADzUSna-2s729.png



客戶端測試;(node2節點)

1>. 選擇網絡引導.

wKioL1ggQqGB9D9tAAAK8WKqduQ630.png


2>. 

wKioL1ggRzrCmT6PAAAfCk0QGwc626.png


3>. 後面測試結果正確,可實現自動化安裝。 

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