方法:FTP+TFTP+DHCP+Kickstart+PXE
從網絡引導系統的作法能夠沒必要從硬盤、軟盤或者CD-ROM光盤,而是徹底經過網絡來引導一臺計算機。這對於安裝來講很方便,由於它意味着你能夠坐在桌子旁邊,沒必要走到機器那裏插入CD-ROM光盤或者軟盤,就能夠從網絡上引導位於別處的一臺機器。
PXE的做用就像是在網卡上ROM裏的一小小操做系統,它經過一個標準API把自已的網絡引導功能提供給系統的BIOS,就能夠經過網絡啓動linux;PXE網絡引導過程:一臺主機廣播一個設置了PXE選項的DHCP「發現」請求,而後一臺DHCP服務器用一個包含有PXE選項的DHCP包來響應它(引導服務器的IP地址和引導文件的名字)。客戶機經過TFTP下載它的引導文件,而後執行這個引導文件。
Red Hat用於執行自動安裝的工具叫作kickstart,由system-config-kickstart工具生成kickstart的配置文件ks.cfg.
實驗環境:準備兩臺虛擬機,一臺做爲測試環境(RHEL6,IP爲192.168.10.1),另外一臺做爲RHEL6被安裝端,設置網絡引導安裝。
安裝所須要的服務及修改相應配置文件:
1.用yum來安裝所須要的軟件包,先來搭建yum光盤源:
[root@test1 ~]# mount /dev/cdrom /mnt
在/etc/yum.repos.d目錄下建立一個以.repo結尾的文件:
[root@test1 ~]# vi /etc/yum.repos.d/serverl.repo
配置內容以下:
2.安裝ftp服務以及開啓服務,設置爲開機自動啓動。
[root@test1 ~]# yum install vsftpd –y
[root@test1 ~]# /etc/init.d/vsftpd start
[root@test1 ~]# chkconfig vsftpd on
3.安裝TFTP,修改tftp配置文件及開啓服務
[root@test1 ~]# yum install tftp –y
[root@test1 ~]# yum install tftp-server –y
修改配置文件裏面的13,14行
接着從新啓動xinetd服務,而後查看服務端口是否打開。
[root@test1 ~]# /etc/init.d/xinetd restart
OK,TFTP服務正常啓動。Xinetd服務原本就是開機啓動的,因此這裏咱們再也不須要設置。
4.安裝dhcp,修改配置文件及開啓服務:
[root@test1 ~]# yum install dhcp –y
第9,10行是網絡引導須要的配置,必需要有的。
接着啓動DHCP,設置爲開機啓動
[root@test1 ~]# /etc/init.d/dhcpd start
[root@test1 ~]# chkconfig dhcpd on
準備工做完成,咱們開始配置Kickstart
[root@test1 ~]# mkdir /tftpboot
[root@test1 ~]# mkdir /tftpboot/pxelinux.cfg
[root@test1 ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/
----若是找不到syslinux目錄,須要安裝包yum installsyslinux –y
[root@test1 ~]# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
[root@test1 ~]# cp /mnt/p_w_picpaths/pxeboot/initrd.img /tftpboot/
[root@test1 ~]# cp /mnt/p_w_picpaths/pxeboot/vmlinuz /tftpboot/
[root@test1 ~]# chmod 644 /tftpboot/pxelinux.cfg/default
而後修改/tftpboot/pxelinux.cfg/default的配置文件。
文件裏面須要修改兩行,修改第1行,後面的linux意思是尋找下面18行的label linux,而後修改下22行(即在後面添加ks=ftp://192.168.10.1/ks.cfg)。第22行的意思是使安裝程序經過FTP服務器訪問kickstart文件。
其中第1行:default linux表示指定默認入口名稱;第2行:prompt 1中prompt用來設置是否等待用戶選擇,1表示等待用戶控制;第18、23、27、31行label linux表示定義的引導入口,表示系統的不一樣安裝方式,如第18行定義的入口表示圖形安裝。
配置文件修改完了,要開始自動安裝,安裝程序必須能訪問kickstart文件。有多種方法可訪問kickstart文件,其中最經常使用的一種方法是經過網絡服務器進行,例如:ftp服務器、WEB服務器或NFS服務器,這種方法很是易於部署,而且也使管理更改變得十分簡單。也能夠經過USB磁盤、CD-ROM或本地硬盤。若是USB或CD-ROM中的kickstart文件很是便於訪問,只需將kickstart文件放置在用來開始安裝的引導介質中。而使用DHCP服務器和TFTP及PXE配置起來更爲複雜。
使安裝程序指向kickstart文件的書寫格式以下:
ks=ftp://server/dir/file 如:ks=ftp://ftp服務器IP/ks.cfg
ks=http://server/dir/file 如:ks=http://http服務器IP/ks.cfg
ks=nfs:server:/dir/file 如:ks=nfs:nfs服務器IP:/var/ftp/pub/ks.cfg
ks=hd:device:/dir/file 如:ks=hd:sdb1:/kickstar-files/ks.cfg
ks=cdrom:/dir/file 如:ks=cdrom:/kickstart-files/ks.cfg
以上有關default配置文件的修改就是經過ftp服務器方式來訪問kickstart文件。接下來咱們製做kickstart的無人值守安裝文件。要安裝system-config-kickstart軟件包
接下來咱們打開終端輸入system-config-kickstart彈出來界面。
咱們設置下默認安裝的語言,時區,根口令,而後勾選下面的安裝後從新引導。而後選擇安裝方法。
咱們配置ftp服務器的安裝方法。選擇執行新安裝。而後點擊引導裝載程序選項
參考我上面的選擇。接着
到這一步,選擇部分參考個人。佈局這裏,咱們本身設置下分區大小。
網絡這裏,默認沒有,點擊添加網絡,設備名稱爲eth0,網絡類型爲dhcp
參考個人配置
防火牆和selinux根據本身需求選擇開啓或者禁用
在這裏勾選一些包,默承認能沒有勾選桌面。根據本身需求勾選。後面剩餘的兩項不須要配置。
安裝腳本:在「預安裝腳本」,「安裝後腳本」對話框中,能夠分別添加在安裝前、安裝後自動動行的可執行語句。此項設置使服務器自動化配置變得更加容易,例如能夠在客戶機在完成安裝後自動設置YUM倉庫,以下圖所示,須要注意的是:應確保所編寫的代碼可以正確執行,以避免安裝失敗。
而後點擊左上角的文件選擇保存,選擇下保存的路徑,而後複製ks.cfg文件到/var/ftp目錄下:
[root@test1 ~]#cp ks.cfg /var/ftp
注:ks.cfg就是無人值守安裝時要用的Kickstart文件,該文件能夠手動進行編輯,若是手動編輯Kickstart文件,則使用ksvalidator來驗證該文件使用正確的關鍵字,但卻沒法驗證URL路徑、各個數據包或組等書寫錯誤。Ksvalidator是system-config-kickstart數據包的一部分,所以必需要安裝該軟件包
---還記的/tftpboot/pxelinux.cfg/default文件中設置過ks=ftp://192.168.10.1/ks.cfg所以必須執行上面的一步
從新掛載RHEL6安裝光盤到/var/ftp/pub目錄下,開始執行另外一臺機器的無人值守安裝:
[root@test1 ~]#umount /dev/cdrom //原來是掛載到/mnt下的
[root@test1 ~]#mount /dev/cdrom /var/ftp/pub
注意:
建議關閉防火牆和selinux,若是沒有關閉的話,tftp服務會有問題。不信能夠試試。
設置防火牆:
#iptables -F
#service iptables save
關畢selinux功能:有以下兩種方法能夠實現
1) 永久關閉selinux功能:修改/etc/sysconfig/selinux文件,將SELINUX=enforcing改成disable,要重啓系統才生效
2) 臨時關閉selinux功能:#setenforce 0 不須要重啓系統
若使用vmware虛擬機,要把vmware虛擬機軟件所提供的DHCP功能停掉