linux kickstart 無人值守安裝
首先介紹下kickstart的工作原理和環境需要:
kickstart是藉助pxe協議實現的
Pxe是由intel設計的協議,他可以是計算機通過網路啟動,在網路發展越來越迅速的今天,這項協議和技術更顯珍貴,此項協議通過網路爸網路上的計算機系統下載安裝到本地計算機,要通過網路傳送就需要ip地址,因此在過程中就需要伺服器端有dhcp伺服器,還有就是ftp伺服器,還需配置tftp伺服器,用於提供客戶端pxe引導所必須的檔案
以下是無人值守安裝的過程詳解:
第一步:PXE Client向DHCP傳送請求
首先,將支援PXE的網路介面卡(NIC)的客戶端的BIOS設定成為網路啟動,通過PXE BootROM(自啟動晶片)會以UDP(簡單使用者資料報協議)傳送一個廣播請求,向網路中的DHCP伺服器索取IP地址等資訊。
第二步:DHCP伺服器提供資訊
DHCP伺服器收到客戶端的請求,驗證是否來至合法的PXE Client的請求,驗證通過它將給客戶端一個“提供”響應,這個“提供”響應中包含了為客戶端分配的IP地址、pxelinux啟動程式(TFTP)位置,以及配置檔案所在位置。
第三步:PXE客戶端請求下載啟動檔案
客戶端收到伺服器的“迴應”後,會迴應一個幀,以請求傳送啟動所需檔案。這些啟動檔案包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等檔案。
第四步:Boot Server響應客戶端請求並傳送檔案
當伺服器收到客戶端的請求後,他們之間之後將有更多的資訊在客戶端與伺服器之間作應答, 用以決定啟動引數。BootROM 由 TFTP 通訊協議從Boot Server下載啟動安裝程式所必須的檔案(pxelinux.0、pxelinux.cfg/default)。default檔案下載完成後,會根據該檔案中定義的引導順序,啟動Linux安裝程式的引導核心。
第五步:請求下載自動應答檔案
客戶端通過pxelinux.cfg/default檔案成功的引導Linux安裝核心後,安裝程式首先必須確定你通過什麼安裝介質來安裝linux,如果是通過網路安裝(NFS, FTP, HTTP),則會在這個時候初始化網路,並定位安裝源位置。或許你會說,剛才PXE不是已經獲取過IP地址了嗎?為什麼現在還需要一次?這是由於PXE獲取的是安裝用的核心以及安裝程式等,而安裝程式要獲取的是安裝系統所需的二進位制包以及配置檔案。由於它們需要的內容不同造成PXE模組和安裝程式是相對獨立的,PXE的網路配置並不能傳遞給安裝程式。從而進行兩次獲取IP地址過程。
接著會讀取該檔案中指定的自動應答檔案ks.cfg所在位置,根據該位置請求下載該檔案。
第六步:客戶端安裝作業系統
將ks.cfg檔案下載回來後,通過該檔案找到OS Server,並按照該檔案的配置請求下載安裝過程需要的軟體包。
OS Server和客戶端建立連線後,將開始傳輸軟體包,客戶端將開始安裝作業系統。安裝完成後,將提示重新引導計算機。這個時候注意,在重新引導的過程中一定要將BIOS修改回從硬碟啟動,不然的話又會重複的自動安裝作業系統。
在上面介紹中PXE client是需要安裝Linux的計算機,TFTP Server、DHCP Server和NFS Server執行在另外一臺Linux Server上。Bootstrap檔案、配置檔案、Linux核心都放置在Linux Server上TFTP伺服器的根目錄下。而Linux根檔案系統存放於NFS Server的共享目錄中。
PXE client在工作過程中,需要三個二進位制檔案:bootstrap、Linux 核心和Linux根檔案系統。Bootstrap檔案是可執行程式,它向用戶提供簡單的控制介面,並根據使用者的選擇,下載合適的Linux核心以及Linux根檔案系統。
以下是案例截圖
安裝kicktart
安裝ftp
Tftp預設安裝過
由於tftp服務區是依賴於超級守護程序 我們要編輯檔案 /etc/xinetd.d/tftp,所該的值表示由使用者請求的時候喚醒 disable 的引數值預設yes改為no
修改後啟動tftp服務 由於依賴於超級守護程序 我們啟動的方法用下面方法:
由於剛開始一個機器沒有任何東西 他需要到tftp上下載一些驅動和引導核心我們要把一些驅動和核心檔案拷過去
由於機器從tftp伺服器上下載的時候也需要一些系統給的提示檔案之類的東西 我們還需要給拷貝一些東西到指定建立的目錄內
配置tftp伺服器:
安裝dhcp
配置dhcp伺服器
啟動dhcp服務
啟動ftp服務
切換到光碟 把光碟檔案拷到ftp的pub目錄
配置pxe 切換到 根目錄下的cd /tftpboot/pxelinux.cfg/ vim 開啟 default (自己建立的目錄)
配置kickstart
下面截圖中的指令碼是為了讓機器安裝後不與其他機器重名
將ks.cfg 拷貝到ftp目錄下 可以讓機器安裝系統時能找到檔案
以下截圖為安裝的過程 完全做到無人操作 可以用於批量網路安裝
安裝後重啟
重啟後自動獲得地址
指令碼的作用 在重啟後的到的地址的同時給主機一個名字
轉載於:https://blog.51cto.com/zhaoweinana/952370