PXE自動化安裝的流程:
開機自檢 > 加載ROM中的bios代碼 > 檢查設備啟動順序,由于PXE自動安裝是基于網卡作引導的,所以,會選擇網卡 > 網卡中會有PXE的模塊,從dhcp服務器獲取ip地址 掩碼 網關 dns 重要的是tftp服務器的地址 從tftp服務器需要獲取的bootloder的文件名的信息 > 從tftp中加載pxelinux.0引導程序 > 加載內核和initrd.img > 從initrd中的虛擬根中啟動init,然后再從中啟動/bin/loader,loader加載ks.cfg文件 > 最后從http服務器中加載啟動anaconda,又根據ks.cfg文件 ,實現自動配置和安裝。
實現過程:
-
安裝好http tftp-server syslinux dhcp,我這里已經安裝好了:
-
配置tftp服務器,tftp是基于udp協議的,是一個超級守護進程,他是被xinetd來管理的,xinetd幫他進行監聽,當有請求是xinetd管理的進程時,才把它喚醒,把請求交回給它處理,這種方式適合一些訪問量比較小的服務,可以節省資源,這些在xinetd內部的服務不一直占用系統資源;如果是獨立進程,它會一直監聽它的套接字上,常駐在內存上,比較消耗資源,但是請求反應速度快!
由于tftp是受xinetd管理的內部服務,他要先把他on起來:
方法一:
chkconfig tftp on
方法二:
修改/etc/xinetd.d/tftp
把里面的disable = yes 修改為 diaable = no
然后,service xinetd start
好了,要把需要的文件放到tftp服務器的下載目錄下:
mount /dev/cdrom /media/cdrom(先進行光盤的掛載)
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ (把bootloder復制過去)
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /media/cdrom/isolinux/{vesamenu.c32,splash.jpg,boot.msg} /var/lib/tftpboot/ (把引導時的菜單 背景圖片boot的文字界面文件復制過去)
cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default (這是一個pxelinux.0的引導中所需的配置文件)
然后我們修改這個default文件,在label linux 下加入 text(安裝時文本模式) 還有指定ks文件的位置
cp /media/cdrom/image/pxelinux/{vmlinuz,initrd.img} (復制內核和initrd過去)
3.進行配置dhcp服務器:
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf 把例子的配置文件復制過來進行覆蓋和修改配置。
上面的next-server參數是為了給安裝主機一個ip地址后,讓他加載這個IP地址的服務器,然后加載filename定義的文件。
service dhcp start (注意:dhcp服務器的主機要使用靜態地址)
3.配置http服務器
mkdir /var/www/html/centos6
mount –bind /media/cdrom /var/www/html/centos6(提供repo源)
service httpd start
4.創建ks文件
我們要使用system-config-kickstart這個工具,要進行安裝,這個工具可以圖形配置我們安裝系統的配置
這里我會加載我配置好的ks文件。
配置 安裝時的語言 鍵盤的語言類型 時區 root的密碼 還有安裝后重啟
根據什么方式來獲取安裝的源和安裝源在哪
clear master boot record 這個一定要選 不讓在安裝時,會有交互。
要創建lvm要在ks文件中手動加上去,這里不支持lvm創建
對你的系統需要的包或包組進行安裝。
用ss命令檢查服務是否處于監聽狀態
還有把iptables服務關閉
開始測試:
好了,我們可以等待它安裝完成了!
最后,總結我做的過程中出現的錯誤:
由于我的ks文件中存在一個錯誤行:
repo –name="CentOS" –baseurl=cdrom:sr0 –cost=100
這個行是說用光盤提供安裝源的,我們是基于http的安裝源,所以,我把這行去了就ok了!
原創文章,作者:13-廣州-楊過,如若轉載,請注明出處:http://www.www58058.com/6937