Cobbler可以幹什麼
Cobbler是一個快速網絡安裝linux的服務,而且在經過調整也可以支援網絡安裝windows。
使用簡單的指令即可完成PXE網絡安裝環境的配置,同時還可以管理DHCP、DNS、TFTP、RSYNC以及yum倉庫、構造系統ISO鏡像。 Cobbler支援指令行管理,web界面管理,還提供了API接口,可以友善二次開發使用,Cobbler用戶端Koan支援虛拟機安裝和作業系統重新安裝。
Cobbler基礎原理
Cobbler是通過将DHCP、TFTP、DNS、HTTP等服務進行內建,建立一個中央管理節點,其可以實作的功能有配置服務,建立存儲庫,解壓縮作業系統媒介,代理或內建一個配置管理系統,控制電源管理等。 Cobbler的最終目的是實作無需進行人工幹預即可安裝機器。在進行進一步的操作之前,我們有必要先了解下pxe和kickstart 。
PXE概述
預啟動執行環境(Preboot eXecution Environment,PXE,也被稱為預執行環境)是讓計算機通過網卡獨立地使用資料裝置(如硬碟)或者安裝作業系統。Intel 搞出來的。
其工作原理:
PXE Client發送廣播包請求DHCP配置設定IP位址DHCP
Server回複請求,給出IP位址以及Boot
Server的位址PXE下載下傳引導檔案執行引導程式
總結來說,PXE主要是通過廣播的方式發送一個包,并請注擷取一個位址,而後交給TFTP程式下載下傳一個引導檔案。
Kickstart 概述
Kickstart 是紅帽開發的一種工具,我們可以簡單了解為一個自動安裝應答配置管理程式。通過讀取這個配置檔案,系統知道怎麼去分區,要安裝什麼包,配什麼IP,優化什麼核心參數等等。其主要有以下部分組成:
Kickstart 安裝選項,包含語言的選擇,防火牆,密碼,網絡,分區的設定等;
%Pre 部分,安裝前解析的腳本,通常用來生成特殊的ks配置,比如由一段程式決定磁盤分區等;
%Package 部分,安裝包的選擇,可以是 @core 這樣的group的形式,也可以是這樣 vim-* 包的形式;
%Post 部分,安裝後執行的腳本,通常用來做系統的初始化設定。比如啟動的服務,相關的設定等。
Cobbler的設計方式
Cobbler 的配置結構基于一組注冊的對象。每個對象表示一個與另一個實體相關聯的實體(該對象指向另一個對象,或者另一個對象指向該對象)。當一個對象指向另一個對象時,它就繼承了被指向對象的資料,并可覆寫或添加更多特定資訊。以下對象類型的定義為:
發行版:表示一個作業系統。它承載了核心和 initrd 的資訊,以及核心參數等其他資料。
配置檔案:包含一個發行版、一個 kickstart 檔案以及可能的存儲庫,還包含更多特定的核心參數等其他資料。
系統:表示要配給的機器。它包含一個配置檔案或一個鏡像,還包含 IP 和 MAC 位址、電源管理(位址、憑據、類型)以及更為專業的資料等資訊。
存儲庫:儲存一個 yum 或 rsync 存儲庫的鏡像資訊。
鏡像:可替換一個包含不屬于此類别的檔案的發行版對象(例如,無法分為核心和 initrd 的對象)