Cobbler批量部署CentOS

簡(jiǎn)介

Cobbler是一個(gè)快速網(wǎng)絡(luò)安裝linux的服務(wù)贮尉,而且在經(jīng)過(guò)調(diào)整也可以支持網(wǎng)絡(luò)安裝windows。該工具使用python開(kāi)發(fā)赞辩,小巧輕便(才15k行python代碼)雌芽,使用簡(jiǎn)單的命令即可完成PXE網(wǎng)絡(luò)安裝環(huán)境的配置,同時(shí)還可以管理DHCP诗宣、DNS膘怕、以及yum倉(cāng)庫(kù)、構(gòu)造系統(tǒng)ISO鏡像召庞。今天這里只介紹在企業(yè)中利用cobbler進(jìn)行批量自動(dòng)化安裝centos篮灼。其他更多的功能這里不做介紹诅诱。如果想詳細(xì)了解cobbler請(qǐng)百度 Cobbler部署指南

一娘荡、實(shí)現(xiàn)過(guò)程

1.自動(dòng)安裝過(guò)程

簡(jiǎn)單的來(lái)說(shuō)客戶端的電腦網(wǎng)卡帶有并開(kāi)啟pxe功能炮沐,開(kāi)機(jī)會(huì)自動(dòng)獲取IP地址回怜、tftp地址玉雾、pexlinux文件名----->加載pxelinux.0复旬、內(nèi)核文件vmlinuz驹碍、偽文件系統(tǒng)initrd.img----->啟動(dòng)系統(tǒng)----->到pxelinux指定的tftp地址下載ks.cfg文件----->根據(jù)ks.cfg文件的去http凡恍、ftp咳焚、nfs尋找鏡像革半、安裝操作系統(tǒng)

客戶端<-------IP---------DHCP服務(wù)器
客戶端<----pxelinux----tftp服務(wù)器
客戶端<----default------tftp服務(wù)器
客戶端<-----ks.cfg------http又官、ftp六敬、nfs
客戶端<----鏡像地址---http外构、ftp审编、nfs
客戶端<----安裝系統(tǒng)---http垒酬、ftp件炉、nfs

2.基本配置文件結(jié)構(gòu)

pxe批量部署操作系統(tǒng)就是通過(guò)以下幾個(gè)服務(wù)共同完成的斟冕,cobbler工具是將幾者更加集中地進(jìn)行管理,使運(yùn)維人員不需要在乎底層的工作走净。這里只介紹了cobbler用于批量部署系統(tǒng)用到的服務(wù)以及相關(guān)的文件伏伯。

dhcp  /etc/dhcp/dhcp.conf     提供IP地址说搅,提供tftp服務(wù)器弄唧、pexlinux文件名

tftp  /var/lib/tftpboot/      提供初始內(nèi)核以偽文件系統(tǒng)
         \---vmlinuz          內(nèi)核文件
         \---initrd.img       偽文件系統(tǒng)
         \---menu.c32         菜單風(fēng)格
         \---pxelinux.0       啟動(dòng)文件
         \---pxelinux.cfg
             \---default      指定ks.cfg文件的路徑.ks.cfg指定了鏡像的地址與安裝的方式                            

httpd   /var/www/html/centos  提供ks.cfg或鏡像
ftp     /var/ftp/pub/centos   提供ks.cfg或鏡像

cobbler                       管理力工具候引,將幾者集中管理

3.cobbler命令的使用

cobbler commands      介紹
cobbler check         核對(duì)當(dāng)前設(shè)置是否有問(wèn)題
cobbler list          列出所有的cobbler元素
cobbler report        列出元素的詳細(xì)信息
cobbler sync          同步配置到數(shù)據(jù)目錄,更改配置最好都要執(zhí)行下
cobbler reposync      同步y(tǒng)um倉(cāng)庫(kù)
cobbler distro        查看導(dǎo)入的發(fā)行版系統(tǒng)信息
cobbler system        查看添加的系統(tǒng)信息
cobbler profile       查看配置信息

二澄干、實(shí)現(xiàn)步驟

