Cobbler-自動化部署神器01

前言:
python

網絡安裝服務器套件 Cobbler(補鞋匠)從前,咱們一直在作裝機民工這份頗有前途的職業。自打若干年前 Red Hat 推出了 Kickstart,此後咱們頓覺身價倍增。再也不須要刻了光盤一臺一臺地安裝 Linux,只要搞定 PXE、DHCP、 TFTP,還有那滿屏眼花繚亂不知所云的 Kickstart 腳本,咱們就能夠像哈里波特同樣,輕點魔棒,瞬間安裝上百臺服務器。這一堆花裏胡哨的東西可不是通常人都能整明白的,沒有大專以上學歷,通不過英語六級, 根本別想玩轉。總而言之,這是一份多麼有前途,多麼有技術含量的工做啊。linux

很不幸,Red Hat 最新(Cobbler項目最初在2008年左右發佈)發佈了網絡安裝服務器套件 Cobbler(補鞋匠),它已將 Linux 網絡安裝的技術門檻,從大專以上文化水平,成功下降到初中如下,連補鞋匠都能學會。web

對於咱們這些在裝機領域浸淫多年,經驗豐富,老驥伏櫪,志在千里的民工兄弟們來講,不啻爲一個晴天霹靂。windows

居然讓我沒法ZB豈有此理!!centos

筆者QQ:1760729969 【讓咱們共同窗習ZB技巧吧】bash


1
我又使用最新的centos7.3進行的安裝(2017.11.08),全程複製粘貼後,沒有任何問題,若是你還有問題那說明什麼?

j_0012.gif請認真看文檔作,先全照搬而後再自我發揮服務器

1. Cobbler介紹網絡

Cobbler是一個Linux服務器快速網絡安裝的服務,並且在通過調整也能夠支持網絡安裝windows。app

該工具使用python開發,小巧輕便(才15k行python代碼),能夠經過網絡啓動(PXE)的方式來快速安裝、重裝物理服務器和虛擬機,同時還能夠管理DHCP,DNS,TFTP、RSYNC以及yum倉庫、構造系統ISO鏡像。dom

Cobbler可使用命令行方式管理,也提供了基於Web的界面管理工具(cobbler-web),還提供了API接口,能夠方便二次開發使用。

Cobbler是較早前的kickstart的升級版,優勢是比較容易配置,還自帶web界面比較易於管理。

Cobbler內置了一個輕量級配置管理系統,但它也支持和其它配置管理系統集成,如Puppet,暫時不支持SaltStack。

Cobbler客戶端Koan支持虛擬機安裝和操做系統從新安裝,使重裝系統更便捷。


1)Cobbler能夠幹啥

使用Cobbler,您無需進行人工干預便可安裝機器。Cobbler設置一個PXE引導環境(它還可使用yaboot支持PowerPC),並 控制與安裝相關的全部方面,好比網絡引導服務(DHCP和TFTP)與存儲庫鏡像。當但願安裝一臺新機器時,Cobbler能夠:

1)使用一個之前定義的模板來配置DHCP服務(若是啓用了管理DHCP)

2)將一個存儲庫(yum或rsync)創建鏡像或解壓縮一個媒介,以註冊一個新操做系統

3)在DHCP配置文件中爲須要安裝的機器建立一個條目,並使用指定的參數(IP和MAC)

4)在TFTP服務目錄下建立適當的PXE文件

5)從新啓動DHCP服務來反應新的更改

6)從新啓動機器以開始安裝(若是電源管理已啓動)


2)Cobbler支持的系統和功能

Cobbler支持衆多的發行版:RedHat、Fedora、CentOS、Debian、Ubuntu和SUSE。當添加一個操做系統(一般經過使用ISO文件)時,Cobbler知道如何解壓縮合適的文件並調整網絡服務,以正確引導機器。

Cobbler可使用kickstart模板。基於Red Hat或 Fedora的系統使用kickstart文件來自動化安裝流程。經過使用模板,就會擁有基本的kickstart模板,而後定義如何針對一種配置文件或 機器配置而替換其中的變量。例如,一個模板可能包含兩個變量$domain和$machine_name.在Cobbler配置中,一個配置文件指定 domain=mydomain.com,而且每臺使用該配置文件的機器在machine_name變量中指定其名稱。該配置文件的全部機器都使用相同的 kickstart安裝且針對domain=mydomain.com進行配置,但每臺機器擁有其本身的機器名稱。您仍然可使用kickstart模板 在不一樣的域中安裝其餘機器並使用不一樣的機器名稱。

爲了協助管理系統,Cobbler可經過fence scripts鏈接到各個電源管理環境。Cobbler支持apc_snmp、bladecenter、bullpap、drac、 ether_wake、ilo、integrity、ipmilan、ipmitool、lpar、rsa、virsh和wti。要從新安裝一臺機器,可 運行reboot system foo命令,並且Cobbler會使用必要的 和信息來爲您運行恰當的fence scripts(好比機器插槽數)。

除了這些特性,還可使用一個配置管理系統(CMS)。你有兩種選擇:該工具內的一個內部系統,或者現成的外部CMS,好比Chef或 Puppet。藉助內部系統,你能夠指定文件模板,這些模板會依據配置參數進行處理(與kickstart模板的處理方式同樣),而後複製到你指定的位 置。若是必須自動將配置文件部署到特定機器,那麼此功能頗有用

