1. 程式人生 > >cobbler簡學

cobbler簡學

目錄 集中化管理 不同 wake 人工幹預 局限 開發 繼承 模板文件

回顧pxe+kickstart

PXE(preboot execute environment,預啟動執行環境) PXE啟動原理: 當計算機引導時,BIOS把 PXE Client 調入內存中執行,然後由 PXE Client 將放置在遠端的文件通過網絡下載到本地運行。 技術分享 技術分享 技術分享 PXE工作原理示意圖說明: 1. Client向PXE Server上的DHCP發送IP地址請求消息,DHCP檢測Client是否合法(主要是檢測Client的網卡MAC地址),如果合法則返回Client的IP地址,同時將啟動文件pxelinux.0的位置信息一並傳送給Client。 2. Client向PXE Server上的TFTP發送獲取pxelinux.0請求消息,TFTP接收到消息之後再向Client發送pxelinux.0大小信息,試探Client是否滿意,當TFTP收到Client發回的同意大小信息之後,正式向Client發送pxelinux.0。 3. Client執行接收到的pxelinux.0文件。 4. Client向TFTP發送針對本機的配置信息(記錄在TFTP的pxelinux.cfg目錄下),TFTP將配置文件發回Client,繼而Client根據配置文件執行後續操作。 5. Client向TFTP發送Linux內核請求信息,TFTP接收到消息之後將內核文件發送給Client。 6. Client向TFTP發送根文件請求信息,TFTP接收到消息之後返回Linux根文件系統。 7. Client啟動Linux內核(啟動參數已經在4中的配置文件中設置好了)。 8. Client通過NFS下載鏡像文件,讀取autoyast自動化安裝腳本。

KickStart

KickStart是一種無人職守安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工幹預填寫的各種參數,並生成一個名為ks.cfg的文件;在其後的安裝過程中(不只局限於生成KickStart安裝文件的機器)當出現要求填寫參數的情況時,安裝程序會首先去查找KickStart生成的文件,當找到合適的參數時,就采用找到的參數,當沒有找到合適的參數時,才需要安裝者手工幹預。這樣,如果KickStart文件涵蓋了安裝過程中出現的所有需要填寫的參數時,安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然後去忙自己的事情。等安裝完畢,安裝程序會根據ks.cfg中設置的重啟選項來重啟系統,並結束安裝。 我們可以簡單理解為一個自動安裝應答配置管理程序。通過讀取這個配置文件,系統知道怎麽去分區,要安裝什麽包,配什麽IP,優化什麽內核參數等等。 其主要有以下部分組成: Kickstart安裝選項:包含語言的選擇,防火墻,密碼,網絡,分區的設置等; %Pre部分:安裝前解析的腳本,通常用來生成特殊的ks配置,比如由一段程序決定磁盤分區等; %Package部分:安裝包的選擇,可以是@core這樣的group的形式,也可以是這樣vim-*包的形式; %Post部分:安裝後執行的腳本,通常用來做系統的初始化設置。比如啟動的服務,相關的設定等;

Cobbler簡介

1、Cobbler概述 Cobbler是一款自動化操作系統安裝的實現,由python語言開發,是對PXE和Kickstart以及DHCP的封裝。 與pxe的不同: 1.提供web界面,鼠標點一點,就可以完成很多操作 2.可以同時部署多個版本的系統 3.提供了api接口,易擴展 4.還能結合Puppet,ansible等集中化管理軟件,實現自動化的管理。 2、Cobbler的設計方式 Cobbler 的配置結構基於一組註冊的對象。每個對象表示一個與另一個實體相關聯的實體(該對象指向另一個對象,或者另一個對象指向該對象)。當一個對象指向另一個對象時,它就繼承了被指向對象的數據,並可覆蓋或添加更多特定信息。以下對象類型的定義為:
  • 發行版:表示一個操作系統。它承載了內核和 initrd 的信息,以及內核參數等其他數據。
  • 配置文件:包含一個發行版、一個 kickstart 文件以及可能的存儲庫,還包含更多特定的內核參數等其他數據。
  • 系統:表示要配給的機器。它包含一個配置文件或一個鏡像,還包含 IP 和 MAC 地址、電源管理(地址、憑據、類型)以及更為專業的數據等信息。
  • 存儲庫:保存一個 yum 或 rsync 存儲庫的鏡像信息。
  • 鏡像:可替換一個包含不屬於此類別的文件的發行版對象(例如,無法分為內核和 initrd 的對象)。
