實戰描述:
xxx公司所服務的用戶IT環境中有很多的Linux系統,品種也五花八門,有RHEL、Centos、OpenSUSE甚至還有測試環境使用的RockyLinux。當有大量的計算機需要同時安裝操作系統需求的時候,如果通過光驅的方式一個個安裝,不僅效率低,也不利於維護,此時可以通過批量自動化安裝來實現。
要想實現批量自動化安裝Linux系統,需要有一台dhcpserver,通過DHCP服務負責給網絡中的計算機分配IP地址,子網掩碼及默認網關等必要的網絡配置;也需要有tftp-server,負責遠程傳輸文件;同時也需要負責搭建web應用,發布系統相關的鏡像;最后,還需要PXE預啟動執行環境,通過網絡實現多個計算機批量部署,即靜默方式或無應答式的自動批量部署。
接下來,我們查看如何具體實現。
實戰環境:
一台RHEL7.x虛擬機作為部署環境,集成了dhcpserver服務、tftpserver服務,http服務以及PXE。需要注意的是,如果是vmware workstation環境下,需要關掉vmware dhcp的服務,開始->運行->services.msc。
具體實現:
修改主機名並編輯/etc/hosts文件實現IP與主機名對應
首先,修改主機名:
之后,編輯/etc/hosts文件,添加如下內容:
##關閉防火牆
通過systemd關閉並禁用firewalld防火牆。
安裝syslinux、tftp、dhcp、http等軟件包
配置dhcp主配置文件
dhcp的主配置文件名稱是dhcpd.conf,然而在/etc/dhcp/目錄下並沒有這個文件。在dhcp安裝好后,會有一個模板路徑具體是在/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example。
看過了模板文件后,我們要做的就是參考模板文件配置成屬於我們自己的dhcpd.conf,配置如下:
##配置tftp
修改/etc/xinetd.d/tftp這個配置文件,將disable由默認的yes改為no
復制PXE系統啟動時所需要的文件至tftp發布目錄/tftpboot
上傳ISO或wget或vm里直接掛載
無論哪種方式進行掛載操作系統ISO,比如掛載到/mnt目錄下,我們要把所有文件復制到Apache的默認website目錄/var/www/html中。
最后再復制安裝光盤的啟動文件到相應目錄。
創建PXE啟動菜單
上述配置中ks文件是rhel7的自動安裝的配置文件,10.60.100.101是PXE服務器的IP地址,隨后運行如下命令創建Kickstart文件所需密文:
##自定義ks文件rhel7.cfg,並保存到/var/www/html目錄
保存好所生成的密文將在下面的Kickstart文件中使用,至於自動應答文件,可自定義ks文件,並保存到/var/www/html目錄。
啟動相關服務
所有配置進行完畢,啟動相關服務。
通過lsof命令查看端口號和服務對應狀態。
結果:
通過vmware workstation新建虛擬機選擇默認從網絡開啟,會看到pxe成功引導了操作系統,剩下的就交給kickstart實現自動化靜默安裝就好。