Cobbler是一個使用Python開發的開源專案,可以實現一個全自動批次快速建立Linux系統的網路安裝環境,本次實驗就是在CentOS7上搭建Cobbler環境。
Cobbler基本概念
— Cobbler是一款快速的網路系統部署工具
— 集中管理所需服務,如DHCP、DNS、TFTP、Web
— Cobbler內部整合了一個映象版本倉庫
— Cobbler內部還整合了一個ks應答檔案倉庫
— Cobbler還提供了包括yum源管理、Web介面管理、API介面、電源管理等功能
Centos7伺服器 1臺
Centos7的光碟映象
虛擬機器器網路卡採用NAT模式,不要使用橋接模式,DHCP伺服器,在同一區域網多個DHCP服務會有衝突。
VMware的NAT模式的dhcp服務要關閉,避免干擾。
避免干擾建議關閉防火牆和selinux
systemctl stop firewalld #關閉防火牆
systemctl disable firewalld #永久關閉
vim /etc/selinux/config # 修改檔案永久關閉selinux
SELINUX=disabled # 設定SELINUX的值為disabled
設定靜態IP地址
cobbler #Cobbler程式包
cobbler-web #Cobbler的Web服務包
tftp-server #TFTP服務
dhcp #DHCP服務
httpd #HTTP服務
pykickstart #Cobbler檢查kickstart語法軟體包
yum -y install cobbler cobbler-web tftp-server dhcp httpd pykickstart
next_server: 192.168.117.135 #設定下一個伺服器還為本機,修改為本機IP地址
server: 192.168.117.135 #設定本機為cobbler伺服器
manage_dhcp: 1 #設定cobbler管理dhcp服務
pxe_just_once: 1 #防止使用者端重複安裝作業系統
vim /etc/cobbler/dhcp.template
cobbler get-loaders
引導檔案存放路徑
/var/lib/cobbler/loaders/pxelinux.0
cobbler sync(可多次執行)
存取https://192.168.117.135/cobbler_web頁面
使用者名稱 cobbler 密碼 cobbler
cobbler import --path=/root/centos7/ --name=Centos7
--path=/root/centos7/ #映象掛載點
--name=Centos7 #匯入以後的名字
匯入後映象存放在/var/www/cobbler/ks_mirror/目錄下
列出映象cobbler list
使用openssl工具生成root密碼
openssl passwd -1 -salt ‘wdh’ ‘123456’
使用此字串替換/etc/cobbler/settings中預設的密碼
安裝軟體包chrony
yum install -y chrony
同步阿里雲的時間伺服器地址
vim /etc/chrony.conf
systemctl restart chronyd
systemctl enable chronyd
ks應答檔案的存放路徑 /var/lib/cobbler/kickstarts
將自定義的應答檔案匯入到/var/lib/cobbler/kickstarts
檢視匯入資訊及預設的ks檔案
cobbler report
寫完 ks 檔案之後,先通過 validateks 測試一下有沒有語法錯誤
cobbler validateks
指定ks檔案為我們上傳的ks檔案
cobbler profile edit --name Centos-7.2-x86_64 --kickstart=/var/lib/cobbler/kickstarts/Centos7.cfg
# --name Centos-7.2-x86_64 名字可隨意更改
# Centos7.cfg上傳的ks應答檔案
cobbler profile edit --name Centos-7.2-x86_64 --kopts='net.ifnames=0 biosdevname=0'
#修改安裝系統的核心引數,在CentOS7系統有一個地方變了,就是網路卡名變成eno16777736這種形式,但是為了運維標準化,我們需要將它變成我們常用的eth0,因此使用上面的引數。但要注意是CentOS7才需要上面的步驟,CentOS6不需要。
檢視使用的ks應答檔案
cobbler profile report
同步cobbler
cobbler sync
若有問題按照提示依次解決錯誤