使用Cobbler批量部署Linux和Windows:Cobbler服務端部署(一)


本文記錄了我使用Cobbler批量安裝部署Linux和Windows系統的過程,文章主要分為三部分:Cobbler服務端的安裝配置、Linux發行版CentOS和Ubuntu的自動安裝部署、Windows 7系統的自動安裝部署。這里是第一部分關於Cobbler服務端的安裝配置,第二部分:使用Cobbler批量部署Linux和Windows:CentOS/Ubuntu批量安裝(二)、第三部分:使用Cobbler批量部署Linux和Windows:Windows系統批量安裝(三)

 

批量部署操作系統的相關環境

Cobbler服務端相關

操作系統:

CentOS Linux release 7.4 ,不推薦Debian/Ubuntu系列,原因是Cobbler是由RedHat公司開發,RedHat會使得Cobbler在RedHat/CentOS保持更新迭代,從而兼容易用,而Debian/Ubuntu系列則會在適配方面處於滯后狀態。實際情況是,Cobbler目前有三個大版本,分別為2.4.x、2.6.x、2.8.x,在CentOS 7上yum安裝的版本為2.8.2,而在Ubuntu 16.04上apt安裝的版本為2.4.1,基本上是最“古老”的版本了,並且Cobbler官網原先還提供2.4.x和2.6.x的deb安裝包,2.8.x版本之后不再提供。另外,2.4.x版本在部署的過程中會從指定域名下載一些數據,而該域名已經被Cobbler廢棄,因此無法解析DNS域名,導致安裝部署出現問題。

 

CentOS發行版

對於CentOS發行版的安裝測試,我測試了CentOS 6.6 x64和CentOS 7.4 x64,這兩個版本都是沒有問題的,32位版本沒有測試過。

 

Ubuntu發行版

對於Ubuntu發行版發行版的安裝測試,我測試了Ubuntu 16.04,該版本沒有問題,但是Ubuntu 14.10版本則不行,在導入過程中會因失敗而中止,最終查找原因是Cobbler會對每個發行版版本進行相關的簽名校驗,如果不支持該版本則會報錯。可以通過下面的命令進行查看:

cobbler signature report --name=ubuntu

結果如下:

從截圖中可以看到,並沒有發行版Ubuntu 14.10 (Utopic Unicorn)的簽名,因此該版本不被支持,推測該版本是短期支持版本,所以不被支持。

 

Windows發行版

對於Windows發行版,只測試了Windows 7 x64 SP1旗艦版( cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso ),Windows系統的自動安裝需要配合相關的Autounattend.xml自動應答文件進行。

 

接下來開始具體的配置說明。

一、Cobbler服務端環境部署

Cobbler體系結構示意圖:

Cobbler組件:

  • 發行版(distro) :表示一個操作系統,它承載了內核和initrd的信息,以及內核等其他數據。
  • 倉庫 (repository):保存了一個yum或者rsync倉庫的鏡像信息。
  • 配置文件(profile):包含了一個發行版(distro),一個kickstart文件以及可能的倉庫(repository),還包含了更多的內核參數等其他數據。
  • 系統(system):表示要定制的具體客戶機器,它包含了一個配置文件或一個鏡像,還包含了ip和mac地址,電源管理(地址,憑據,類型)以及更為專業的數據信息。
  • 鏡像(image):可替換一個包含不屬於此類別的文件的發行版對象(eg: 無法作為內核和initrd的對象)。

以上各個組件中, 發行版和配置文件為必須配置項。發行版distro 表示具體要導入安裝的系統,配置文件profile 表示對應系統的配置,系統system 則可以定制某一台具體的機器安裝,相當於一條數據庫記錄,可以省略。

Cobbler工作流程:

Server端 

第一步,啟動Cobbler服務 
第二步,進行Cobbler錯誤檢查,執行cobbler check命令 
第三步,進行配置同步,執行cobbler sync命令 
第四步,復制相關啟動文件文件到TFTP目錄中 
第五步,啟動DHCP服務,提供地址分配 
第六步,DHCP服務分配IP地址 
第七步,TFTP傳輸啟動文件 
第八步,Server端接收安裝信息 
第九步,Server端發送ISO鏡像與Kickstart文件