1. 前期準(zhǔn)備

iptables -F
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
vim /etc/selinux/config
    修改為SELINUX=disabled

2.安裝軟件

yum install cobbler  dhcp tftp ftp httpd
systemctl  enable  cobblerd
systemctl  start  cobblerd
systemctl enable  tftp
systemctl start  tftp
systemctl enable httpd
systemctl start httpd

3.配置cobbler

  • 檢查cobbler配置文件麸俘,根據(jù)提示修改參數(shù)
    cobbler check可以檢查cobbler的各項(xiàng)參數(shù)从媚,以提示那些沒(méi)有修改好的錯(cuò)誤拜效,如果有些報(bào)錯(cuò)你更改后還在提示那么可以忽略提示。
cobbler check
  • 編輯cobbler配置文件
    每次修改cobbler的配置文件后都要重啟服務(wù)侮腹,并更新配置文件
vim /etc/cobbler/settings
next_server: 192.168.25.107      #設(shè)置tftp地址
manage_dhcp: 1                   #cobberl接管dhcp
server: 192.168.25.107           #cobbler的地址,也就是本機(jī)地址望抽。
pxe_just_once: 1                 #cobbler接管pxe

systemctl restart cobblerd       #重啟服務(wù)
cobbler sync                     #更新配置
  • 生成dhcp模板
    dhcp.template時(shí)cobberl的dhcp模板文件煤篙,當(dāng)cobberl更新配置時(shí)就會(huì)把這些模板文件覆蓋服務(wù)的配置文件辑奈。比如這個(gè)dhcp模板一旦執(zhí)行cobbler sync就會(huì)將dhcp的默認(rèn)模板就行覆蓋已烤。
vim /etc/cobbler/dhcp.template            #設(shè)定子網(wǎng)段胯究,限定可以分配的地址范圍
subnet 192.168.25.0 netmask 255.255.255.0 {
   range dynamic-bootp        192.168.25.100 192.168.25.254;
}
cobbler sync 
  • 生成啟動(dòng)文件
    當(dāng)安裝完tftp服務(wù)后會(huì)自動(dòng)在tftp的目錄下生成菜單文件裕循、啟動(dòng)文件净刮。前面也說(shuō)明了cobbler的機(jī)制時(shí)將自己的模板文件覆蓋至服務(wù)的配置文件淹父,但是cobbler默認(rèn)沒(méi)有菜單文件暑认、啟動(dòng)文件的模板穷吮。那就需要手動(dòng)創(chuàng)建cobbler的tftp模板文件捡鱼,可以通過(guò)外網(wǎng)直接下載驾诈,也可以將tftp的文件復(fù)制到cobbler中然后在通過(guò)cobbler修改即可乍迄。
#服務(wù)器連接了外網(wǎng)
cobbler get-loaders
#服務(wù)器沒(méi)有連接外網(wǎng)可以直接復(fù)制
cp /var/lib/tftpboot/{menu.c32,pxelinux.0} /var/lib/cobbler/loaders
  • 導(dǎo)入yum源
    導(dǎo)入的過(guò)程也就是cobbler將源文件復(fù)制到/var/www/cobbler/ks_mirror的過(guò)程闯两。/var/www時(shí)httpd服務(wù)目錄cobbler將鏡像源復(fù)制到httpd目錄中谅将,這個(gè)路徑也就是ISO的鏡像的路徑饥臂。可以通過(guò)導(dǎo)入不同的yum源來(lái)實(shí)現(xiàn)多系統(tǒng)安裝稽煤。
cobbler import --path=/mnt/cdrom/centos7 --name=centos7.3 --arch=x86_64
cobbler import --path=/mnt/cdrom/centos6 --name=centos6.9 --arch=x86_64
# --path  光盤(pán)的路徑酵熙,也可以使用ftp绿店、http等yum源地址
# --name 鏡像名稱可以隨便寫(xiě),便于cobbler的管理
# --acrh  指定架構(gòu)如果不指定架構(gòu)借嗽,cobbler會(huì)分別創(chuàng)建兩個(gè)架構(gòu)的鏡像
# 但是鏡像本身就是64位的所以創(chuàng)建兩個(gè)沒(méi)有必要恶导,因此直接指定架構(gòu)

