天天看點

centos7PXE和cobbler自動部署裝機

安裝程式啟動過程

MBR:isolinux/boot.cat

stage2: isolinux/isolinux.bin

配置檔案:isolinux/isolinux.cfg

    每個對應的菜單選項:

    加載核心:isolinuz/vmlinuz

    向核心傳遞參數:append initrd=initrd.img ...

裝載根檔案系統,并啟動anaconda

預設啟動GUI接口,若是顯式指定使用TUI接口:向核心傳遞text參數即可

(1)按tab鍵,在後面增加text

(2)按ESC鍵:boot: linux text

anaconda工作過程

 Anaconda安裝系統分成三個階段:

 安裝前配置階段

    安裝過程使用的語言

    鍵盤類型

    安裝目标儲存設備

    Basic Storage:本地磁盤

    特殊裝置:iSCSI

    設定主機名

    配置網絡接口

    時區

    管理者密碼

    設定分區方式及MBR的安裝位置

    建立一個普通使用者

    標明要安裝的程式包

Cobbler:

快速網絡安裝linux作業系統的服務,支援衆多的Linux發行版:Red Hat、Fedora、CentOS、Debian、Ubuntu和SuSE,也可以支援網絡安裝windows

PXE的二次封裝,将多種安裝參數封裝到一個菜單

Python編寫

提供了CLI和Web的管理形式

Cobbler 工作流程:

client裸機配置了從網絡啟動後,開機後會廣播包請求DHCP伺服器(cobbler server)發送其配置設定好的一個IP

DHCP伺服器(cobbler server)收到請求後發送responese,包括其ip位址

client裸機拿到ip後再向cobbler server發送請求OS引導檔案的請求

cobbler server告訴裸機OS引導檔案的名字和TFTP server的ip和port

client裸機通過上面告知的TFTP server位址通信,下載下傳引導檔案

client裸機執行執行該引導檔案,确定加載資訊,選擇要安裝的os,期間會再向cobbler server請求kickstart檔案和os image

cobbler server發送請求的kickstart和os iamge

client裸機加載kickstart檔案

client裸機接收os image,安裝該os image

實驗機器:  centos7.6伺服器一台(IP位址:192.168.99.130)

實驗環境:需要用的服務: dhcp tftp-server cobbler httpd kickstart

實驗步驟:

1、安裝所需的軟體:  yum install -y dhcp tftp-server cobbler httpd  system-config-kickstart

2、先建立所需要使用的目錄

 ①在網站根目錄下建立

centos7PXE和cobbler自動部署裝機

②把需要用到的centos6和7的CD光牒鏡像挂載到對應的剛建立的目錄下

3、建立生成自動應答檔案,運作system-config-kickstart打開kickstart進行配置

①基礎配置,語言、root密碼設定等

centos7PXE和cobbler自動部署裝機

 ②安裝方法,通過網絡安裝,路徑寫源的路徑即可

centos7PXE和cobbler自動部署裝機

③啟動向導,如果想使用centos6的eth0傳統網卡命名可以添加核心參數 net.ifname=0

centos7PXE和cobbler自動部署裝機

④建立分區大小

centos7PXE和cobbler自動部署裝機

⑤網卡配置

centos7PXE和cobbler自動部署裝機

⑥selinux和防火牆可選擇禁用

centos7PXE和cobbler自動部署裝機

⑦包清單選擇,如果沒有配置本地CD光牒源的話此項是空的,需要配置後才可以使用

centos7PXE和cobbler自動部署裝機

 yum源配置,[ ]  名稱必須設定為development,否則找不着

centos7PXE和cobbler自動部署裝機

 配置好後打開重新配置即可,根據自己需要選擇相應的包

centos7PXE和cobbler自動部署裝機

 ⑧可以自定義一個腳本當系統裝完之後會自動運作,也可以不寫

centos7PXE和cobbler自動部署裝機

儲存檔案到剛剛建立的ksdir目錄下,并設定好權限

 注意權限: chmod 644 /var/www/html/ksdir/ks7.cfg

centos7PXE和cobbler自動部署裝機

4、配置dhcp服務

vim /etc/dhcp/dhcpd.conf

centos7PXE和cobbler自動部署裝機

 5、配置 tftp,準備相關的啟動檔案

cd   /var/lib/tftpboot/

mkdir pxelinux.cfg

cp   /usr/share/syslinux/{pxelinux.0,menu.c32}     /var/lib/tftpboot/    #拷貝啟動檔案和文本菜單,pxelinux.0如果沒有此項則需要安裝,yum install -y syslinux 即可

cp  /var/www/html/centso/7/images/pxeboot/{vmlinuz, initrd.img}    /var/lib/tftpboot/     #拷貝核心檔案,驅動檔案

cp   /var/www/html/centso/7/isolinux/isolinux.cfg   /var/lib/tftpboot/pxelinux.cfg/default    #拷貝菜單項到pxelinux.cfg下并命名為default

6、修改啟動菜單項

centos7PXE和cobbler自動部署裝機