Client端 
第一步,客戶端以PXE模式啟動 
第二步,客戶端獲取IP地址 
第三步,通過TFTP服務器獲取啟動文件 
第四步,進入Cobbler安裝選擇界面 
第五步,客戶端確定加載信息 
第六步,根據配置信息准備安裝系統 
第七步,加載Kickstart文件 
第八步,傳輸系統安裝的其它文件 
第九步,進行安裝系統

 

環境:CentOS 7.4 x86_64 minimal 全新純凈系統一台,root 權限 。使用 cobbler 服務時,請保持防火牆關閉 

  • 安裝Cobbler
yum update -y
yum install epel-release -y
yum update -y
yum install cobbler dhcp -y

因為默認的倉庫中沒有 cobbler,所以需要安裝 epel-release 軟件來額外配置倉庫源,cobbler會在PXE安裝過程中為待安裝客戶機器分配IP地址,因此還需要安裝 DHCP 服務。在正確安裝 cobbler 之后,可以通過 cobbler 相關命令來查看和配置,如下:

默認安裝后,cobbler 服務還沒有啟動,使用相關命令會報錯,需要關閉防火牆並啟動 cobbler,並且應當將其設置為開機自啟該服務。如下: 

setenforce 0 #臨時關閉,重啟后失效,需重新關閉
vi /etc/selinux/config # ==> SELINUX=disabled 禁用
service firewalld stop #臨時關閉防火牆,如有iptables,也一並關閉,重啟后失效,需重新關閉
systemctl disable firewalld
systemctl start cobblerd systemctl enable cobblerd

 

  • Cobbler檢查

啟動服務后,開始進行相應檢查。如下:

cobbler check

該命令執行后,會報告一個錯誤,如下:

錯誤提示 HTTP 服務沒有運行,需要啟動 HTTP,並且應當將其設置為開啟自啟服務。如下:

systemctl start  httpd
systemctl enable httpd

再次檢查,如下:

依次解決上面的錯誤:

問題1、2:
修改配置文件 /etc/cobbler/settings

server: 192.168.1.x #修改為cobbler server端所在機器IP
next_server: 192.168.1.x #修改為cobbler server端所在機器IP

 

問題3:

開啟 tftp 服務

vi /etc/xinetd.d/tftp # ==> disable = no
systemctl start  tftp
systemctl enable tftp

 

問題4:

執行下列命令以下載網絡引導文件進行修復

cobbler get-loaders

 

問題5:

開啟 rsync 服務

systemctl start  rsyncd
systemctl enable rsyncd

 

問題6:

安裝 debmirror

yum install debmirror -y

 

問題7:

安裝 pykickstart

yum install pykickstart -y

 

問題8:

修改配置文件 /etc/cobbler/settings

default_password_crypted: "$1$root$j0bp.KLPyr.u9kgQ428D10"

上面的加密密碼使用下面的命令生成:

openssl passwd -1 -salt "test"  "123456"  #"test"可以為任意字符串, "123456"為密碼

 

問題9:

安裝 fence-agents

yum install fence-agents -y

按照以上步驟修復完問題之后,重啟 cobbler 服務,再次 check,如下:

service cobblerd restart
cobbler check

則會收到如下報告:

按照提示相應解決即可,如下:

最后再次check,如果輸出如下,則表明 cobber server 端安裝正常:

 如果做完以上操作仍不成功,可重啟系統后再次check。注意防火牆關閉,以及一些必要服務確保啟動。

 

  • Cobbler配置

在 cobber server 端安裝完並且 check 成功之后,接下來需要對cobbler做相應的配置,以便后續使用。

修改配置文件 /etc/cobbler/settings,需要關注的配置如下:

manage_dhcp: 1  #啟用dhcp管理
pxe_just_once: 1 #僅安裝一次

修改配置文件 /etc/cobbler/dhcp.template,需要關注的配置如下:

option routers             192.168.1.x; #修改為cobbler server端所在機器IP
option domain-name-servers 192.168.1.x; #修改為cobbler server端所在機器IP

在 cobber 配置更改之后,需要將所有的配置重新生成同步一次(尤其是 DHCP 配置文件),如下:

service cobblerd restart
cobbler sync
service cobblerd restart

由於啟用了 DHCP 管理,因此需要運行並設置 DHCP 開機自啟,如下:

systemctl start  dhcpd
systemctl enable dhcpd

至此,Cobber server 端安裝配置完成。(如不成功,請檢查防火牆和相應服務狀態)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM