RHEL6 Kickstart無人值守安裝
方法:DHCP+TFTP+VSFTP+Kickstart
從網絡引導系統的做法可以不必從硬盤、軟盤或者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 install syslinux –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功能停掉