1. 程式人生 > 其它 >徹底解放你,Linux 無人值守安裝

徹底解放你,Linux 無人值守安裝

每位網路技術從業者都應該被安裝系統折磨過,安裝中總是會遇到各種各樣的奇葩問題,今天為大家發福利了,無人值守安裝方案讓你從痛苦的安裝過程中徹底解放出來!!

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

PXE的作用就像是在網絡卡上ROM裡的一小小作業系統,它通過一個標準API把自已的網路引導功能提供給系統的BIOS,就可以通過網路啟動Linux。

PXE網路引導過程:一臺主機廣播一個設定了PXE選項的DHCP來發出請求,然後一臺DHCP伺服器用一個包含有PXE選項的DHCP包來響應它(引導伺服器的IP地址和引導檔案的名字)。客戶機通過TFTP方式下載它的引導檔案,然後執行這個引導檔案。

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

環境:兩臺計算機(實驗時可以用虛擬機器模擬),一臺作為服務端,另一臺作為被安裝端,設定啟動方式為網路引導。

方法工具:FTP+TFTP+DHCP+Kickstart+PXE

一.安裝需要的服務和修改相應配置檔案

1.1 用yum來安裝所需要的軟體包,先搭建yum光碟源

PS:這裡使用光碟源,使用網路源也可以

[root@test1 ~]# mount /dev/cdrom /mnt

在/etc/yum.repos.d目錄下建立一個以.repo結尾的檔案:

[root@test1 ~]# vi /etc/yum.repos.d/serverl.repo

配置內容如下:

1.2 安裝ftp服務以設定為開機自動啟動

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

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

[root@test1 ~]# chkconfig vsftpd on

1.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

TFTP服務正常啟動,Xinetd服務本來就是開機啟動的,所以這裡我們不再需要設定。

1.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目錄,需要安裝system-config-kickstart.noarch

yum install system-config-kickstart.noarch –y

[root@test1 ~]# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

[root@test1 ~]# cp /mnt/images/pxeboot/initrd.img /tftpboot/

[root@test1 ~]# cp /mnt/images/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檔案。

配置檔案修改完了,要開始自動安裝,安裝程式必須能訪問kickstart檔案,有多種方法可訪問kickstart檔案,其中最常用的一種方法是通過網路伺服器進行,例如:ftp伺服器、WEB伺服器或NFS伺服器,這種方法非常易於部署,並且也使管理更改變得十分簡單。

使安裝程式指向kickstart檔案的書寫格式如下:

ks=ftp://server/dir/file 如:ks=ftp://ftp伺服器IP/ks.cfg

ks=如:ks=伺服器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彈出來介面。

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

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

參考上面的選擇

佈局這裡,自己設定下分割槽大小

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

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

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

然後點選左上角的檔案選擇儲存,選擇儲存的路徑,然後複製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因此必須執行上面的一步

重新掛載安裝光碟到/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功能停掉

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