基於註冊的對象以及各個對象之間的關聯,Cobbler 知道如何更改文件系統以反映具體配置。因為系統配置的內部是抽象的,所以您可以僅關註想要執行的操作。Cobbler 對象關系圖如下: 技術分享 3、Cobbller工作原理 技術分享 下面我們來簡單的說明一下, Server端:
  1. 第一步,啟動Cobbler服務
  2. 第二步,進行Cobbler錯誤檢查,執行cobbler check命令
  3. 第三步,進行配置同步,執行cobbler sync命令
  4. 第四步,復制相關啟動文件文件到TFTP目錄中
  5. 第五步,啟動DHCP服務,提供地址分配
  6. 第六步,DHCP服務分配IP地址
  7. 第七步,TFTP傳輸啟動文件
  8. 第八步,Server端接收安裝信息
  9. 第九步,Server端發送ISO鏡像與Kickstart文件
Client端:
  1. 第一步,客戶端以PXE模式啟動
  2. 第二步,客戶端獲取IP地址
  3. 第三步,通過TFTP服務器獲取啟動文件
  4. 第四步,進入Cobbler安裝選擇界面
  5. 第五步,客戶端確定加載信息
  6. 第六步,根據配置信息準備安裝系統
  7. 第七步,加載Kickstart文件
  8. 第八步,傳輸系統安裝的其它文件
  9. 第九步,進行安裝系統
4、Cobbler功能 為了協助管理系統,Cobbler 可通過 fence scripts 連接到各種電源管理環境。Cobbler 支持 apc_snmp、bladecenter、bullpap、drac、ether_wake、ilo、integrity、ipmilan、ipmitool、lpar、rsa、virsh 和 wti。 除了這些特性,還可使用一個配置管理系統 (CMS)。您有兩種選擇:該工具內的一個內部系統,或者集成一個現有的外部 CMS,比如 Chef 或 Puppet。借助內部系統,您可以指定文件模板,這些模板會依據配置參數進行處理(與 kickstart 模板的處理方式一樣),然後復制到您指定的位置。如果必須自動將配置文件部署到特定機器,那麽此功能很有用。 使用 koan 客戶端,Cobbler 可從客戶端配置虛擬機並重新安裝系統。 5. Cobbler目錄說明 1、Cobbler配置文件目錄:/etc/cobbler /etc/cobbler/settings #cobbler主配置文件 /etc/cobbler/dhcp.template #DHCP服務的配置模板 /etc/cobbler/tftpd.template #tftp服務的配置模板 /etc/cobbler/rsync.template #rsync服務的配置模板 /etc/cobbler/iso #iso模板配置文件 /etc/cobbler/pxe #pxe模板文件 /etc/cobbler/power #電源的配置文件 /etc/cobbler/users.conf #Web服務授權配置文件 /etc/cobbler/users.digest #用於web訪問的用戶名密碼配置文件 /etc/cobbler/dnsmasq.template #DNS服務的配置模板 /etc/cobbler/modules.conf #Cobbler模塊配置文件 2、Cobbler數據目錄:/var/lib/cobbler /var/lib/cobbler/config #配置文件 /var/lib/cobbler/triggers #Cobbler命令 /var/lib/cobbler/kickstarts #默認存放kickstart文件 /var/lib/cobbler/loaders #存放的各種引導程序 3、系統安裝鏡像目錄:/var/www/cobbler /var/www/cobbler/ks_mirror #導入的系統鏡像列表 /var/www/cobbler/images #導入的系統鏡像啟動文件 /var/www/cobbler/repo_mirror #yum源存儲目錄 4、日誌目錄:/var/log/cobbler /var/log/cobbler/install.log #客戶端系統安裝日誌 /var/log/cobbler/cobbler.log #cobbler日誌

安裝cobbler

安裝前的考慮: 規劃化硬盤 需要空間來放ios鏡像 /var/www空間要大一些

cobbler簡學