cobbler distro list            #查看創(chuàng)建的yum源
  • 生成ks文件
    • 生成ks.cfg文件有兩種方式浸须,一種是通過(guò)vim手動(dòng)創(chuàng)建删窒,一種是通過(guò)工具生成肌索。我個(gè)人還是比較推薦工具生成,因?yàn)閗s.cfg文件配置眾多通過(guò)工具生成更加穩(wěn)定晕换。
    • cobbler在導(dǎo)入yum源時(shí)發(fā)現(xiàn)沒(méi)有合適的ks文件闸准,就默認(rèn)創(chuàng)建了一個(gè)ks文件但這個(gè)ks文件是不可用的夷家,直接將他刪除
    • 注意如果是手動(dòng)創(chuàng)建ks文件的話,要將本地啟動(dòng)設(shè)為默認(rèn)項(xiàng)瘾英,否則的話用戶沒(méi)有來(lái)得即選就直接安裝操作系統(tǒng),而你又正好配置了清空磁盤(pán)耳鸯、清空分區(qū)表膀曾,那用戶的系統(tǒng)將被重新安裝添谊。
# 刪除默認(rèn)創(chuàng)建的ks文件
cobbler profile list
cobbler profile remove --name=centos6.9-x86_64
cobbler profile remove --name=centos7.3-x86_64
# 創(chuàng)建ks文件
system-config-kickstart            #kickstart圖形化生成工具,生成完畢后記得點(diǎn)擊左上角的file將其保存
cp  centos6.cfg centos7.cfg /var/lib/cobbler/kickstarts/      #將生成的ks文件復(fù)制到cobbler模板目錄下

# 將創(chuàng)建的ks文件導(dǎo)入cobbler
cobbler profile add --name=centos6.9_desktop --distro=centos6.9-x86_64  --kickstart=/var/lib/cobbler/kickstarts/centos6.cfg
cobbler profile add --name=centos7.3_mini --distro=centos7.3-x86_64  --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg
# add          增加配置
# --name       名稱可以隨便寫(xiě)便于cobbler管理
# --distro     指定yum源扎瓶,也就是之前導(dǎo)入的yum源概荷,如果導(dǎo)入了多個(gè)yum源需要一一對(duì)應(yīng)
# --kickstart  自己生成ks文件的路徑误证,cobbler會(huì)將你自己生成的ks文件轉(zhuǎn)換成cobbler可以識(shí)別的ks文件

cobbler sync   同步配置

#創(chuàng)建完成的ks文件中url這一項(xiàng)可以使用$tree來(lái)代替愈捅。cobbler會(huì)自動(dòng)將其替代

三慈鸠、測(cè)試

將機(jī)器與cobbler接入同一vlan中林束,開(kāi)機(jī)后會(huì)自動(dòng)進(jìn)入pxelinux界面壶冒。讓用戶選擇是通過(guò)本地啟動(dòng)還是安裝操作系統(tǒng)∨痔冢現(xiàn)在只需要敲下回車(chē)即可自動(dòng)安裝操作系統(tǒng)。



四锨阿、cobbler的web端管理

cobbler可以通過(guò)安裝web服務(wù)使管理更加的便捷墅诡。

  1. 安裝
yum install cobbler-web
  1. 配置認(rèn)證方式
    打開(kāi)modules.conf配置文件末早,可以看到cobbler支持眾多的用戶登錄認(rèn)證方式然磷。常用的認(rèn)證方式有兩種認(rèn)證方式刊驴,第一種為cobbler默認(rèn)的authn_configfile通過(guò)配置文件認(rèn)證寡润。第二種為authn_pam通過(guò)PAM模塊來(lái)認(rèn)證即系統(tǒng)用戶梭纹。
  • 基于配置文件的認(rèn)證方式业踢。此方式為系統(tǒng)默認(rèn)的認(rèn)證方式知举,確認(rèn) module = authn_configfile即可雇锡。
