1. 程式人生 > 實用技巧 >Centos6.3自動安裝

Centos6.3自動安裝

HTTP+TFTP+DHCP+Kickstart+PXE

從網路引導系統的做法可以不必從硬碟、軟盤或者CDROM光碟,而是完全通過網路來引導一臺計算機。這對於安裝來說很方便,因為它意味著你可以坐在桌子旁邊,不必走到機器那裡插入CDROM光碟或者軟盤,就可以從網路上引導位於別處的一臺機器。

PXE的作用就像是在網絡卡上ROM裡的一小小作業系統,它通過一個標準API把自已的網路引導功能提供給系統的BIOS,就可以通過網路啟動linuxPXE網路引導過程:一臺主機廣播一個設定了PXE選項的DHCP“發現”請求,然後一臺DHCP伺服器用一個包含有PXE選項的DHCP包來響應它(引導伺服器的IP地址和引導檔案的名字)。客戶機通過

TFTP下載它的引導檔案,然後執行這個引導檔案。

Red Hat用於執行自動安裝的工具叫做kickstart,system-config-kickstart工具生成kickstart的配置檔案ks.cfg.

實驗環境:準備兩臺虛擬機器,一臺作為測試環境(Centos6.3IP192.168.50.1),另一臺作為被安裝端,設定網路引導安裝。

安裝所需要的服務及修改相應配置檔案:

1. yum來安裝所需要的軟體包,預設配置即可(這個方法要保證該測試機能夠上網):

2.安裝httpd服務以及開啟服務,設定為開機自動啟動。

[[email protected] ~]# yum install httpd –y

[[email protected] ~]# /etc/init.d/httpd start

[[email protected] ~]# chkconfig httpd on

[[email protected] ~]#cd /var/www/html

[[email protected] ~]#mkdir data && chown apache.apache *

3.安裝TFTP,修改tftp配置檔案及開啟服務

[[email protected] ~]# yum install tftp –y

[[email protected]

~]# yum install tftp-server –y

[[email protected] ~]#vim /etc/xinet.d/tftp

修改配置檔案裡面的1314

接著重新啟動xinetd服務,然後檢視服務埠是否開啟。

[[email protected] ~]# /etc/init.d/xinetd restart

[[email protected] ~]#lsof -i :69

OKTFTP服務正常啟動。重啟Xinetd服務並設為開機自啟動

[[email protected] ~]#service xinetd restart

[[email protected] ~]#chkconfig xinetd on

4.安裝dhcp,修改配置檔案及開啟服務:

[[email protected] ~]# yum install dhcp –y

[[email protected] ~]#vim /etc/dhcp/dhcpd.conf

78行是網路引導需要的配置,必須要有的。

接著啟動DHCP,設定為開機啟動.若啟動失敗則在/var/log/message中檢視錯誤日誌。

[[email protected] ~]# /etc/init.d/dhcpd start

[[email protected] ~]# chkconfig dhcpd on

準備工作完成,我們開始配置Kickstart

[[email protected] ~]# mkdir –p /tftpboot/pxelinux.cfg

[[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/

----如果找不到syslinux目錄,需要安裝包yum install system-config-kickstart.noarch –y

[[email protected] ~]# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

[[email protected] ~]# cp /mnt/p_w_picpaths/pxeboot/initrd.img /tftpboot/

[[email protected] ~]# cp /mnt/p_w_picpaths/pxeboot/vmlinuz /tftpboot/

[[email protected] ~]# chmod 644 /tftpboot/pxelinux.cfg/default

[[email protected] ~]#vim /tftpboot/pxelinux.cfg/default

然後修改/tftpboot/pxelinux.cfg/default的配置檔案。

檔案裡面需要修改兩行,修改第1,後面的linux意思是尋找下面18行的label linux,然後修改下22行(即在後面新增ks=http://192.168.50.1/ks.cfg)。第22行的意思是使安裝程式通過http伺服器訪問kickstart檔案。

配置檔案修改完了,要開始自動安裝,安裝程式必須能訪問kickstart檔案。有多種方法可訪問kickstart檔案,其中最常用的一種方法是通過網路伺服器進行,例如:ftp伺服器、WEB伺服器或NFS伺服器,這種方法非常易於部署,並且也使管理更改變得十分簡單。也可以通過USB磁碟、CDROM或本地硬碟。如果USBCDROM中的kickstart檔案非常便於訪問,只需將kickstart檔案放置在用來開始安裝的引導介質中。而使用DHCP伺服器和TFTPPXE配置起來更為複雜。

使安裝程式指向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配置檔案的修改就是通過web伺服器方式來訪問kickstart檔案。接下來我們製作kickstart的無人值守安裝檔案。

接下來我們開啟終端輸入system-config-kickstart彈出來介面。

我們設定下預設安裝的語言,時區,根口令,然後勾選下面的安裝後重新引導。然後選擇安裝方法。

我們配置HTTP伺服器的安裝方法。選擇執行新安裝。然後點選引導裝載程式選項

參考我上面的選擇。接著

到這一步,選擇部分參考我的。佈局這裡,我們自己設定下分割槽大小。

網路這裡,預設沒有,點選新增網路,裝置名稱為eth0,網路型別為dhcp

參考我的配置

防火牆和selinux根據自己需求選擇開啟或者禁用

這裡由於是伺服器,所以不安裝圖形環境

在這裡勾選一些包,預設可能沒有勾選桌面。根據自己需求勾選。後面剩餘的兩項不需要配置。

然後點選左上角的檔案選擇儲存,選擇下儲存的路徑,然後複製ks.cfg檔案到/var/www/html目錄下:

[[email protected] ~]#cp ks.cfg /var/www/html/

注:ks.cfg就是無人值守安裝時要用的Kickstart檔案,該檔案可以手動進行編輯,如果手動編輯Kickstart檔案,則使用ksvalidator來驗證該檔案使用正確的關鍵字,但卻無法驗證URL路徑、各個資料包或組等書寫錯誤。Ksvalidatorsystem-config-kickstart資料包的一部分,因此必須要安裝該軟體包

---還記的/tftpboot/pxelinux.cfg/default檔案中設定過ks=http://192.168.50.1/ks.cfg因此必須執行上面的一步

掛載Centos安裝光碟到/var/www/html/data目錄下,開始執行另一臺機器的無人值守安裝

[[email protected] ~]#umount /dev/cdrom

[[email protected] ~]#mount /dev/cdrom /var/www/html/data

注意:

建議關閉防火牆和selinux,如果沒有關閉的話,tftp服務會有問題。不信可以試試。

設定防火牆:

#iptables -F

#service iptables save

關畢selinux功能:有如下兩種方法可以實現

1) 永久關閉selinux功能:修改/etc/sysconfig/selinux檔案,將SELINUX=enforcing改為disable,要重啟系統才生效

2) 臨時關閉selinux功能:#setenforce 0 不需要重啟系統


接下來啟動你要安裝的機器了,設定為網路引導安裝,這時你就可以休息下,等待它自己安裝完成了。

轉載於:https://blog.51cto.com/401933263/1066333