CentOS7實現Cobbler自動裝機

2020-09-24 12:00:41

CentOS7實現Cobbler自動裝機

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地址

二、環境搭建

1.安裝軟體包

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

2 設定cobbler組態檔

next_server: 192.168.117.135    #設定下一個伺服器還為本機,修改為本機IP地址
server: 192.168.117.135		#設定本機為cobbler伺服器
manage_dhcp: 1			#設定cobbler管理dhcp服務
pxe_just_once: 1			#防止使用者端重複安裝作業系統

3 設定dhcp服務

vim /etc/cobbler/dhcp.template

在這裡插入圖片描述

4 獲取引導檔案

cobbler get-loaders

引導檔案存放路徑

/var/lib/cobbler/loaders/pxelinux.0

5 同步重新整理設定

cobbler sync(可多次執行)

存取https://192.168.117.135/cobbler_web頁面
使用者名稱 cobbler 密碼 cobbler
在這裡插入圖片描述

6 匯入映象

cobbler import --path=/root/centos7/  --name=Centos7
--path=/root/centos7/  #映象掛載點
--name=Centos7    #匯入以後的名字

匯入後映象存放在/var/www/cobbler/ks_mirror/目錄下
在這裡插入圖片描述
列出映象cobbler list
在這裡插入圖片描述

7 生成root密碼

使用openssl工具生成root密碼
openssl passwd -1 -salt ‘wdh’ ‘123456’
在這裡插入圖片描述
使用此字串替換/etc/cobbler/settings中預設的密碼
在這裡插入圖片描述

8 NTP時間同步

安裝軟體包chrony

yum install -y chrony

同步阿里雲的時間伺服器地址
vim /etc/chrony.conf在這裡插入圖片描述

systemctl restart chronyd
systemctl enable chronyd

9 匯入ks應答檔案(可不用匯入,不匯入使用cobbler自帶的預設ks應答檔案)

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

10 cobbler check檢查設定是否有問題

若有問題按照提示依次解決錯誤

11 裝機測試