前言:
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),全程複製粘貼後,沒有任何問題,若是你還有問題那說明什麼?
|
請認真看文檔作,先全照搬而後再自我發揮服務器
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官網
2.Cobbler各個組件之間關係:
主要目的配置網絡接口:
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服務
|