天天看點

Centos6.3自動安裝

 HTTP+TFTP+DHCP+Kickstart+PXE

從網絡引導系統的做法可以不必從硬碟、軟碟或者CD-ROMCD光牒,而是完全通過網絡來引導一台計算機。這對于安裝來說很友善,因為它意味着你可以坐在桌子旁邊,不必走到機器那裡插入CD-ROMCD光牒或者軟碟,就可以從網絡上引導位于别處的一台機器。

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

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

實驗環境:準備兩台虛拟機,一台作為測試環境(Centos6.3,IP為192.168.50.1),另一台作為被安裝端,設定網絡引導安裝。

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

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

Centos6.3自動安裝

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

[root@test1 ~]# yum install httpd  –y

[root@test1 ~]# /etc/init.d/httpd start

[root@test1 ~]# chkconfig httpd on、

[root@test1 ~]#cd /var/www/html

[root@test1 ~]#mkdir data && chown apache.apache *

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

[root@test1 ~]# yum install tftp  –y

[root@test1 ~]# yum install tftp-server  –y

[root@test1 ~]#vim /etc/xinet.d/tftp

Centos6.3自動安裝

修改配置檔案裡面的13,14行

接着重新啟動xinetd服務,然後檢視服務端口是否打開。

[root@test1 ~]# /etc/init.d/xinetd restart

[root@test1 ~]#lsof -i :69

Centos6.3自動安裝

OK,TFTP服務正常啟動。重新開機Xinetd服務并設為開機自啟動。

[root@test1 ~]#service xinetd restart

[root@test1 ~]#chkconfig xinetd on

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

[root@test1 ~]# yum install dhcp  –y

[root@test1 ~]#vim /etc/dhcp/dhcpd.conf

第7,8行是網絡引導需要的配置,必須要有的。

Centos6.3自動安裝

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

[root@test1 ~]# /etc/init.d/dhcpd start

[root@test1 ~]# chkconfig dhcpd on

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

[root@test1 ~]# mkdir –p /tftpboot/pxelinux.cfg

[root@test1 ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/

---- 如果找不到 syslinux 目錄,需要安裝包 yum  install  system-config-kickstart.noarch  –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

[root@test1 ~]#vim /tftpboot/pxelinux.cfg/default

Centos6.3自動安裝

然後修改/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磁盤、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配置檔案的修改就是通過web伺服器方式來通路kickstart檔案。接下來我們制作kickstart的無人值守安裝檔案。

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

Centos6.3自動安裝

我們設定下預設安裝的語言,時區,根密碼,然後勾選下面的安裝後重新開機。然後選擇安裝方法。

Centos6.3自動安裝

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

Centos6.3自動安裝

參考我上面的選擇。接着

Centos6.3自動安裝

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

Centos6.3自動安裝

網絡這裡,預設沒有,點選添加網絡,裝置名稱為eth0,網絡類型為dhcp

Centos6.3自動安裝

參考我的配置

Centos6.3自動安裝

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

Centos6.3自動安裝

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

Centos6.3自動安裝

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

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

[root@test1 ~]#cp ks.cfg  /var/www/html/

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

--- 還記的 /tftpboot/pxelinux.cfg/default 檔案中設定過 ks=http://192.168.50.1/ks.cfg 是以必須執行上面的一步 挂載 Centos 安裝CD光牒到 /var/www/html/data 目錄下,開始執行另一台機器的無人值守安裝

[root@test1 ~]#umount /dev/cdrom 

[root@test1 ~]#mount /dev/cdrom /var/www/html/data

注意:

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

設定防火牆:

#iptables  -F

#service  iptables  save

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

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

繼續閱讀