使用koan客戶端,Cobbler可從客戶端配置虛擬機並從新安裝系統。

Cobbler官網

wKiom1dCxcGSLKQeAADZsuOaaOY616.jpg


2.Cobbler各個組件之間關係:

wKioL1dCyxTAinKaAAH0I6yzrL8642.jpg


主要目的配置網絡接口:

Cobbler知道如何更改文件系統以反應具體配置。由於系統配置的內部是抽象的,因此您能夠僅關注想要執行的操做。

3.基礎環境準備

centos6系列:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@cobbler ~] # cat /etc/redhat-release    #系統版本               
CentOS release 6.5 (Final)
[root@cobbler ~] # uname -r    #內核版本
2.6.32-431.el6.x86_64
[root@cobbler ~] # getenforce    #檢測selinux是否關閉(必須關閉)                          
Disabled
[root@cobbler ~] # /etc/init.d/iptables status    #檢測防火牆是否關閉(必須關閉)
iptables: Firewall is not running.
[root@cobbler ~] # ifconfig eth0|awk -F '[ :]+' 'NR==2 {print $4}'    #查看IP地址
10.0.0.71
[root@cobbler ~] # hostname    #查看主機名
cobbler
[root@cobbler ~] # wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
--2016-05-23 21:10:51--  http: //mirrors .aliyun.com /repo/epel-6 .repo
Resolving mirrors.aliyun.com... 115.28.122.210, 112.124.140.210
Connecting to mirrors.aliyun.com|115.28.122.210|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1083 (1.1K) [application /octet-stream ]
Saving to: 「 /etc/yum .repos.d /epel .repo」     #cobbler安裝必須使用到epel源
 
100%[====================================================================================>] 1,083       --.-K /s    in  0s

centos7系列:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@cobbler02 ~] # cat /etc/redhat-release     #系統版本
CentOS Linux release 7.2.1511 (Core) 
[root@cobbler02 ~] # uname -r                #內核版本
3.10.0-327.18.2.el7.x86_64
[root@cobbler02 ~] # getenforce              #檢測selinux是否關閉(必須關閉)
Disabled
[root@cobbler02 ~] # systemctl status firewalld    #檢測防火牆是否關閉(必須關閉)
● firewalld.service - firewalld - dynamic firewall daemon
    Loaded: loaded ( /usr/lib/systemd/system/firewalld .service; disabled; vendor preset: enabled)
    Active: inactive (dead)
[root@cobbler02 ~] # ifconfig eth0|awk -F '[ :]+' 'NR==2{print $3}'
192.168.31.73 
[root@cobbler02 ~] # hostname
cobbler02  
[root@cobbler02 ~] # wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
--2016-05-30 07:55:52--  http: //mirrors .aliyun.com /repo/epel-7 .repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 112.124.140.210, 115.28.122.210
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|112.124.140.210|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1084 (1.1K) [application /octet-stream ]
Saving to: ‘ /etc/yum .repos.d /epel .repo’
 
100%[===============================================================================================>] 1,084       --.-K /s    in  0s      
 
2016-05-30 07:55:52 (270 MB /s ) - ‘ /etc/yum .repos.d /epel .repo’ saved [1084 /1084 ]


4.安裝Cobbler

centos6系列:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[root@cobbler ~] # yum install cobbler cobbler-web pykickstart httpd dhcp tftp-server-y
cobbler             #cobbler程序包
cobbler-web         #cobbler的web服務包
pykickstart         #cobbler檢查kickstart語法錯誤
httpd               #Apache web服務
dhcp                #dhcp服務
tftp-server         #tftp服務
 
[root@cobbler ~] # rpm -ql cobbler  # 查看安裝的文件,下面列出部分。
/etc/cobbler                   # 配置文件目錄
/etc/cobbler/settings          # cobbler主配置文件,這個文件是yaml格式,cobbler是python寫的程序。
/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模塊配置文件
/var/lib/cobbler               # cobbler數據目錄
/var/lib/cobbler/config        # 配置文件
/var/lib/cobbler/kickstarts    # 默認存放kickstart文件
/var/lib/cobbler/loaders       # 存放的各類引導程序
/var/www/cobbler               # 系統安裝鏡像目錄
/var/www/cobbler/ks_mirror     # 導入的系統鏡像列表
/var/www/cobbler/p_w_picpaths        # 導入的系統鏡像啓動文件
/var/www/cobbler/repo_mirror   # yum源存儲目錄
/var/log/cobbler               # 日誌目錄
/var/log/cobbler/install .log   # 客戶端系統安裝日誌
/var/log/cobbler/cobbler .log   # cobbler日誌

centos7系列:

1
2
3
4
5
6
7
[root@cobbler02 ~] # yum install cobbler cobbler-web pykickstart httpd dhcp tftp-server -y
cobbler             #cobbler程序包
cobbler-web         #cobbler的web服務包
pykickstart         #cobbler檢查kickstart語法錯誤
httpd               #Apache web服務
dhcp                #dhcp服務
tftp-server         #tftp服務
相關文章
相關標籤/搜索