7、啟動服務

centos7PXE和cobbler自動部署裝機

建立虛拟機,調試網卡模式,硬碟大小容量不能小于應答檔案建立分區時的所設定的大小、記憶體大小等參數(注意:centos7最小記憶體必須1.5G以上否則無法安裝)

出現菜單項,選擇需要部署的系統即可

centos7PXE和cobbler自動部署裝機

 若安裝centos7,記憶體低于1.5G就會報錯,如圖

centos7PXE和cobbler自動部署裝機

 二、配置cobbler服務

1、啟動cobbler服務,然後執行cobbler check 讓其進行環境的檢查,出現以下提示,

centos7PXE和cobbler自動部署裝機

2、cobbler 報錯提示和解決

第一條: 修改/etc/cobbler/settings檔案中的server參數的值為提供cobbler服務的主機相應的IP位址或主機名

第二條:修改/etc/cobbler/settings檔案中的next_server參數的值為提供PXE服務的主機相應的IP位址

第三條:如果是centos6上則需要開啟xinetd服務中的tftp服務,centos7不需要

第四條:如果目前節點可以通路網際網路,執行“cobbler get-loaders”指令即可;否則,需要安裝syslinux程式包,而後複制/usr/share/syslinux/{pxelinux.0,memu.c32}等檔案至/var/lib/cobbler/loaders/目錄中

第五條:修改/etc/cobbler/settings檔案,manage_dhcp: 1,并修改下面檔案 /etc/cobbler/dhcp.template

第七條:執行“openssl passwd -1 生成密碼,并用其替換/etc/cobbler/settings檔案中default_password_crypted參數的值

修改:

①先生成一個加密的秘鑰,得到秘鑰後編輯/etc/cobbler/settings檔案,按上面的提示進行修改個别項

101行,修改預設的密碼,替換為剛剛得到的那一串加密的密碼

centos7PXE和cobbler自動部署裝機
centos7PXE和cobbler自動部署裝機

242行,預設值為0(0表示手工修改),修改為1,利用模闆檔案生成dhcp的配置

centos7PXE和cobbler自動部署裝機

272行,修改提供PXE服務的主機相應的IP位址

centos7PXE和cobbler自動部署裝機

384行,修改cobbler服務的主機相應的IP位址或主機名

centos7PXE和cobbler自動部署裝機

 ② 第四條 目前我們的主機可以聯網是以執行執行指令cobbler get-loaders,cobbler會自動的下載下傳相應的啟動加載的一些檔案

centos7PXE和cobbler自動部署裝機

 ③ 修改/etc/cobbler/dhcp.template  cobbler自帶的模闆檔案

centos7PXE和cobbler自動部署裝機

④ 重新開機dhcp服務和cobbler服務,在執行cobbler sync指令進行cobbler配置同步

 3、此時cobbler服務已經可以使用了,找個新機器重新開機,dhcp會配置設定ip位址和tftp伺服器的位址,自動的去找到啟動所需要的檔案

可以看到以下界面,因為我們還沒有導入系統檔案和生成菜單項

centos7PXE和cobbler自動部署裝機

4、下面開始導入鏡像和生成啟動菜單項

distro是菜單項

profile是管理cobbler的應答檔案的

這兩個都是空的,下面開始導入

centos7PXE和cobbler自動部署裝機

② 把6和7的兩張CD光牒檔案拷貝到cobbler裡生成yum

執行指令: cobbler import --path=/var/www/html/centos/6/   --name=Centos6.10-x86_64   --arch=x86_64

centos7PXE和cobbler自動部署裝機

導入完成後再次檢視,剛剛導入了兩套yum源是以生成了兩套菜單distro

centos7PXE和cobbler自動部署裝機

5、導入完後啟動菜單就生成了,此時的應答檔案内容是自帶的,不是我們自己制作的那兩個應答檔案

centos7PXE和cobbler自動部署裝機

6、下面我們進行修改,改成我們自己制作的應答檔案

 ① 先修改一下檔案,把url的路徑修改為¥tree即可,此變量是cobbler自帶的變量

centos7PXE和cobbler自動部署裝機

② 把應答檔案拷貝到cobbler的指定的應答檔案檔案目錄裡

centos7PXE和cobbler自動部署裝機

③ 把yum源和菜單進行關聯,要寫絕對路徑,否則找不着 

centos7PXE和cobbler自動部署裝機

④ 導入完成後,檢視一下菜單,可以把自帶的兩個删除,隻留下我們新添加的兩個

cat /var/lib/tftpboot/pxelinux.cfg/default

centos7PXE和cobbler自動部署裝機

7、重新開機cobbler服務,此時cobbler的配置已完成,找個新機器開機啟動即可,下面的兩項就是剛剛建立的新菜單項,選擇确認後就可以自動安裝了

centos7PXE和cobbler自動部署裝機

 以上就是Cobbler PEXkickstart,批量部署安裝的詳細步驟

如果對你有幫助的話可以點贊關注哦,謝謝支援