# 修改配置文件
vim /etc/cobbler/modules.conf
     [authentication] 
     module = authn_configfile      #   <-------僅修改了這里

# 創(chuàng)建認(rèn)證用戶 aubin锰提,僅在創(chuàng)建第一用戶時(shí)使用 -c選項(xiàng)創(chuàng)建后續(xù)的用戶則不在使用
# 倒數(shù)第二個(gè)參數(shù)是relam的名稱必須為Cobbler且第一個(gè)字母為大寫(xiě)
htdigest -c /etc/cobbler/users.digest Cobbler aubin
  • 基于PAM模塊的認(rèn)證立肘,通過(guò)PAM模塊將cobbler的認(rèn)證方式交給系統(tǒng)來(lái)認(rèn)證。
# 修改配置文件
vim /etc/cobbler/modules.conf
     [authentication]
     module = authn_pam            #   <-------僅修改了這里

#創(chuàng)建系統(tǒng)用戶茧痒,且設(shè)置為不可登陸
useradd -s /sbin/nologin  aubin

# 修改用戶文件
vim /etc/cobbler/users.conf
[admins]admin = "aubin"            #    <-------寫(xiě)入剛剛創(chuàng)建的系統(tǒng)用戶
  1. 測(cè)試登錄
    輸入創(chuàng)建的用戶即可登錄旺订,web界面的管理過(guò)于簡(jiǎn)單僅用鼠標(biāo)點(diǎn)擊點(diǎn)擊再點(diǎn)擊即可進(jìn)行管理区拳,如遇問(wèn)題請(qǐng)自行百度樱调。

五、常見(jiàn)錯(cuò)誤

  1. 如下圖的錯(cuò)誤經(jīng)常出現(xiàn)在虛擬機(jī)環(huán)境下伙窃,這時(shí)因?yàn)閯?chuàng)建的虛擬機(jī)內(nèi)存不夠大为障。將虛擬機(jī)關(guān)機(jī)調(diào)整需虛擬機(jī)內(nèi)最為1.5G以上呻右,就不會(huì)出現(xiàn)如下錯(cuò)誤鞋喇。
  1. 提示TFTP連接超時(shí)落塑,請(qǐng)檢查防火墻是否關(guān)閉。
  1. 選擇操作系統(tǒng)后可以出現(xiàn)下圖所示,加載內(nèi)核散吵、加載偽文件系統(tǒng)。那么就說(shuō)明各項(xiàng)服務(wù)包括cobbler配置沒(méi)有錯(cuò)誤晦款,如果之后再出現(xiàn)問(wèn)題缓溅,請(qǐng)排查yum源是否完整可用肛宋。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市沉帮,隨后出現(xiàn)的幾起案子穆壕,更是在濱河造成了極大的恐慌喇勋,老刑警劉巖旷偿,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件膨更,死亡現(xiàn)場(chǎng)離奇詭異荚守,居然都是意外死亡矗漾,警方通過(guò)查閱死者的電腦和手機(jī)踢俄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)缩功,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人都办,你說(shuō)我怎么就攤上這事嫡锌。” “怎么了琳钉?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵势木,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我歌懒,道長(zhǎng)啦桌,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任及皂,我火速辦了婚禮板驳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己婆跑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布驮审。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上缆镣,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音抄伍,去河邊找鬼啄糙。 笑死沈堡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了毛肋?” 一聲冷哼從身側(cè)響起趁桃,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蟀苛,失蹤者是張志新(化名)和其女友劉穎裆甩,沒(méi)想到半個(gè)月后茉帅,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體擂错,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡攒暇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年妒御,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了惋啃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绒瘦。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡频轿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情是掰,我是刑警寧澤江兢,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布世澜,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏糕档。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一陪捷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦症概、人聲如沸调炬。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至吧恃,卻和暖如春虾啦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工苞七, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留任内,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像烙懦,于是被迫代替她去往敵國(guó)和親氯析。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容