標籤:rhel6
RHEL6Kickstart無人值守安裝
方法: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光碟片源:
[[email protected]~]# mount /dev/cdrom /mnt
在/etc/yum.repos.d目錄下建立一個以.repo結尾的檔案:
[[email protected]~]# vi /etc/yum.repos.d/serverl.repo
配置內容如下:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/37/76/wKioL1Os5faw84YmAAByJzFivSY552.jpg" style="float:none;" title="1.png" alt="wKioL1Os5faw84YmAAByJzFivSY552.jpg" />
2.安裝ftp服務以及開啟服務,設定為開機自動啟動。
[[email protected]~]# yum install vsftpd –y
[[email protected]~]# /etc/init.d/vsftpd start
[[email protected]~]# chkconfig vsftpd on
3.安裝TFTP,修改tftp設定檔及開啟服務
[[email protected]~]# yum install tftp –y
[[email protected]~]# yum install tftp-server –y
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/37/77/wKiom1Os5iWB7zmJAADTnV4fpZg161.jpg" style="float:none;" title="2.png" alt="wKiom1Os5iWB7zmJAADTnV4fpZg161.jpg" />
修改設定檔裡面的13,14行
接著重新啟動xinetd服務,然後查看服務連接埠是否開啟。
[[email protected]~]# /etc/init.d/xinetd restart
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/37/76/wKioL1Os5ffSEBkjAABZMHr0r6s637.jpg" style="float:none;" title="3.png" alt="wKioL1Os5ffSEBkjAABZMHr0r6s637.jpg" />
OK,TFTP服務正常啟動。Xinetd服務本來就是開機啟動的,所以這裡我們不再需要設定。
4.安裝dhcp,修改設定檔及開啟服務:
[[email protected]~]# yum install dhcp –y
第9,10行是網路引導需要的配置,必須要有的。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/37/77/wKiom1Os5iWA4lzkAADL-ETIwqI519.jpg" style="float:none;" title="4.png" alt="wKiom1Os5iWA4lzkAADL-ETIwqI519.jpg" />
接著啟動DHCP,設定為開機啟動
[[email protected]~]# /etc/init.d/dhcpd start
[[email protected]~]# chkconfig dhcpd on
準備工作完成,我們開始配置Kickstart
[[email protected]~]# mkdir /tftpboot
[[email protected]~]# mkdir /tftpboot/pxelinux.cfg
[[email protected]~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/
----如果找不到syslinux目錄,需要安裝包yum install syslinux –y
[[email protected]~]# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
[[email protected]~]# cp /mnt/images/pxeboot/initrd.img /tftpboot/
[[email protected]~]# cp /mnt/images/pxeboot/vmlinuz /tftpboot/
[[email protected]~]# chmod 644 /tftpboot/pxelinux.cfg/default
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/37/76/wKioL1Os5ffSGDDGAAIY6kI_aPY262.jpg" style="float:none;" title="5.png" alt="wKioL1Os5ffSGDDGAAIY6kI_aPY262.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/37/77/wKiom1Os5iXBrlyKAADA5Wa90H8553.jpg" style="float:none;" title="6.png" alt="wKiom1Os5iXBrlyKAADA5Wa90H8553.jpg" />
然後修改/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行labellinux表示定義的引匯入口,表示系統的不同安裝方式,如第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的無人值守安裝檔案。
(需要安裝包yum install system-config-kickstart.noarch –y)
接下來我們開啟終端輸入system-config-kickstart彈出來介面。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/37/76/wKioL1Os5hKhkwMzAAITgw98mOY219.jpg" style="float:none;" title="7.png" alt="wKioL1Os5hKhkwMzAAITgw98mOY219.jpg" />
我們設定下預設安裝的語言,時區,根口令,然後勾選下面的安裝後重新引導。然後選擇安裝方法。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/37/76/wKioL1Os5hKSzX2jAAE_PvPTbzk359.jpg" style="float:none;" title="8.png" alt="wKioL1Os5hKSzX2jAAE_PvPTbzk359.jpg" />
我們配置ftp伺服器的安裝方法。選擇執行新安裝。然後點擊引導裝載程式選項650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/37/77/wKiom1Os5kHSfZqoAAF180nwSbY857.jpg" style="float:none;" title="9.png" alt="wKiom1Os5kHSfZqoAAF180nwSbY857.jpg" />
參考我上面的選擇。接著
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/37/77/wKiom1Os5kGgDhg3AAHCQUBGx_Q076.jpg" style="float:none;" title="10.png" alt="wKiom1Os5kGgDhg3AAHCQUBGx_Q076.jpg" />
到這一步,選擇部分參考我的。布局這裡,我們自己設定下分區大小。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/37/76/wKioL1Os5hPBJwmEAAFz5Mdknsg107.jpg" style="float:none;" title="11.png" alt="wKioL1Os5hPBJwmEAAFz5Mdknsg107.jpg" />
網路這裡,預設沒有,點擊添加網路,裝置名稱為eth0,網路類型為dhcp
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/37/76/wKioL1Os5hSTllURAAEy0Ann6G8154.jpg" style="float:none;" title="12.png" alt="wKioL1Os5hSTllURAAEy0Ann6G8154.jpg" />
參考我的配置
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/37/77/wKiom1Os5kOjITFsAAEraRRPxgw333.jpg" style="float:none;" title="13.png" alt="wKiom1Os5kOjITFsAAEraRRPxgw333.jpg" />
防火牆和selinux根據自己需求選擇開啟或者禁用
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/37/76/wKioL1Os5hSDWsTHAADKVxtPVec341.jpg" style="float:none;" title="14.png" alt="wKioL1Os5hSDWsTHAADKVxtPVec341.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/37/77/wKiom1Os5kOxBJ46AAGs5blEkUA839.jpg" style="float:none;" title="15.png" alt="wKiom1Os5kOxBJ46AAGs5blEkUA839.jpg" />
在這裡勾選一些包,預設可能沒有勾選案頭。根據自己需求勾選。後面剩餘的兩項不需要配置。
安裝指令碼:在“預先安裝指令碼”,“安裝後指令碼”對話方塊中,可以分別添加在安裝前、安裝後自動動行的可執行語句。此項設定使伺服器自動化配置變得更加容易,例如可以在客戶機在完成安裝後自動化佈建YUM倉庫,如所示,需要注意的是:應確保所編寫的代碼能夠正確執行,以免安裝失敗。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/37/76/wKioL1Os5hWCrtqGAAIOFwLTJLE520.jpg" style="float:none;" title="16.png" alt="wKioL1Os5hWCrtqGAAIOFwLTJLE520.jpg" />
然後點擊左上方的檔案選擇儲存,選擇下儲存的路徑,然後複製ks.cfg檔案到/var/ftp目錄下:
[[email protected]~]#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目錄下,開始執行另一台機器的無人值守安裝:
[[email protected]~]#umount /dev/cdrom //原來是掛載到/mnt下的
[[email protected]~]#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功能停掉
接下來啟動你要安裝的機器了(設定為網路引導安裝,你就可以休息下,等待自己安裝完成)
附錄:
請思考:如何?HTTP+TFTP+DHCP+Kickstart+PXE無人值守安裝
本文出自 “我學我用” 部落格,請務必保留此出處http://593095349.blog.51cto.com/8497121/1431532